From d562e9199c96c5b0bb7061299edb4add9fc9e956 Mon Sep 17 00:00:00 2001 From: klaus Date: Mon, 24 Jul 2023 05:38:49 +0900 Subject: [PATCH] =?UTF-8?q?=ED=9A=8C=EC=9B=90=EA=B0=80=EC=9E=85,=20?= =?UTF-8?q?=EB=A1=9C=EA=B7=B8=EC=9D=B8=20=ED=8E=98=EC=9D=B4=EC=A7=80=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle | 2 + app/src/main/AndroidManifest.xml | 7 +- .../vividnext/sodalive/common/ApiBuilder.kt | 9 + .../vividnext/sodalive/common/ApiResponse.kt | 10 + .../co/vividnext/sodalive/common/Constants.kt | 8 + .../sodalive/common/LoadingDialog.kt | 49 ++ .../common/SharedPreferenceManager.kt | 30 ++ .../java/kr/co/vividnext/sodalive/di/AppDI.kt | 25 +- .../sodalive/extensions/NumberExtensions.kt | 18 + .../sodalive/settings/GetTermsResponse.kt | 8 + .../sodalive/settings/TermsActivity.kt | 84 ++++ .../vividnext/sodalive/settings/TermsApi.kt | 13 + .../sodalive/settings/TermsRepository.kt | 6 + .../sodalive/settings/TermsViewModel.kt | 92 ++++ .../sodalive/splash/SplashActivity.kt | 22 + .../kr/co/vividnext/sodalive/user/Gender.kt | 12 + .../kr/co/vividnext/sodalive/user/UserApi.kt | 28 ++ .../vividnext/sodalive/user/UserRepository.kt | 17 + .../find_password/FindPasswordActivity.kt | 67 +++ .../find_password/FindPasswordViewModel.kt | 61 +++ .../find_password/ForgotPasswordRequest.kt | 5 + .../sodalive/user/login/LoginActivity.kt | 123 +++++ .../sodalive/user/login/LoginRequest.kt | 8 + .../sodalive/user/login/LoginResponse.kt | 11 + .../sodalive/user/login/LoginViewModel.kt | 78 +++ .../sodalive/user/signup/SignUpActivity.kt | 254 ++++++++++ .../sodalive/user/signup/SignUpError.kt | 8 + .../sodalive/user/signup/SignUpRequest.kt | 14 + .../sodalive/user/signup/SignUpViewModel.kt | 241 ++++++++++ app/src/main/res/drawable-hdpi/loading_1.png | Bin 0 -> 6484 bytes app/src/main/res/drawable-hdpi/loading_2.png | Bin 0 -> 3832 bytes app/src/main/res/drawable-hdpi/loading_3.png | Bin 0 -> 3314 bytes app/src/main/res/drawable-hdpi/loading_4.png | Bin 0 -> 5207 bytes app/src/main/res/drawable-hdpi/loading_5.png | Bin 0 -> 4668 bytes .../btn_radio_select_normal.png | Bin 0 -> 509 bytes .../btn_radio_select_selected.png | Bin 0 -> 668 bytes .../drawable-xxhdpi/btn_select_checked.png | Bin 0 -> 544 bytes .../res/drawable-xxhdpi/btn_select_normal.png | Bin 0 -> 680 bytes app/src/main/res/drawable-xxhdpi/ic_back.png | Bin 0 -> 274 bytes .../main/res/drawable-xxhdpi/ic_camera.png | Bin 0 -> 479 bytes .../drawable-xxhdpi/ic_headphones_purple.png | Bin 0 -> 1316 bytes app/src/main/res/drawable-xxxhdpi/ic_logo.png | Bin 0 -> 56036 bytes .../drawable/bg_round_corner_10_9970ff.xml | 8 + .../drawable/bg_round_corner_16_7_222222.xml | 8 + .../drawable/bg_round_corner_33_3_9970ff.xml | 8 + .../drawable/bg_round_corner_6_7_222222.xml | 8 + .../drawable/bg_round_corner_6_7_9970ff.xml | 8 + .../bg_round_corner_8_transparent_9970ff.xml | 8 + .../main/res/drawable/edit_text_cursor.xml | 5 + .../main/res/drawable/edittext_underline.xml | 5 + .../drawable/edittext_underline_focused.xml | 22 + .../drawable/edittext_underline_normal.xml | 22 + .../res/drawable/ic_radio_button_select.xml | 5 + app/src/main/res/drawable/ic_select.xml | 5 + app/src/main/res/drawable/loading.xml | 8 + .../res/layout/activity_find_password.xml | 114 +++++ app/src/main/res/layout/activity_login.xml | 168 +++++++ app/src/main/res/layout/activity_signup.xml | 448 ++++++++++++++++++ app/src/main/res/layout/activity_terms.xml | 22 + app/src/main/res/layout/detail_toolbar.xml | 23 + app/src/main/res/layout/dialog_loading.xml | 22 + app/src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 9499 bytes app/src/main/res/mipmap-hdpi/ic_launcher.webp | Bin 1404 -> 0 bytes .../res/mipmap-hdpi/ic_launcher_round.webp | Bin 2898 -> 0 bytes app/src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 13194 bytes .../main/res/mipmap-xhdpi/ic_launcher.webp | Bin 1900 -> 0 bytes .../res/mipmap-xhdpi/ic_launcher_round.webp | Bin 3918 -> 0 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 20678 bytes .../main/res/mipmap-xxhdpi/ic_launcher.webp | Bin 2884 -> 0 bytes .../res/mipmap-xxhdpi/ic_launcher_round.webp | Bin 5914 -> 0 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 30142 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.webp | Bin 3844 -> 0 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.webp | Bin 7778 -> 0 bytes app/src/main/res/values/colors.xml | 8 + app/src/main/res/values/themes.xml | 5 + settings.gradle | 1 + 76 files changed, 2238 insertions(+), 3 deletions(-) create mode 100644 app/src/main/java/kr/co/vividnext/sodalive/common/ApiBuilder.kt create mode 100644 app/src/main/java/kr/co/vividnext/sodalive/common/ApiResponse.kt create mode 100644 app/src/main/java/kr/co/vividnext/sodalive/common/LoadingDialog.kt create mode 100644 app/src/main/java/kr/co/vividnext/sodalive/extensions/NumberExtensions.kt create mode 100644 app/src/main/java/kr/co/vividnext/sodalive/settings/GetTermsResponse.kt create mode 100644 app/src/main/java/kr/co/vividnext/sodalive/settings/TermsActivity.kt create mode 100644 app/src/main/java/kr/co/vividnext/sodalive/settings/TermsApi.kt create mode 100644 app/src/main/java/kr/co/vividnext/sodalive/settings/TermsRepository.kt create mode 100644 app/src/main/java/kr/co/vividnext/sodalive/settings/TermsViewModel.kt create mode 100644 app/src/main/java/kr/co/vividnext/sodalive/user/Gender.kt create mode 100644 app/src/main/java/kr/co/vividnext/sodalive/user/UserApi.kt create mode 100644 app/src/main/java/kr/co/vividnext/sodalive/user/UserRepository.kt create mode 100644 app/src/main/java/kr/co/vividnext/sodalive/user/find_password/FindPasswordActivity.kt create mode 100644 app/src/main/java/kr/co/vividnext/sodalive/user/find_password/FindPasswordViewModel.kt create mode 100644 app/src/main/java/kr/co/vividnext/sodalive/user/find_password/ForgotPasswordRequest.kt create mode 100644 app/src/main/java/kr/co/vividnext/sodalive/user/login/LoginActivity.kt create mode 100644 app/src/main/java/kr/co/vividnext/sodalive/user/login/LoginRequest.kt create mode 100644 app/src/main/java/kr/co/vividnext/sodalive/user/login/LoginResponse.kt create mode 100644 app/src/main/java/kr/co/vividnext/sodalive/user/login/LoginViewModel.kt create mode 100644 app/src/main/java/kr/co/vividnext/sodalive/user/signup/SignUpActivity.kt create mode 100644 app/src/main/java/kr/co/vividnext/sodalive/user/signup/SignUpError.kt create mode 100644 app/src/main/java/kr/co/vividnext/sodalive/user/signup/SignUpRequest.kt create mode 100644 app/src/main/java/kr/co/vividnext/sodalive/user/signup/SignUpViewModel.kt create mode 100644 app/src/main/res/drawable-hdpi/loading_1.png create mode 100644 app/src/main/res/drawable-hdpi/loading_2.png create mode 100644 app/src/main/res/drawable-hdpi/loading_3.png create mode 100644 app/src/main/res/drawable-hdpi/loading_4.png create mode 100644 app/src/main/res/drawable-hdpi/loading_5.png create mode 100644 app/src/main/res/drawable-xxhdpi/btn_radio_select_normal.png create mode 100644 app/src/main/res/drawable-xxhdpi/btn_radio_select_selected.png create mode 100644 app/src/main/res/drawable-xxhdpi/btn_select_checked.png create mode 100644 app/src/main/res/drawable-xxhdpi/btn_select_normal.png create mode 100644 app/src/main/res/drawable-xxhdpi/ic_back.png create mode 100644 app/src/main/res/drawable-xxhdpi/ic_camera.png create mode 100644 app/src/main/res/drawable-xxhdpi/ic_headphones_purple.png create mode 100644 app/src/main/res/drawable-xxxhdpi/ic_logo.png create mode 100644 app/src/main/res/drawable/bg_round_corner_10_9970ff.xml create mode 100644 app/src/main/res/drawable/bg_round_corner_16_7_222222.xml create mode 100644 app/src/main/res/drawable/bg_round_corner_33_3_9970ff.xml create mode 100644 app/src/main/res/drawable/bg_round_corner_6_7_222222.xml create mode 100644 app/src/main/res/drawable/bg_round_corner_6_7_9970ff.xml create mode 100644 app/src/main/res/drawable/bg_round_corner_8_transparent_9970ff.xml create mode 100644 app/src/main/res/drawable/edit_text_cursor.xml create mode 100644 app/src/main/res/drawable/edittext_underline.xml create mode 100644 app/src/main/res/drawable/edittext_underline_focused.xml create mode 100644 app/src/main/res/drawable/edittext_underline_normal.xml create mode 100644 app/src/main/res/drawable/ic_radio_button_select.xml create mode 100644 app/src/main/res/drawable/ic_select.xml create mode 100644 app/src/main/res/drawable/loading.xml create mode 100644 app/src/main/res/layout/activity_find_password.xml create mode 100644 app/src/main/res/layout/activity_login.xml create mode 100644 app/src/main/res/layout/activity_signup.xml create mode 100644 app/src/main/res/layout/activity_terms.xml create mode 100644 app/src/main/res/layout/detail_toolbar.xml create mode 100644 app/src/main/res/layout/dialog_loading.xml create mode 100644 app/src/main/res/mipmap-hdpi/ic_launcher.png delete mode 100644 app/src/main/res/mipmap-hdpi/ic_launcher.webp delete mode 100644 app/src/main/res/mipmap-hdpi/ic_launcher_round.webp create mode 100644 app/src/main/res/mipmap-xhdpi/ic_launcher.png delete mode 100644 app/src/main/res/mipmap-xhdpi/ic_launcher.webp delete mode 100644 app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp create mode 100644 app/src/main/res/mipmap-xxhdpi/ic_launcher.png delete mode 100644 app/src/main/res/mipmap-xxhdpi/ic_launcher.webp delete mode 100644 app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp create mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_launcher.png delete mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp delete mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp diff --git a/app/build.gradle b/app/build.gradle index feb3996..1082a6e 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -112,5 +112,7 @@ dependencies { // permission implementation "io.github.ParkSangGwon:tedpermission-normal:3.3.0" + implementation 'com.github.dhaval2404:imagepicker:2.1' + implementation 'com.google.android.gms:play-services-oss-licenses:17.0.1' } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index d5e7a2d..427ef57 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -2,6 +2,8 @@ + + + + + + build(retrofit: Retrofit, service: Class): T { + return retrofit.create(service) + } +} diff --git a/app/src/main/java/kr/co/vividnext/sodalive/common/ApiResponse.kt b/app/src/main/java/kr/co/vividnext/sodalive/common/ApiResponse.kt new file mode 100644 index 0000000..5b8fa5b --- /dev/null +++ b/app/src/main/java/kr/co/vividnext/sodalive/common/ApiResponse.kt @@ -0,0 +1,10 @@ +package kr.co.vividnext.sodalive.common + +import com.google.gson.annotations.SerializedName + +data class ApiResponse( + @SerializedName("success") val success: Boolean, + @SerializedName("data") val data: T? = null, + @SerializedName("message") val message: String? = null, + @SerializedName("errorProperty") val errorProperty: String? = null +) diff --git a/app/src/main/java/kr/co/vividnext/sodalive/common/Constants.kt b/app/src/main/java/kr/co/vividnext/sodalive/common/Constants.kt index 7c5f920..709f06e 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/common/Constants.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/common/Constants.kt @@ -1,4 +1,12 @@ package kr.co.vividnext.sodalive.common object Constants { + const val PREF_TOKEN = "pref_token" + const val PREF_EMAIL = "pref_email" + const val PREF_USER_ID = "pref_user_id" + const val PREF_NICKNAME = "pref_nickname" + const val PREF_PROFILE_IMAGE = "pref_profile_image" + + const val EXTRA_DATA = "extra_data" + const val EXTRA_TERMS = "extra_terms" } diff --git a/app/src/main/java/kr/co/vividnext/sodalive/common/LoadingDialog.kt b/app/src/main/java/kr/co/vividnext/sodalive/common/LoadingDialog.kt new file mode 100644 index 0000000..2be3abf --- /dev/null +++ b/app/src/main/java/kr/co/vividnext/sodalive/common/LoadingDialog.kt @@ -0,0 +1,49 @@ +package kr.co.vividnext.sodalive.common + +import android.app.Activity +import android.graphics.Color +import android.graphics.drawable.AnimationDrawable +import android.graphics.drawable.ColorDrawable +import android.view.LayoutInflater +import android.view.WindowManager +import androidx.appcompat.app.AlertDialog +import kr.co.vividnext.sodalive.databinding.DialogLoadingBinding +import kr.co.vividnext.sodalive.extensions.dpToPx + +class LoadingDialog( + activity: Activity, + layoutInflater: LayoutInflater +) { + private val alertDialog: AlertDialog + private val dialogView = DialogLoadingBinding.inflate(layoutInflater) + private val animationDrawable: AnimationDrawable + + init { + val dialogBuilder = AlertDialog.Builder(activity) + dialogBuilder.setView(dialogView.root) + + animationDrawable = dialogView.tvLoading.compoundDrawables[1] as AnimationDrawable + + alertDialog = dialogBuilder.create() + alertDialog.setCancelable(false) + alertDialog.window?.setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT)) + } + + fun show(width: Int, message: String = "") { + alertDialog.show() + animationDrawable.start() + dialogView.tvLoading.text = message + + val lp = WindowManager.LayoutParams() + lp.copyFrom(alertDialog.window?.attributes) + lp.width = width - (26.7f.dpToPx()).toInt() + lp.height = WindowManager.LayoutParams.WRAP_CONTENT + + alertDialog.window?.attributes = lp + } + + fun dismiss() { + animationDrawable.stop() + alertDialog.dismiss() + } +} diff --git a/app/src/main/java/kr/co/vividnext/sodalive/common/SharedPreferenceManager.kt b/app/src/main/java/kr/co/vividnext/sodalive/common/SharedPreferenceManager.kt index 9d32b41..0a22dd0 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/common/SharedPreferenceManager.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/common/SharedPreferenceManager.kt @@ -43,4 +43,34 @@ object SharedPreferenceManager { else -> throw UnsupportedOperationException("Error") } } + + var token: String + get() = sharedPreferences[Constants.PREF_TOKEN, ""] + set(value) { + sharedPreferences[Constants.PREF_TOKEN] = value + } + + var userId: Long + get() = sharedPreferences[Constants.PREF_USER_ID, 0] + set(value) { + sharedPreferences[Constants.PREF_USER_ID] = value + } + + var nickname: String + get() = sharedPreferences[Constants.PREF_NICKNAME, ""] + set(value) { + sharedPreferences[Constants.PREF_NICKNAME] = value + } + + var email: String + get() = sharedPreferences[Constants.PREF_EMAIL, ""] + set(value) { + sharedPreferences[Constants.PREF_EMAIL] = value + } + + var profileImage: String + get() = sharedPreferences[Constants.PREF_PROFILE_IMAGE, ""] + set(value) { + sharedPreferences[Constants.PREF_PROFILE_IMAGE] = value + } } diff --git a/app/src/main/java/kr/co/vividnext/sodalive/di/AppDI.kt b/app/src/main/java/kr/co/vividnext/sodalive/di/AppDI.kt index 9d838bc..f15a8b3 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/di/AppDI.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/di/AppDI.kt @@ -3,10 +3,20 @@ package kr.co.vividnext.sodalive.di import android.content.Context import com.google.gson.GsonBuilder import kr.co.vividnext.sodalive.BuildConfig +import kr.co.vividnext.sodalive.common.ApiBuilder import kr.co.vividnext.sodalive.network.TokenAuthenticator +import kr.co.vividnext.sodalive.settings.TermsApi +import kr.co.vividnext.sodalive.settings.TermsRepository +import kr.co.vividnext.sodalive.settings.TermsViewModel +import kr.co.vividnext.sodalive.user.UserApi +import kr.co.vividnext.sodalive.user.UserRepository +import kr.co.vividnext.sodalive.user.find_password.FindPasswordViewModel +import kr.co.vividnext.sodalive.user.login.LoginViewModel +import kr.co.vividnext.sodalive.user.signup.SignUpViewModel import okhttp3.OkHttpClient import okhttp3.logging.HttpLoggingInterceptor import org.koin.android.ext.koin.androidContext +import org.koin.androidx.viewmodel.dsl.viewModel import org.koin.core.context.startKoin import org.koin.dsl.module import retrofit2.Retrofit @@ -44,11 +54,22 @@ class AppDI(private val context: Context, isDebugMode: Boolean) { .client(get()) .build() } + + single { ApiBuilder().build(get(), UserApi::class.java) } + single { ApiBuilder().build(get(), TermsApi::class.java) } } - private val viewModelModule = module {} + private val viewModelModule = module { + viewModel { LoginViewModel(get()) } + viewModel { SignUpViewModel(get()) } + viewModel { TermsViewModel(get()) } + viewModel { FindPasswordViewModel(get()) } + } - private val repositoryModule = module {} + private val repositoryModule = module { + factory { UserRepository(get()) } + factory { TermsRepository(get()) } + } private val moduleList = listOf( networkModule, diff --git a/app/src/main/java/kr/co/vividnext/sodalive/extensions/NumberExtensions.kt b/app/src/main/java/kr/co/vividnext/sodalive/extensions/NumberExtensions.kt new file mode 100644 index 0000000..3925be6 --- /dev/null +++ b/app/src/main/java/kr/co/vividnext/sodalive/extensions/NumberExtensions.kt @@ -0,0 +1,18 @@ +package kr.co.vividnext.sodalive.extensions + +import android.content.res.Resources +import android.util.DisplayMetrics +import java.text.DecimalFormat + +fun Float.dpToPx(): Float { + val metrics = Resources.getSystem().displayMetrics + return this * (metrics.densityDpi.toFloat() / DisplayMetrics.DENSITY_DEFAULT) +} + +fun Int.dpToPx(): Float { + val metrics = Resources.getSystem().displayMetrics + return this.toFloat() * (metrics.densityDpi.toFloat() / DisplayMetrics.DENSITY_DEFAULT) +} + +fun Int.moneyFormat(): String = DecimalFormat("###,###").format(this) +fun Long.moneyFormat(): String = DecimalFormat("###,###").format(this) diff --git a/app/src/main/java/kr/co/vividnext/sodalive/settings/GetTermsResponse.kt b/app/src/main/java/kr/co/vividnext/sodalive/settings/GetTermsResponse.kt new file mode 100644 index 0000000..2a78780 --- /dev/null +++ b/app/src/main/java/kr/co/vividnext/sodalive/settings/GetTermsResponse.kt @@ -0,0 +1,8 @@ +package kr.co.vividnext.sodalive.settings + +import com.google.gson.annotations.SerializedName + +data class GetTermsResponse( + @SerializedName("title") val title: String, + @SerializedName("description") val description: String +) diff --git a/app/src/main/java/kr/co/vividnext/sodalive/settings/TermsActivity.kt b/app/src/main/java/kr/co/vividnext/sodalive/settings/TermsActivity.kt new file mode 100644 index 0000000..af0a33d --- /dev/null +++ b/app/src/main/java/kr/co/vividnext/sodalive/settings/TermsActivity.kt @@ -0,0 +1,84 @@ +package kr.co.vividnext.sodalive.settings + +import android.annotation.SuppressLint +import android.os.Bundle +import android.widget.Toast +import androidx.webkit.WebSettingsCompat +import androidx.webkit.WebViewFeature +import kr.co.vividnext.sodalive.base.BaseActivity +import kr.co.vividnext.sodalive.common.Constants +import kr.co.vividnext.sodalive.common.LoadingDialog +import kr.co.vividnext.sodalive.databinding.ActivityTermsBinding +import org.koin.android.ext.android.inject + +class TermsActivity : BaseActivity(ActivityTermsBinding::inflate) { + + private val viewModel: TermsViewModel by inject() + + private lateinit var loadingDialog: LoadingDialog + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + bindData() + + val terms = intent.getStringExtra(Constants.EXTRA_TERMS) ?: "terms" + if (terms == "privacy") { + viewModel.getPrivacyPolicy() + } else { + viewModel.getTermsOfService() + } + } + + @SuppressLint("SetJavaScriptEnabled") + override fun setupView() { + if (WebViewFeature.isFeatureSupported(WebViewFeature.FORCE_DARK)) { + WebSettingsCompat.setForceDark( + binding.webView.settings, + WebSettingsCompat.FORCE_DARK_ON + ) + } + + loadingDialog = LoadingDialog(this, layoutInflater) + binding.toolbar.tvBack.setOnClickListener { finish() } + + binding.webView.settings.apply { + javaScriptEnabled = false // 자바스크립트 실행 허용 + javaScriptCanOpenWindowsAutomatically = false // 자바스크립트에서 새창 실 행 허용 + setSupportMultipleWindows(false) // 새 창 실행 허용 + loadWithOverviewMode = true // 메타 태그 허용 + + useWideViewPort = true // 화면 사이즈 맞추기 허용 + setSupportZoom(false) // 화면 줌 허용 + builtInZoomControls = false // 화면 확대 축소 허용 여부 + } + } + + private fun bindData() { + viewModel.isLoading.observe(this) { + if (it) { + loadingDialog.show(screenWidth, "공지사항을 불러오고 있습니다.") + } else { + loadingDialog.dismiss() + } + } + + viewModel.toastLiveData.observe(this) { + it?.let { Toast.makeText(applicationContext, it, Toast.LENGTH_LONG).show() } + } + + viewModel.titleLiveData.observe(this) { + binding.toolbar.tvBack.text = it + } + + viewModel.termsLiveData.observe(this) { + val viewPort = + "" + val data = viewPort + it + binding.webView.loadData( + data, + "text/html; charset=utf-8", + "utf-8" + ) + } + } +} diff --git a/app/src/main/java/kr/co/vividnext/sodalive/settings/TermsApi.kt b/app/src/main/java/kr/co/vividnext/sodalive/settings/TermsApi.kt new file mode 100644 index 0000000..2a75b0e --- /dev/null +++ b/app/src/main/java/kr/co/vividnext/sodalive/settings/TermsApi.kt @@ -0,0 +1,13 @@ +package kr.co.vividnext.sodalive.settings + +import io.reactivex.rxjava3.core.Single +import kr.co.vividnext.sodalive.common.ApiResponse +import retrofit2.http.GET + +interface TermsApi { + @GET("/stplat/terms_of_service") + fun getTermsOfService(): Single> + + @GET("/stplat/privacy_policy") + fun getPrivacyPolicy(): Single> +} diff --git a/app/src/main/java/kr/co/vividnext/sodalive/settings/TermsRepository.kt b/app/src/main/java/kr/co/vividnext/sodalive/settings/TermsRepository.kt new file mode 100644 index 0000000..6ef562c --- /dev/null +++ b/app/src/main/java/kr/co/vividnext/sodalive/settings/TermsRepository.kt @@ -0,0 +1,6 @@ +package kr.co.vividnext.sodalive.settings + +class TermsRepository(private val api: TermsApi) { + fun getTermsOfService() = api.getTermsOfService() + fun getPrivacyPolicy() = api.getPrivacyPolicy() +} diff --git a/app/src/main/java/kr/co/vividnext/sodalive/settings/TermsViewModel.kt b/app/src/main/java/kr/co/vividnext/sodalive/settings/TermsViewModel.kt new file mode 100644 index 0000000..62af221 --- /dev/null +++ b/app/src/main/java/kr/co/vividnext/sodalive/settings/TermsViewModel.kt @@ -0,0 +1,92 @@ +package kr.co.vividnext.sodalive.settings + +import androidx.lifecycle.LiveData +import androidx.lifecycle.MutableLiveData +import com.orhanobut.logger.Logger +import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers +import io.reactivex.rxjava3.schedulers.Schedulers +import kr.co.vividnext.sodalive.base.BaseViewModel + +class TermsViewModel(private val repository: TermsRepository) : BaseViewModel() { + private val _titleLiveData = MutableLiveData() + val titleLiveData: LiveData + get() = _titleLiveData + + private val _termsLiveData = MutableLiveData() + val termsLiveData: LiveData + get() = _termsLiveData + + private val _toastLiveData = MutableLiveData() + val toastLiveData: LiveData + get() = _toastLiveData + + private var _isLoading = MutableLiveData(false) + val isLoading: LiveData + get() = _isLoading + + fun getTermsOfService() { + _isLoading.value = true + + compositeDisposable.add( + repository.getTermsOfService() + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe( + { + _isLoading.value = false + + if (it.success && it.data != null) { + _titleLiveData.postValue(it.data.title) + _termsLiveData.postValue(it.data.description) + } else { + if (it.message != null) { + _toastLiveData.postValue(it.message) + } else { + _toastLiveData.postValue( + "알 수 없는 오류가 발생했습니다. 다시 시도해 주세요." + ) + } + } + }, + { + _isLoading.value = false + it.message?.let { message -> Logger.e(message) } + _toastLiveData.postValue("알 수 없는 오류가 발생했습니다. 다시 시도해 주세요.") + } + ) + ) + } + + fun getPrivacyPolicy() { + _isLoading.value = true + + compositeDisposable.add( + repository.getPrivacyPolicy() + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe( + { + _isLoading.value = false + + if (it.success && it.data != null) { + _titleLiveData.postValue(it.data.title) + _termsLiveData.postValue(it.data.description) + } else { + if (it.message != null) { + _toastLiveData.postValue(it.message) + } else { + _toastLiveData.postValue( + "알 수 없는 오류가 발생했습니다. 다시 시도해 주세요." + ) + } + } + }, + { + _isLoading.value = false + it.message?.let { message -> Logger.e(message) } + _toastLiveData.postValue("알 수 없는 오류가 발생했습니다. 다시 시도해 주세요.") + } + ) + ) + } +} diff --git a/app/src/main/java/kr/co/vividnext/sodalive/splash/SplashActivity.kt b/app/src/main/java/kr/co/vividnext/sodalive/splash/SplashActivity.kt index 519adc7..7199506 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/splash/SplashActivity.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/splash/SplashActivity.kt @@ -6,8 +6,10 @@ import android.os.Bundle import android.os.Handler import android.os.Looper import kr.co.vividnext.sodalive.base.BaseActivity +import kr.co.vividnext.sodalive.common.SharedPreferenceManager import kr.co.vividnext.sodalive.databinding.ActivitySplashBinding import kr.co.vividnext.sodalive.main.MainActivity +import kr.co.vividnext.sodalive.user.login.LoginActivity @SuppressLint("CustomSplashScreen") class SplashActivity : BaseActivity(ActivitySplashBinding::inflate) { @@ -17,6 +19,14 @@ class SplashActivity : BaseActivity(ActivitySplashBinding override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) + if (SharedPreferenceManager.token.isBlank()) { + showLoginActivity() + } else { + showMainActivity() + } + } + + private fun showMainActivity() { handler.postDelayed({ startActivity( Intent(applicationContext, MainActivity::class.java).apply { @@ -28,5 +38,17 @@ class SplashActivity : BaseActivity(ActivitySplashBinding }, 500) } + private fun showLoginActivity() { + handler.postDelayed({ + startActivity( + Intent(applicationContext, LoginActivity::class.java).apply { + intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP) + intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP) + } + ) + finish() + }, 500) + } + override fun setupView() {} } diff --git a/app/src/main/java/kr/co/vividnext/sodalive/user/Gender.kt b/app/src/main/java/kr/co/vividnext/sodalive/user/Gender.kt new file mode 100644 index 0000000..7a0c27f --- /dev/null +++ b/app/src/main/java/kr/co/vividnext/sodalive/user/Gender.kt @@ -0,0 +1,12 @@ +package kr.co.vividnext.sodalive.user + +import com.google.gson.annotations.SerializedName + +enum class Gender { + @SerializedName("MALE") + MALE, + @SerializedName("FEMALE") + FEMALE, + @SerializedName("NONE") + NONE +} diff --git a/app/src/main/java/kr/co/vividnext/sodalive/user/UserApi.kt b/app/src/main/java/kr/co/vividnext/sodalive/user/UserApi.kt new file mode 100644 index 0000000..bd6bddc --- /dev/null +++ b/app/src/main/java/kr/co/vividnext/sodalive/user/UserApi.kt @@ -0,0 +1,28 @@ +package kr.co.vividnext.sodalive.user + +import io.reactivex.rxjava3.core.Single +import kr.co.vividnext.sodalive.common.ApiResponse +import kr.co.vividnext.sodalive.user.find_password.ForgotPasswordRequest +import kr.co.vividnext.sodalive.user.login.LoginRequest +import kr.co.vividnext.sodalive.user.login.LoginResponse +import okhttp3.MultipartBody +import okhttp3.RequestBody +import retrofit2.http.Body +import retrofit2.http.Multipart +import retrofit2.http.POST +import retrofit2.http.Part + +interface UserApi { + @POST("/member/login") + fun login(@Body request: LoginRequest): Single> + + @POST("/member/signup") + @Multipart + fun signUp( + @Part profileImage: MultipartBody.Part?, + @Part("request") request: RequestBody + ): Single> + + @POST("/member/forgot-password") + fun findPassword(@Body request: ForgotPasswordRequest): Single> +} diff --git a/app/src/main/java/kr/co/vividnext/sodalive/user/UserRepository.kt b/app/src/main/java/kr/co/vividnext/sodalive/user/UserRepository.kt new file mode 100644 index 0000000..e7508df --- /dev/null +++ b/app/src/main/java/kr/co/vividnext/sodalive/user/UserRepository.kt @@ -0,0 +1,17 @@ +package kr.co.vividnext.sodalive.user + +import kr.co.vividnext.sodalive.user.find_password.ForgotPasswordRequest +import kr.co.vividnext.sodalive.user.login.LoginRequest +import okhttp3.MultipartBody +import okhttp3.RequestBody + +class UserRepository(private val userApi: UserApi) { + fun login(request: LoginRequest) = userApi.login(request) + + fun signUp(profileImage: MultipartBody.Part?, request: RequestBody) = userApi.signUp( + profileImage, + request + ) + + fun findPassword(request: ForgotPasswordRequest) = userApi.findPassword(request = request) +} diff --git a/app/src/main/java/kr/co/vividnext/sodalive/user/find_password/FindPasswordActivity.kt b/app/src/main/java/kr/co/vividnext/sodalive/user/find_password/FindPasswordActivity.kt new file mode 100644 index 0000000..6b2cbdf --- /dev/null +++ b/app/src/main/java/kr/co/vividnext/sodalive/user/find_password/FindPasswordActivity.kt @@ -0,0 +1,67 @@ +package kr.co.vividnext.sodalive.user.find_password + +import android.content.Intent +import android.net.Uri +import android.os.Bundle +import android.widget.Toast +import com.jakewharton.rxbinding4.widget.textChanges +import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers +import io.reactivex.rxjava3.schedulers.Schedulers +import kr.co.vividnext.sodalive.base.BaseActivity +import kr.co.vividnext.sodalive.common.LoadingDialog +import kr.co.vividnext.sodalive.databinding.ActivityFindPasswordBinding +import org.koin.android.ext.android.inject + +class FindPasswordActivity : BaseActivity( + ActivityFindPasswordBinding::inflate +) { + + private val viewModel: FindPasswordViewModel by inject() + + private lateinit var loadingDialog: LoadingDialog + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + bindData() + } + + override fun setupView() { + loadingDialog = LoadingDialog(this, layoutInflater) + binding.toolbar.tvBack.text = "비밀번호 재설정" + binding.toolbar.tvBack.setOnClickListener { finish() } + + binding.tvServiceCenter.setOnClickListener { + startActivity( + Intent( + Intent.ACTION_VIEW, + Uri.parse("http://pf.kakao.com/_sZaeb") + ) + ) + } + + binding.tvFindPassword.setOnClickListener { viewModel.findPassword { finish() } } + } + + private fun bindData() { + compositeDisposable.add( + binding.etEmail.textChanges().skip(1) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe { + viewModel.email = it.toString() + } + ) + + viewModel.toastLiveData.observe(this) { + it?.let { Toast.makeText(applicationContext, it, Toast.LENGTH_LONG).show() } + } + + viewModel.isLoading.observe(this) { + if (it) { + loadingDialog.show(screenWidth, "") + } else { + loadingDialog.dismiss() + } + } + } +} diff --git a/app/src/main/java/kr/co/vividnext/sodalive/user/find_password/FindPasswordViewModel.kt b/app/src/main/java/kr/co/vividnext/sodalive/user/find_password/FindPasswordViewModel.kt new file mode 100644 index 0000000..ca5338a --- /dev/null +++ b/app/src/main/java/kr/co/vividnext/sodalive/user/find_password/FindPasswordViewModel.kt @@ -0,0 +1,61 @@ +package kr.co.vividnext.sodalive.user.find_password + +import androidx.lifecycle.LiveData +import androidx.lifecycle.MutableLiveData +import com.orhanobut.logger.Logger +import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers +import io.reactivex.rxjava3.schedulers.Schedulers +import kr.co.vividnext.sodalive.base.BaseViewModel +import kr.co.vividnext.sodalive.user.UserRepository + +class FindPasswordViewModel(private val repository: UserRepository) : BaseViewModel() { + + var email = "" + + private var _isLoading = MutableLiveData(false) + val isLoading: LiveData + get() = _isLoading + + private val _toastLiveData = MutableLiveData() + val toastLiveData: LiveData + get() = _toastLiveData + + fun findPassword(onSuccess: () -> Unit) { + if (email.isBlank()) { + _toastLiveData.postValue("이메일을 입력하세요.") + return + } + + _isLoading.value = true + val request = ForgotPasswordRequest(email = email) + compositeDisposable.add( + repository.findPassword(request) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe( + { + _isLoading.value = false + if (it.success) { + _toastLiveData.postValue( + "임시 비밀번호가 입력하신 이메일로 발송되었습니다. 이메일을 확인해 주세요." + ) + onSuccess() + } else { + if (it.message != null) { + _toastLiveData.postValue(it.message) + } else { + _toastLiveData.postValue( + "알 수 없는 오류가 발생했습니다. 다시 시도해 주세요." + ) + } + } + }, + { + _isLoading.value = false + it.message?.let { message -> Logger.e(message) } + _toastLiveData.postValue("알 수 없는 오류가 발생했습니다. 다시 시도해 주세요.") + } + ) + ) + } +} diff --git a/app/src/main/java/kr/co/vividnext/sodalive/user/find_password/ForgotPasswordRequest.kt b/app/src/main/java/kr/co/vividnext/sodalive/user/find_password/ForgotPasswordRequest.kt new file mode 100644 index 0000000..7b6d871 --- /dev/null +++ b/app/src/main/java/kr/co/vividnext/sodalive/user/find_password/ForgotPasswordRequest.kt @@ -0,0 +1,5 @@ +package kr.co.vividnext.sodalive.user.find_password + +import com.google.gson.annotations.SerializedName + +data class ForgotPasswordRequest(@SerializedName("email") val email: String) diff --git a/app/src/main/java/kr/co/vividnext/sodalive/user/login/LoginActivity.kt b/app/src/main/java/kr/co/vividnext/sodalive/user/login/LoginActivity.kt new file mode 100644 index 0000000..de37ec2 --- /dev/null +++ b/app/src/main/java/kr/co/vividnext/sodalive/user/login/LoginActivity.kt @@ -0,0 +1,123 @@ +package kr.co.vividnext.sodalive.user.login + +import android.content.Intent +import android.os.Bundle +import android.text.InputType +import android.widget.Toast +import com.jakewharton.rxbinding4.widget.textChanges +import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers +import io.reactivex.rxjava3.schedulers.Schedulers +import kr.co.vividnext.sodalive.base.BaseActivity +import kr.co.vividnext.sodalive.common.Constants +import kr.co.vividnext.sodalive.common.LoadingDialog +import kr.co.vividnext.sodalive.databinding.ActivityLoginBinding +import kr.co.vividnext.sodalive.main.MainActivity +import kr.co.vividnext.sodalive.user.find_password.FindPasswordActivity +import kr.co.vividnext.sodalive.user.signup.SignUpActivity +import org.koin.android.ext.android.inject + +class LoginActivity : BaseActivity(ActivityLoginBinding::inflate) { + + private val viewModel: LoginViewModel by inject() + + private lateinit var loadingDialog: LoadingDialog + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + + bindData() + } + + override fun setupView() { + binding.tvToolbar.text = "로그인" + loadingDialog = LoadingDialog(this, layoutInflater) + + binding.tvLogin.setOnClickListener { + viewModel.login { + it?.let { Toast.makeText(applicationContext, it, Toast.LENGTH_LONG).show() } + finishAffinity() + val nextIntent = Intent(applicationContext, MainActivity::class.java) + val extras = intent.getBundleExtra(Constants.EXTRA_DATA) + ?: if (intent.extras != null) { + intent.extras + } else { + null + } + if (extras != null) { + nextIntent.putExtra(Constants.EXTRA_DATA, extras) + } + intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP) + intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP) + startActivity(nextIntent) + } + } + + binding.tvSignUp.setOnClickListener { + val nextIntent = Intent(applicationContext, SignUpActivity::class.java) + val extras = intent.getBundleExtra(Constants.EXTRA_DATA) + ?: if (intent.extras != null) { + intent.extras + } else { + null + } + if (extras != null) { + nextIntent.putExtra(Constants.EXTRA_DATA, extras) + } + startActivity(nextIntent) + } + + binding.tvForgotPassword.setOnClickListener { + startActivity( + Intent( + applicationContext, + FindPasswordActivity::class.java + ) + ) + } + + binding.tvVisiblePassword.setOnClickListener { viewModel.onClickVisiblePassword() } + } + + private fun bindData() { + compositeDisposable.add( + binding.etEmail.textChanges().skip(1) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe { + viewModel.email = it.toString() + } + ) + + compositeDisposable.add( + binding.etPassword.textChanges().skip(1) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe { + viewModel.password = it.toString() + } + ) + + viewModel.toastLiveData.observe(this) { + it?.let { Toast.makeText(applicationContext, it, Toast.LENGTH_LONG).show() } + } + + viewModel.isLoading.observe(this) { + if (it) { + loadingDialog.show(screenWidth) + } else { + loadingDialog.dismiss() + } + } + + viewModel.visiblePasswordLiveData.observe(this) { + binding.tvVisiblePassword.isSelected = it + if (it) { + binding.etPassword.inputType = + InputType.TYPE_CLASS_TEXT or InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD + } else { + binding.etPassword.inputType = + InputType.TYPE_CLASS_TEXT or InputType.TYPE_TEXT_VARIATION_WEB_PASSWORD + } + } + } +} diff --git a/app/src/main/java/kr/co/vividnext/sodalive/user/login/LoginRequest.kt b/app/src/main/java/kr/co/vividnext/sodalive/user/login/LoginRequest.kt new file mode 100644 index 0000000..f11f179 --- /dev/null +++ b/app/src/main/java/kr/co/vividnext/sodalive/user/login/LoginRequest.kt @@ -0,0 +1,8 @@ +package kr.co.vividnext.sodalive.user.login + +import com.google.gson.annotations.SerializedName + +data class LoginRequest( + @SerializedName("email") val email: String, + @SerializedName("password") val password: String +) diff --git a/app/src/main/java/kr/co/vividnext/sodalive/user/login/LoginResponse.kt b/app/src/main/java/kr/co/vividnext/sodalive/user/login/LoginResponse.kt new file mode 100644 index 0000000..cdc8b4d --- /dev/null +++ b/app/src/main/java/kr/co/vividnext/sodalive/user/login/LoginResponse.kt @@ -0,0 +1,11 @@ +package kr.co.vividnext.sodalive.user.login + +import com.google.gson.annotations.SerializedName + +data class LoginResponse( + @SerializedName("userId") val userId: Long, + @SerializedName("token") val token: String, + @SerializedName("nickname") val nickname: String, + @SerializedName("email") val email: String, + @SerializedName("profileImage") val profileImage: String +) diff --git a/app/src/main/java/kr/co/vividnext/sodalive/user/login/LoginViewModel.kt b/app/src/main/java/kr/co/vividnext/sodalive/user/login/LoginViewModel.kt new file mode 100644 index 0000000..d2b8f5d --- /dev/null +++ b/app/src/main/java/kr/co/vividnext/sodalive/user/login/LoginViewModel.kt @@ -0,0 +1,78 @@ +package kr.co.vividnext.sodalive.user.login + +import androidx.lifecycle.LiveData +import androidx.lifecycle.MutableLiveData +import com.orhanobut.logger.Logger +import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers +import io.reactivex.rxjava3.schedulers.Schedulers +import kr.co.vividnext.sodalive.base.BaseViewModel +import kr.co.vividnext.sodalive.common.SharedPreferenceManager +import kr.co.vividnext.sodalive.user.UserRepository + +class LoginViewModel(private val repository: UserRepository) : BaseViewModel() { + + var email = "" + var password = "" + + private val _visiblePasswordLiveData = MutableLiveData(false) + val visiblePasswordLiveData: LiveData + get() = _visiblePasswordLiveData + + private val _toastLiveData = MutableLiveData() + val toastLiveData: LiveData + get() = _toastLiveData + + private var _isLoading = MutableLiveData(false) + val isLoading: LiveData + get() = _isLoading + + fun login(onSuccess: (String?) -> Unit) { + if (email.isBlank()) { + _toastLiveData.postValue("이메일을 입력하세요.") + return + } + + if (password.isBlank()) { + _toastLiveData.postValue("비밃번호를 입력하세요.") + return + } + + _isLoading.value = true + val request = LoginRequest(email, password) + compositeDisposable.add( + repository.login(request) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe( + { + _isLoading.value = false + if (it.success && it.data != null) { + SharedPreferenceManager.token = it.data.token + SharedPreferenceManager.email = it.data.email + SharedPreferenceManager.userId = it.data.userId + SharedPreferenceManager.nickname = it.data.nickname + SharedPreferenceManager.profileImage = it.data.profileImage + onSuccess(it.message) + } else { + if (it.message != null) { + _toastLiveData.postValue(it.message) + } else { + _toastLiveData.postValue( + "알 수 없는 오류가 발생했습니다. 다시 시도해 주세요." + ) + } + } + }, + { + _isLoading.value = false + it.message?.let { message -> Logger.e(message) } + _toastLiveData.postValue("알 수 없는 오류가 발생했습니다. 다시 시도해 주세요.") + } + ) + ) + } + + fun onClickVisiblePassword() { + _visiblePasswordLiveData.postValue(!_visiblePasswordLiveData.value!!) + } +} diff --git a/app/src/main/java/kr/co/vividnext/sodalive/user/signup/SignUpActivity.kt b/app/src/main/java/kr/co/vividnext/sodalive/user/signup/SignUpActivity.kt new file mode 100644 index 0000000..ea2bb51 --- /dev/null +++ b/app/src/main/java/kr/co/vividnext/sodalive/user/signup/SignUpActivity.kt @@ -0,0 +1,254 @@ +package kr.co.vividnext.sodalive.user.signup + +import android.content.Intent +import android.os.Bundle +import android.view.View +import android.widget.Toast +import androidx.activity.OnBackPressedCallback +import androidx.activity.result.contract.ActivityResultContracts +import coil.load +import coil.transform.RoundedCornersTransformation +import com.github.dhaval2404.imagepicker.ImagePicker +import com.jakewharton.rxbinding4.widget.textChanges +import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers +import io.reactivex.rxjava3.schedulers.Schedulers +import kr.co.vividnext.sodalive.base.BaseActivity +import kr.co.vividnext.sodalive.common.Constants +import kr.co.vividnext.sodalive.common.LoadingDialog +import kr.co.vividnext.sodalive.common.RealPathUtil +import kr.co.vividnext.sodalive.databinding.ActivitySignupBinding +import kr.co.vividnext.sodalive.extensions.dpToPx +import kr.co.vividnext.sodalive.main.MainActivity +import kr.co.vividnext.sodalive.settings.TermsActivity +import kr.co.vividnext.sodalive.user.Gender +import org.koin.android.ext.android.inject + +class SignUpActivity : BaseActivity(ActivitySignupBinding::inflate) { + + private val viewModel: SignUpViewModel by inject() + private val onBackPressedCallback = object : OnBackPressedCallback(true) { + override fun handleOnBackPressed() { + onClickBackButton() + } + } + + private lateinit var loadingDialog: LoadingDialog + + private val imageResult = + registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result -> + val resultCode = result.resultCode + val data = result.data + + if (resultCode == RESULT_OK) { + // Image Uri will not be null for RESULT_OK + val fileUri = data?.data!! + binding.ivProfile.background = null + binding.ivProfile.load(fileUri) { + crossfade(true) + transformations(RoundedCornersTransformation(13.3f.dpToPx())) + } + viewModel.profileImageUri = fileUri + } else if (resultCode == ImagePicker.RESULT_ERROR) { + Toast.makeText(this, ImagePicker.getError(data), Toast.LENGTH_SHORT).show() + } + } + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + onBackPressedDispatcher.addCallback(this, onBackPressedCallback) + + viewModel.getRealPathFromURI = { + RealPathUtil.getRealPath(applicationContext, it) + } + + bindData() + } + + override fun setupView() { + binding.toolbar.tvBack.text = "회원가입" + binding.toolbar.tvBack.setOnClickListener { onClickBackButton() } + + loadingDialog = LoadingDialog(this, layoutInflater) + + binding.ivPhotoPicker.setOnClickListener { + ImagePicker.with(this) + .crop() + .galleryOnly() + .galleryMimeTypes( // Exclude gif images + mimeTypes = arrayOf( + "image/png", + "image/jpg", + "image/jpeg" + ) + ) + .createIntent { imageResult.launch(it) } + } + + binding.tvMale.setOnClickListener { + viewModel.changeGender(Gender.MALE) + } + + binding.tvFemale.setOnClickListener { + viewModel.changeGender(Gender.FEMALE) + } + + binding.tvNone.setOnClickListener { + viewModel.changeGender(Gender.NONE) + } + + binding.tvTermsOfService.setOnClickListener { + val intent = Intent(applicationContext, TermsActivity::class.java) + intent.putExtra("terms", "terms") + startActivity(intent) + } + + binding.tvPrivacyPolicy.setOnClickListener { + val intent = Intent(applicationContext, TermsActivity::class.java) + intent.putExtra("terms", "privacy") + startActivity(intent) + } + + binding.ivTermsOfService.setOnClickListener { + viewModel.onClickCheckboxTermsOfService() + } + + binding.ivPrivacyPolicy.setOnClickListener { + viewModel.onClickCheckboxPrivacyPolicy() + } + + binding.tvSignUp.setOnClickListener { + viewModel.signUp { + it?.let { Toast.makeText(applicationContext, it, Toast.LENGTH_LONG).show() } + finishAffinity() + val nextIntent = Intent(applicationContext, MainActivity::class.java) + val extras = intent.getBundleExtra(Constants.EXTRA_DATA) + ?: if (intent.extras != null) { + intent.extras + } else { + null + } + if (extras != null) { + nextIntent.putExtra(Constants.EXTRA_DATA, extras) + } + startActivity(nextIntent) + } + } + } + + private fun bindData() { + compositeDisposable.add( + binding.etEmail.textChanges().skip(1) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe { + viewModel.email = it.toString() + } + ) + + compositeDisposable.add( + binding.etPassword.textChanges().skip(1) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe { + viewModel.password = it.toString() + } + ) + + compositeDisposable.add( + binding.etPasswordRe.textChanges().skip(1) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe { + viewModel.passwordRe = it.toString() + } + ) + + compositeDisposable.add( + binding.etNickname.textChanges().skip(1) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe { + viewModel.nickname = it.toString() + } + ) + + viewModel.isAgreeTermsOfServiceLiveData.observe(this) { + binding.ivTermsOfService.isSelected = it + } + + viewModel.isAgreePrivacyPolicyLiveData.observe(this) { + binding.ivPrivacyPolicy.isSelected = it + } + + viewModel.genderLiveData.observe(this) { + binding.tvMale.isSelected = false + binding.tvFemale.isSelected = false + binding.tvNone.isSelected = false + + when (it) { + Gender.MALE -> binding.tvMale.isSelected = true + Gender.FEMALE -> binding.tvFemale.isSelected = true + Gender.NONE -> binding.tvNone.isSelected = true + else -> { + } + } + } + + viewModel.signUpErrorLiveData.observe(this) { + Toast.makeText(applicationContext, it.message, Toast.LENGTH_LONG).show() + + when (it.errorProperty) { + "email" -> { + viewModel.setStep(step = SignUpViewModel.EmailSignUpStep.STEP_1) + binding.etEmail.error = it.message + binding.etEmail.requestFocus() + } + + "password" -> { + viewModel.setStep(step = SignUpViewModel.EmailSignUpStep.STEP_1) + binding.etPassword.error = it.message + binding.etPassword.requestFocus() + } + + "nickname" -> { + binding.etNickname.error = it.message + binding.etNickname.requestFocus() + } + } + } + + viewModel.isLoading.observe(this) { + if (it) { + loadingDialog.show(screenWidth) + } else { + loadingDialog.dismiss() + } + } + + viewModel.toastLiveData.observe(this) { + it?.let { Toast.makeText(applicationContext, it, Toast.LENGTH_LONG).show() } + } + + viewModel.stepLiveData.observe(this) { + if (it == SignUpViewModel.EmailSignUpStep.STEP_2) { + binding.toolbar.tvBack.text = "프로필 설정" + binding.tvSignUp.text = "회원가입" + binding.llStep1.visibility = View.GONE + binding.llStep2.visibility = View.VISIBLE + } else { + binding.toolbar.tvBack.text = "회원가입" + binding.tvSignUp.text = "다음" + binding.llStep1.visibility = View.VISIBLE + binding.llStep2.visibility = View.GONE + } + } + } + + private fun onClickBackButton() { + if (viewModel.stepLiveData.value!! == SignUpViewModel.EmailSignUpStep.STEP_2) { + viewModel.setStep(SignUpViewModel.EmailSignUpStep.STEP_1) + } else { + finish() + } + } +} diff --git a/app/src/main/java/kr/co/vividnext/sodalive/user/signup/SignUpError.kt b/app/src/main/java/kr/co/vividnext/sodalive/user/signup/SignUpError.kt new file mode 100644 index 0000000..e043ee7 --- /dev/null +++ b/app/src/main/java/kr/co/vividnext/sodalive/user/signup/SignUpError.kt @@ -0,0 +1,8 @@ +package kr.co.vividnext.sodalive.user.signup + +import com.google.gson.annotations.SerializedName + +data class SignUpError( + @SerializedName("errorProperty") val errorProperty: String, + @SerializedName("message") val message: String +) diff --git a/app/src/main/java/kr/co/vividnext/sodalive/user/signup/SignUpRequest.kt b/app/src/main/java/kr/co/vividnext/sodalive/user/signup/SignUpRequest.kt new file mode 100644 index 0000000..0e0647e --- /dev/null +++ b/app/src/main/java/kr/co/vividnext/sodalive/user/signup/SignUpRequest.kt @@ -0,0 +1,14 @@ +package kr.co.vividnext.sodalive.user.signup + +import com.google.gson.annotations.SerializedName +import kr.co.vividnext.sodalive.user.Gender + +data class SignUpRequest( + @SerializedName("email") val email: String, + @SerializedName("password") val password: String, + @SerializedName("nickname") val nickname: String, + @SerializedName("gender") val gender: Gender, + @SerializedName("isAgreeTermsOfService") val isAgreeTermsOfService: Boolean, + @SerializedName("isAgreePrivacyPolicy") val isAgreePrivacyPolicy: Boolean, + @SerializedName("container") val container: String = "aos" +) diff --git a/app/src/main/java/kr/co/vividnext/sodalive/user/signup/SignUpViewModel.kt b/app/src/main/java/kr/co/vividnext/sodalive/user/signup/SignUpViewModel.kt new file mode 100644 index 0000000..3cabc2a --- /dev/null +++ b/app/src/main/java/kr/co/vividnext/sodalive/user/signup/SignUpViewModel.kt @@ -0,0 +1,241 @@ +package kr.co.vividnext.sodalive.user.signup + +import android.net.Uri +import androidx.core.util.PatternsCompat +import androidx.lifecycle.LiveData +import androidx.lifecycle.MutableLiveData +import com.google.gson.Gson +import com.google.gson.annotations.SerializedName +import com.orhanobut.logger.Logger +import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers +import io.reactivex.rxjava3.schedulers.Schedulers +import kr.co.vividnext.sodalive.base.BaseViewModel +import kr.co.vividnext.sodalive.common.SharedPreferenceManager +import kr.co.vividnext.sodalive.user.Gender +import kr.co.vividnext.sodalive.user.UserRepository +import okhttp3.MediaType.Companion.toMediaType +import okhttp3.MultipartBody +import okhttp3.RequestBody.Companion.asRequestBody +import okhttp3.RequestBody.Companion.toRequestBody +import java.io.File + +class SignUpViewModel(private val repository: UserRepository) : BaseViewModel() { + enum class EmailSignUpStep { + @SerializedName("STEP_1") STEP_1, + @SerializedName("STEP_2") STEP_2 + } + + var email = "" + var password = "" + var passwordRe = "" + var nickname = "" + var profileImageUri: Uri? = null + + private val _genderLiveData = MutableLiveData(Gender.NONE) + val genderLiveData: LiveData + get() = _genderLiveData + + private val _isAgreeTermsOfServiceLiveData = MutableLiveData(false) + val isAgreeTermsOfServiceLiveData: LiveData + get() = _isAgreeTermsOfServiceLiveData + + private val _isAgreePrivacyPolicyLiveData = MutableLiveData(false) + val isAgreePrivacyPolicyLiveData: LiveData + get() = _isAgreePrivacyPolicyLiveData + + private val _signUpErrorLiveData = MutableLiveData() + val signUpErrorLiveData: LiveData + get() = _signUpErrorLiveData + + private val _toastLiveData = MutableLiveData() + val toastLiveData: LiveData + get() = _toastLiveData + + private var _isLoading = MutableLiveData(false) + val isLoading: LiveData + get() = _isLoading + + private val _stepLiveData = MutableLiveData(EmailSignUpStep.STEP_1) + val stepLiveData: LiveData + get() = _stepLiveData + + lateinit var getRealPathFromURI: (Uri) -> String? + + fun setStep(step: EmailSignUpStep = EmailSignUpStep.STEP_2) { + _stepLiveData.postValue(step) + } + + fun signUp(onSuccess: (String?) -> Unit) { + if (stepLiveData.value!! == EmailSignUpStep.STEP_1) { + if (validationStep1()) return + + setStep() + return + } + + if (validationStep2()) return + + val request = SignUpRequest( + email = email, + password = password, + nickname = nickname, + gender = _genderLiveData.value!!, + isAgreeTermsOfService = _isAgreeTermsOfServiceLiveData.value!!, + isAgreePrivacyPolicy = _isAgreePrivacyPolicyLiveData.value!! + ) + + val requestJson = Gson().toJson(request) + + val profileImage = if (profileImageUri != null) { + val file = File(getRealPathFromURI(profileImageUri!!)) + MultipartBody.Part.createFormData( + "profileImage", + file.name, + file.asRequestBody("image/*".toMediaType()) + ) + } else { + null + } + + _isLoading.value = true + compositeDisposable.add( + repository.signUp( + profileImage, + requestJson.toRequestBody("text/plain".toMediaType()) + ) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe( + { + if (it.success && it.data != null) { + SharedPreferenceManager.token = it.data.token + SharedPreferenceManager.email = it.data.email + SharedPreferenceManager.userId = it.data.userId + SharedPreferenceManager.nickname = it.data.nickname + SharedPreferenceManager.profileImage = it.data.profileImage + _isLoading.value = false + onSuccess(it.message) + } else { + _isLoading.value = false + if (it.errorProperty != null && it.message != null) { + _signUpErrorLiveData.postValue( + SignUpError(it.errorProperty, it.message) + ) + } else if (it.message != null) { + _toastLiveData.postValue(it.message) + } else { + _toastLiveData.postValue("알 수 없는 오류가 발생했습니다. 다시 시도해 주세요.") + } + } + }, + { + it.message?.let { message -> Logger.e(message) } + _toastLiveData.postValue("알 수 없는 오류가 발생했습니다. 다시 시도해 주세요.") + } + ) + ) + } + + private fun validationStep1(): Boolean { + if (email.isBlank()) { + _signUpErrorLiveData.postValue( + SignUpError( + "email", + "이메일을 입력하세요." + ) + ) + + return true + } + + if (password.isBlank()) { + _signUpErrorLiveData.postValue( + SignUpError( + "password", + "비밀번호를 입력하세요." + ) + ) + + return true + } + + if (password != passwordRe) { + _signUpErrorLiveData.postValue( + SignUpError( + "password", + "비밀번호가 일치하지 않습니다." + ) + ) + + return true + } + + if ( + !_isAgreePrivacyPolicyLiveData.value!! || + !_isAgreeTermsOfServiceLiveData.value!! + ) { + _signUpErrorLiveData.postValue( + SignUpError( + "", + "약관에 동의하셔야 회원가입이 가능합니다." + ) + ) + + return true + } + + if (!PatternsCompat.EMAIL_ADDRESS.matcher(email).matches()) { + _signUpErrorLiveData.postValue( + SignUpError( + "email", + "올바른 이메일을 입력해 주세요" + ) + ) + + return true + } + + if ( + "^(?=.*[A-Za-z])(?=.*\\d)[A-Za-z\\d$@!%*#?&]{8,}$" + .toRegex() + .matches(password) + .not() + ) { + _signUpErrorLiveData.postValue( + SignUpError( + "password", + "영문, 숫자 포함 8자 이상의 비밀번호를 입력해 주세요." + ) + ) + } + + return false + } + + private fun validationStep2(): Boolean { + if (nickname.isBlank() || nickname.length < 2) { + _signUpErrorLiveData.postValue( + SignUpError( + "nickname", + "닉네임은 2자 이상 입력해 주세요." + ) + ) + + return true + } + + return false + } + + fun onClickCheckboxTermsOfService() { + _isAgreeTermsOfServiceLiveData.postValue(!_isAgreeTermsOfServiceLiveData.value!!) + } + + fun onClickCheckboxPrivacyPolicy() { + _isAgreePrivacyPolicyLiveData.postValue(!_isAgreePrivacyPolicyLiveData.value!!) + } + + fun changeGender(gender: Gender) { + _genderLiveData.postValue(gender) + } +} diff --git a/app/src/main/res/drawable-hdpi/loading_1.png b/app/src/main/res/drawable-hdpi/loading_1.png new file mode 100644 index 0000000000000000000000000000000000000000..d916f59d67b35336c8ead0ef6c2fd6403f34ebf6 GIT binary patch literal 6484 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-hdpi/loading_2.png b/app/src/main/res/drawable-hdpi/loading_2.png new file mode 100644 index 0000000000000000000000000000000000000000..ee58be3da6ac2ae417d7702cfe0c4f8db2f31c03 GIT binary patch literal 3832 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 ZoZJ-NW;I$QTs(Vd?&=xqmcgA+{{#Hg%T)jX literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xxhdpi/btn_radio_select_normal.png b/app/src/main/res/drawable-xxhdpi/btn_radio_select_normal.png new file mode 100644 index 0000000000000000000000000000000000000000..40f508ac966062c49d4154dd31575a7b3d1d66f6 GIT binary patch literal 509 zcmeAS@N?(olHy`uVBq!ia0vp^HXzKw3=&b&bO2H;>5jgR3=A9lx&I`x0{M)^LGDfr z>(0r%1aiy*d_r8^3w$nJx^(&S<=eM!U%7JS>eZ`{9z6mwfFeKul)8598if7s-8&%n z>C>k`l{a3p^a4%bD+%%oW?1l2v@nLl`RK1@lA9~t-iEvb+T-o%;uzv_eChPtn+_{* zxK2$GnKk?0|MT-!y*x5UW$lj2S0<5%`4pNAw?F%nG}EJ{8GFadKA~(bn4jn=lK1PFGEkvwbl{&XIfk6Eg74y`}oU?nmymEzS-SN zKfWxzKjYYC>2GTJ%=X%L+0VVN#R%`d{J-{g{G{xc-=tQnZM(31#ZR-d?Vq%gg*9*Z zTn^M-xh|}AY1C?0c3v5+hiioPazFPwzV&tFTZ`TEietOc3j2tn)6t_BLouGQUjlp6PWJp6P~P4k*s`dDnh3Ab!t1L1Cr`y**zJHyxai!_gMR zD#{r$@4~@`K9wsx8_ZZt9aelz@|E9}x1pPFSJKAQvQpX`8rh_mZcyZtlHYhxRC?yY wMA>NJRjjF(^)()3l|-I0yBf4Cg8e@OU-0bpCwCT}1_n5Tr>mdKI;Vst0CD&7+W-In literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xxhdpi/btn_radio_select_selected.png b/app/src/main/res/drawable-xxhdpi/btn_radio_select_selected.png new file mode 100644 index 0000000000000000000000000000000000000000..57f23d15227225e1b3e3ca753b4b007263233a8d GIT binary patch literal 668 zcmV;N0%QG&P)Px#T2M?>MMrQ<)6@UVx&O?#|IN7n&AI>2zyHj){?5Ap z$+r8=x&O_$|1&c)nQ;Hixc@vlL1j^vLqJQ3ex^`OTBDT6XkmGYX5MyNxs+}7R7Z4w zV9Std?0j>Sxu@k*!m2L-000bhQchC<2%x6LbQk?Y_p{$046{f800GEJL_t(Y$E8>8 zwt^rK^aEWf9Yn;eZtwq^mpUnEnsj!48q*H5%d#ZNCeo_N#90!_v&f1nO`=g2g0KLI zqKu+eC|vqr1BR@&IEe||Yt$5ioTT1N|^?2|9P)5{!?-HQ3*Y%hp-ajW8?b zIePy~+w7qAYkK6fXprCVrP;;BZ<{a)7wBTRA-jW^0!w|Ud8J&-cj%K3d~FVJ^`TEM ztBIyGsQVH5J})IIU-i*Pie3osUzH-}`cUIBc~osj>>Lms^D z%58b_S~pS9v)_d~i}n}QUbl58Q^3R&*Jqg-=hzvOj$0i0HtiDUL_+=Imv>A-CWOhp zF^)V=>p?s+OE$|eR;pMGBbyD-ZO#sKw&Px#KTu3mMMrQlM7TSuv(8w{d+N^YGL(fv;ox`e*GB@depzt?Y){dKDVCQ z;OS#(>T0)d!GA;dk8QE`xn4bmX0Fw<)*cs=(Hvxb+8gX0Wv*buV`C;=`DEQSJY?&> z@5t26thd-0EaHJ_4P|&+LORQOcto1s zv#d9mMv^YD{;4EV^vPz@w?Kma{v5gNJtIYzSRWX%kX%UYJ9lfO_dZJbGa8dW^j<7j z@dUUO*-rvYq+YkLgw)GR`mA!pD|D<9%Pa1zwu0Bt@LDNe6US>GS&b{RW#%>OyfJ|{ ipfE=x=1^8K4!!{HG=^yyoU(NQ0000GZ zx^prwfgG&>pAc8~0-w&#&T=rQtgNi5si}a0s;Vj&vjQmpyL{^!pf28$AirP+j(u01 zM2mjERag`<>-X#@H4F?)%$_ceAr_~nhVJ%ab`+W0+bOUyq9$SWk5x=s8XYW)6tWau za&=s}9eol7Hs18x$i=c{gW#GsK^||MA@!yR`Myry(j`_otPp#0;zV;>xvmiSs?MxVLr7SrI*ygLLF z86vL9?q!uboT|I?q)Ko6LM8UkFE#iMi_70}-#xRfn>XgOEBEtA&07xbufv=aTDds3 zJb!RAazp4bi@&*#)s6qZ5uN`f`q6YF753>tFBPWNY}4!cv^u46y3_ZT)2W**#a-Q3 z^%~uCF*$xyVqfr+3s>3aOng|Jx#@(X{LDDvu8>bG@jRExqpQwz#B4vjqx8gEFL9&F zXOq6##2!umd%DEU&isIP)#2<{DPaz?EjPG^iI*B}e&Alf8yBivY!PCo(3ffyE;q|< zsra1JDS1&(ZUiuBq`Zp|5nEIqV#Mz)6Vh}~)QCT8j!@8@uoE__o=z+Cuat2L&6>h2 zy3gs^(+MJzOV@vm3h)Wid?w8`bNZr~6Rc||ynbe8U@~zbD=%+O*8jZ2%0)ZAzcA$0 zJAA{K$M^Dyvl2J{9lU?sR{L9>&Wn|eDtS-q`KP{|dAd%ep3&?@bl}<32f~5rgu&C* K&t;ucLK6VhgD8Oj literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xxhdpi/ic_back.png b/app/src/main/res/drawable-xxhdpi/ic_back.png new file mode 100644 index 0000000000000000000000000000000000000000..a0d3679c182a375cd74ede4902fd4aa5fe85de91 GIT binary patch literal 274 zcmeAS@N?(olHy`uVBq!ia0vp^HXzKx3?xrnI^qbVSkfJRf%L|H?mvmFKt5w}kh>GZ zx^prwfgF_ppAc8~0-yKq-+%h_>Cc}(K*qaw?||fo4rgWSDyieOFdm2Lo7}wCoIt4AP{&!`LxbnYmWXc58vIr{W0s_Ue@)` z?pgyGZyUltPYXP&9AnH}cUI1KwdtOeeinU`*V=y`W_<0sA?PeVUur+3L+wOb{- z`NS%G}U;vjb? zhIQv;UIIBb0X`wF?gc*o$p!rX7tFx@`h@6>NvlFFqrT49%4uBVzvWX~ z>?WXbrZM(74x;j6=|FfdwO8trFzAv+V z&ADT~&+aq2>C0Uooq21Mf7bNu*&`nht>r)W^;K7|`+nE`wx`;nz2ol11s0}@cufBK zcNhQsd=uo_^pKu_#ihMA%Ww&G+zUquvF4Iz~Na8H``1AFMNMVn0`ZJL>VH84-6X zk|wz}f4*{{ge}0DXJ$FwmlprJ zrTRn99NvRg>#wi}R7u2H|LOH=|NrychiHu#&&A5VM~R5`>=&7|=6QbqieKOU%$^q_ XtGe)5?GP)K~#7F?VC+< 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 UXy?PyLjVA90~7t~o6a%+1AAj|7ytkO literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable/bg_round_corner_10_9970ff.xml b/app/src/main/res/drawable/bg_round_corner_10_9970ff.xml new file mode 100644 index 0000000..871bd7f --- /dev/null +++ b/app/src/main/res/drawable/bg_round_corner_10_9970ff.xml @@ -0,0 +1,8 @@ + + + + + + diff --git a/app/src/main/res/drawable/bg_round_corner_16_7_222222.xml b/app/src/main/res/drawable/bg_round_corner_16_7_222222.xml new file mode 100644 index 0000000..a00cbf1 --- /dev/null +++ b/app/src/main/res/drawable/bg_round_corner_16_7_222222.xml @@ -0,0 +1,8 @@ + + + + + + diff --git a/app/src/main/res/drawable/bg_round_corner_33_3_9970ff.xml b/app/src/main/res/drawable/bg_round_corner_33_3_9970ff.xml new file mode 100644 index 0000000..64774f7 --- /dev/null +++ b/app/src/main/res/drawable/bg_round_corner_33_3_9970ff.xml @@ -0,0 +1,8 @@ + + + + + + diff --git a/app/src/main/res/drawable/bg_round_corner_6_7_222222.xml b/app/src/main/res/drawable/bg_round_corner_6_7_222222.xml new file mode 100644 index 0000000..c383f4c --- /dev/null +++ b/app/src/main/res/drawable/bg_round_corner_6_7_222222.xml @@ -0,0 +1,8 @@ + + + + + + diff --git a/app/src/main/res/drawable/bg_round_corner_6_7_9970ff.xml b/app/src/main/res/drawable/bg_round_corner_6_7_9970ff.xml new file mode 100644 index 0000000..fdfe26c --- /dev/null +++ b/app/src/main/res/drawable/bg_round_corner_6_7_9970ff.xml @@ -0,0 +1,8 @@ + + + + + + diff --git a/app/src/main/res/drawable/bg_round_corner_8_transparent_9970ff.xml b/app/src/main/res/drawable/bg_round_corner_8_transparent_9970ff.xml new file mode 100644 index 0000000..523e819 --- /dev/null +++ b/app/src/main/res/drawable/bg_round_corner_8_transparent_9970ff.xml @@ -0,0 +1,8 @@ + + + + + + diff --git a/app/src/main/res/drawable/edit_text_cursor.xml b/app/src/main/res/drawable/edit_text_cursor.xml new file mode 100644 index 0000000..b5c7323 --- /dev/null +++ b/app/src/main/res/drawable/edit_text_cursor.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/app/src/main/res/drawable/edittext_underline.xml b/app/src/main/res/drawable/edittext_underline.xml new file mode 100644 index 0000000..83f9cb5 --- /dev/null +++ b/app/src/main/res/drawable/edittext_underline.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/app/src/main/res/drawable/edittext_underline_focused.xml b/app/src/main/res/drawable/edittext_underline_focused.xml new file mode 100644 index 0000000..dfce781 --- /dev/null +++ b/app/src/main/res/drawable/edittext_underline_focused.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/edittext_underline_normal.xml b/app/src/main/res/drawable/edittext_underline_normal.xml new file mode 100644 index 0000000..bf8d2a4 --- /dev/null +++ b/app/src/main/res/drawable/edittext_underline_normal.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/ic_radio_button_select.xml b/app/src/main/res/drawable/ic_radio_button_select.xml new file mode 100644 index 0000000..a64e922 --- /dev/null +++ b/app/src/main/res/drawable/ic_radio_button_select.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/app/src/main/res/drawable/ic_select.xml b/app/src/main/res/drawable/ic_select.xml new file mode 100644 index 0000000..7457e3d --- /dev/null +++ b/app/src/main/res/drawable/ic_select.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/app/src/main/res/drawable/loading.xml b/app/src/main/res/drawable/loading.xml new file mode 100644 index 0000000..70b7f1e --- /dev/null +++ b/app/src/main/res/drawable/loading.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/app/src/main/res/layout/activity_find_password.xml b/app/src/main/res/layout/activity_find_password.xml new file mode 100644 index 0000000..216866f --- /dev/null +++ b/app/src/main/res/layout/activity_find_password.xml @@ -0,0 +1,114 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/activity_login.xml b/app/src/main/res/layout/activity_login.xml new file mode 100644 index 0000000..aa451eb --- /dev/null +++ b/app/src/main/res/layout/activity_login.xml @@ -0,0 +1,168 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/activity_signup.xml b/app/src/main/res/layout/activity_signup.xml new file mode 100644 index 0000000..8fb178f --- /dev/null +++ b/app/src/main/res/layout/activity_signup.xml @@ -0,0 +1,448 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/activity_terms.xml b/app/src/main/res/layout/activity_terms.xml new file mode 100644 index 0000000..7a989c5 --- /dev/null +++ b/app/src/main/res/layout/activity_terms.xml @@ -0,0 +1,22 @@ + + + + + + + + diff --git a/app/src/main/res/layout/detail_toolbar.xml b/app/src/main/res/layout/detail_toolbar.xml new file mode 100644 index 0000000..1005f86 --- /dev/null +++ b/app/src/main/res/layout/detail_toolbar.xml @@ -0,0 +1,23 @@ + + + + + + diff --git a/app/src/main/res/layout/dialog_loading.xml b/app/src/main/res/layout/dialog_loading.xml new file mode 100644 index 0000000..def0f5a --- /dev/null +++ b/app/src/main/res/layout/dialog_loading.xml @@ -0,0 +1,22 @@ + + + + + + diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher.png b/app/src/main/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..817bf7a316ccb1c1440fb63aff2a217a327e6cfb GIT binary patch literal 9499 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 Kmw_-CKmY()leWbG diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp deleted file mode 100644 index b2dfe3d1ba5cf3ee31b3ecc1ced89044a1f3b7a9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2898 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 diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/app/src/main/res/mipmap-xhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..475bce9ee80f5b6a17f3c3c2716f342e56940375 GIT binary patch literal 13194 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%0DpwkQ^Py)$;dOmUVJeirVDc(-MJ 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 h{B+L$S0d~UWf{&>Za7DNo6o6Gy zRq6Ap5(_{XLdXcL-MzlN`ugSdZY_`jXhcENAu)N_0?GhF))9R;E`!bo9p?g?SRgw_ zEXHhFG$0{qYOqhdX<(wE4N@es3VIo$%il%6xP9gjiBri+2pI6aY4 zJbgh-Ud|V%3O!IcHKQx1FQH(_*TK;1>FQWbt^$K1zNn^cczkBs=QHCYZ8b&l!UV{K z{L0$KCf_&KR^}&2Fe|L&?1I7~pBENnCtCuH3sjcx6$c zwqkNkru);ie``q+_QI;IYLD9OV0ZxkuyBz|5<$1BH|vtey$> z5oto4=l-R-Aaq`Dk0}o9N0VrkqW_#;!u{!bJLDq%0092{Ghe=F;(kn} z+sQ@1=UlX30+2nWjkL$B^b!H2^QYO@iFc0{(-~yXj2TWz?VG{v`Jg zg}WyYnwGgn>{HFaG7E~pt=)sOO}*yd(UU-D(E&x{xKEl6OcU?pl)K%#U$dn1mDF19 zSw@l8G!GNFB3c3VVK0?uyqN&utT-D5%NM4g-3@Sii9tSXKtwce~uF zS&Jn746EW^wV~8zdQ1XC28~kXu8+Yo9p!<8h&(Q({J*4DBglPdpe4M_mD8AguZFn~ ztiuO~{6Bx?SfO~_ZV(GIboeR9~hAym{{fV|VM=77MxDrbW6`ujX z<3HF(>Zr;#*uCvC*bpoSr~C$h?_%nXps@A)=l_;({Fo#6Y1+Zv`!T5HB+)#^-Ud_; zBwftPN=d8Vx)*O1Mj+0oO=mZ+NVH*ptNDC-&zZ7Hwho6UQ#l-yNvc0Cm+2$$6YUk2D2t#vdZX-u3>-Be1u9gtTBiMB^xwWQ_rgvGpZ6(C@e23c!^K=>ai-Rqu zhqT`ZQof;9Bu!AD(i^PCbYV%yha9zuoKMp`U^z;3!+&d@Hud&_iy!O-$b9ZLcSRh? z)R|826w}TU!J#X6P%@Zh=La$I6zXa#h!B;{qfug}O%z@K{EZECu6zl)7CiNi%xti0 zB{OKfAj83~iJvmpTU|&q1^?^cIMn2RQ?jeSB95l}{DrEPTW{_gmU_pqTc)h@4T>~& zluq3)GM=xa(#^VU5}@FNqpc$?#SbVsX!~RH*5p0p@w z;~v{QMX0^bFT1!cXGM8K9FP+=9~-d~#TK#ZE{4umGT=;dfvWi?rYj;^l_Zxywze`W z^Cr{55U@*BalS}K%Czii_80e0#0#Zkhlij4-~I@}`-JFJ7$5{>LnoJSs??J8kWVl6|8A}RCGAu9^rAsfCE=2}tHwl93t0C?#+jMpvr7O3`2=tr{Hg$=HlnjVG^ewm|Js0J*kfPa6*GhtB>`fN!m#9J(sU!?(OSfzY*zS(FJ<-Vb zfAIg+`U)YaXv#sY(c--|X zEB+TVyZ%Ie4L$gi#Fc++`h6%vzsS$pjz9aLt+ZL(g;n$Dzy5=m=_TV(3H8^C{r0xd zp#a%}ht55dOq?yhwYPrtp-m1xXp;4X;)NhxxUpgP%XTLmO zcjaFva^}dP3$&sfFTIR_jC=2pHh9kpI@2(6V*GQo7Ws)`j)hd+tr@P~gR*2gO@+1? zG<`_tB+LJuF|SZ9tIec;h%}}6WClT`L>HSW?E{Hp1h^+mlbf_$9zA>!ug>NALJsO{ mU%z=YwVD?}XMya)Bp;vlyE5&E_6!fzx9pwrdz474!~g(M6R?N? diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp deleted file mode 100644 index 1b9a6956b3acdc11f40ce2bb3f6efbd845cc243f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3918 zcmV-U53%r4Nk&FS4*&pHMM6+kP&il$0000G0001A003VA06|PpNSy@$00HoY|G(*G z+qV7x14$dSO^Re!iqt-AAIE9iwr$(CZQJL$blA4B`>;C3fBY6Q8_YSjb2%a=fc}4E zrSzssacq<^nmW|Rs93PJni30R<8w<(bK_$LO4L?!_OxLl$}K$MUEllnMK|rg=f3;y z*?;3j|Nh>)p0JQ3A~rf(MibH2r+)3cyV1qF&;8m{w-S*y+0mM){KTK^M5}ksc`qX3 zy>rf^b>~l>SSHds8(I@hz3&PD@LmEs4&prkT=BjsBCXTMhN$_)+kvnl0bLKW5rEsj z*d#KXGDB4P&>etx0X+`R19yC=LS)j!mgs5M0L~+o-T~Jl!p!AJxnGAhV%~rhYUL4hlWhgES3Kb5oA&X z{}?3OBSS-{!v$nCIGj->(-TAG)8LR{htr41^gxsT8yqt2@DEG6Yl`Uma3Nd4;YUoW zTbkYl3CMU5ypMF3EIkYmWL|*BknM`0+Kq6CpvO(y$#j94e+q{vI{Zp8cV_6RK!`&C zob$*5Q|$IZ09dW=L!V zw@#2wviu|<#3lgGE8GEhcx+zBt`} zOwP8j9X%^f7i_bth4PiJ$LYtFJSCN$3xwDN;8mr*B;CJwBP2G0TMq0uNt7S^DO_wE zepk!Wrn#Z#03j{`c*Rf~y3o7?J}w?tEELRUR2cgxB*Y{LzA#pxHgf}q?u5idu>077 zd^=p)`nA}6e`|@`p?u}YU66PP_MA}Zqqe!c{nK&z%Jwq1N4e_q<#4g^xaz=ao;u|6 zwpRcW2Lax=ZGbx=Q*HhlJ`Ns#Y*r0*%!T?P*TTiX;rb)$CGLz=rSUum$)3Qyv{BL2 zO*=OI2|%(Yz~`pNEOnLp>+?T@glq-DujlIp?hdJeZ7ctP4_OKx|5@EOps3rr(pWzg zK4d3&oN-X2qN(d_MkfwB4I)_)!I_6nj2iA9u^pQ{;GckGLxBGrJUM2Wdda!k)Y>lq zmjws>dVQ*vW9lvEMkiN3wE-__6OWD0txS&Qn0n22cyj4Q*8(nG4!G{6OOwNvsrPIL zCl-$W9UwkEUVuLwyD%|inbOF*xMODZ4VMEVAq_zUxZ+K#Gdqf!DW$5f)?7UNOFMz! zrB~tuu=6X2FE(p^iqgxr+?ZK;=yz`e;C$#_@D9Lj-+TDVOrva>(#*PVbaHO>A)mhl z07OJWCqYC60518$!&c`eNBcBW%GnfaQ*$eazV^2_AW?j)h;J1nUjN(I9=0+!RVx~% z3@Tf!P0TE+98jA?WceK-}A1% zW!K)lyKcGqy#M~})315-A#2NXQ`?6NR#Apo=S!oF=JfpX>iR*49ec{7AN$xxpK{D$ z2d%Fz&rdfSqourN$~Y^NFIMV1CZ?J*bMx~H3k&meGtH@q9ra2vZxmA$S(#jaaj-g4 ztJmxG+DLV<*q<|sDXPp$X>E)#S}Vm&sRaO5P&goh2><}FEdZSXDqsL$06sAkh(e+v zAsBhKSRexgwg6tIy~GFJzaTxXD(}|+0eOwFDA%rn`X;MVwDHT9=4=g%OaJ9s%3b9>9EUTnnp0t;2Zpa{*>mk~hZqItE_!dQ zOtC>8`$l|mV43Jbudf0N6&&X;{=z}Zi}d1`2qmJ}i|0*GsulD3>GgQXHN)pkR6sf1 z?5ZU%&xtL}oH;YiAA)d*^Ndw2T$+Mjuzyzz@-SM`9df7LqTxLuIwC~S0092~+=qYv z@*ja;?Wt!T!{U?c*Z0YtGe)XbI&y-?B&G2$`JDM)(dIV9G`Sc#6?sI60de6kv+)Qb zUW~2|WjvJq3TA8`0+sWA3zRhY9a~ow)O~&StBkG2{*{TGiY~S8ep{V&Vo2l<6LWsu z^#p0-v*t2?3&aA1)ozu|%efSR=XnpX$lvTeRdKlvM!@|pM5p2w3u-6 zU>}t2xiYLS+{|%C65AzX+23Mtlq?BS&YdYcYsVjoiE&rT>;Necn6l^K)T^lmE`5u{ zm1i+-a-gc;Z&v-{;8r)z6NYfBUv+=_L}ef}qa9FX01)+Aaf+;xj(mL6|JUzGJR1|fnanb%?BPPIp>SCjP|8qE5qJ{=n5ZGw?81z3(k;pzH%1CtlX50{E7h)$h{qGKfzC`e2o`*IqA#tjA z`Fz&^%$b9F*N`)U-#6>a)Z`55`$Dd0cfcs0$d13^ONrdCu9xcv_=n#WQo8stcz3jP9|2EvdI-RhJM3%Q%oM&!OlShM|0 z?gz?wHZSnm45njLtsz8PVT1S&jAlbKg5kVam$p16=EK@Sj4EP0OtH zmJDmdc^v)x>56Qg_wmYHz6h)>kl_h$>0@J!ypv%APmjZTAQVLy6Fu50RGY&JAVNhx zrF_qG6`x9MkT;1SFWo$)l{M$;3qUDn9JwE}z zRl#E_bDRJFii61kPgBybIgp8dNW!Cc1b*^YYk-#oWLJvtM_v^hQx~9?8LD4VFFxBF z3MlrsSC%f9Oupn*ctPL0U1fwfX?`tRhPD{PSLFPQOmIt$mDy0SgpNVvHS+f#Do>h1Gn?LZU9(KaN>Q_=Y*_T zvtD7%_u^^+{g`0VGzg(VZrpVQ6Ub5M=tI_p7T93R8@3Zulu3|#{iNcu!oiHxZ4Rf*( zfmiN$$ru(*_Zqn=`Gq#OuHRTSwp7uH_SokR&|)RuW5yo=Z|_4?qU-JU+tpt>!B&Is z@N(=SG;bpVc;AO@zbmMM zScqq1)b-ZQIrs={oD}|?6y{$HNB1U0^LsBh8JI&3!GBZxOXI<}&5-$lgkAaYqhOTb z?2vEnZ$-kk;*M_17(upJF3%+iH*s0-r{vttXVB2OUwI1s^+G(Ft(U8gYFXC}#P&E^ z>T@C^tS`Z7{6HT4_nF~n>JlZtk5&qDBl6r|^kzQYe`wq!C)n@$c>WOPA61NDFj<<6 zGW71NMMhwAl!U-yqrq2xrSFqRCI8acw7?}3j;ynxo*-b7Co;g5r%^j=H@9({PXXBf z@r>U>>N;E)81wx`B4f%{PB~MHka_);%kBCb(d|Jy5!MqJ%2p`t&@L)4$T2j&-WHvG zv3(uyA_gwqNu(k?jQTtv3dgPKRZoH8prxe7>pQBW5L&dpumS&5Ld2?(sCpJjvc4L5 zEnh&?91WVm)ZdTj=fjJ$pPDdgAttLXuke+?KdKxu?iMU~a18_tu1kR6?(S|2f#7iY?(Y5WU%2Vl zQ&sb7s=BAAYig>i>aHE0J*rYSqN(BtN5YUA0MYQ88lL23RT63b4V1lk@#Zb0xO8}h{cfvh)mvA zZg9)t@rXK}+EV>3fF>QOMpk6}2ImxMDg93-XjM;hQiZX=S~Y zy5s%rl>95bYQmHur=D4S@hvBZR_cjiEYlA4 zjQY!gEqzFq>}y;8==c1f0T;1&vwm zbERoy?M9%V%p*uKvh=1j|2twbp{+PCpId%Z;D_4cS|XwOem)h_LG|qcq-0n>gA|iz z>b6!+`v)$67WY)(la#Tvf8tmn(_Z!MakZPMH8HAd@Q-vp{G>1wD6Un;wbhu9lN`r${d)EBH-wm1)5w*J+ zsO1i)r;;>&Op3D~46Y$A5?0(uQvD`$6~`YD(?-vxKz%#J5KFc*pBj;A*Kd+`j|1_< zjEb9P$Bw2WUsQ0AUXp$T5ct(wF7L8h-jPZqe#Yt5rU7)94Gaua(gzk7LV?Ut0rLF2 zmMt(v$y+bX#Bj)dSJ^IitmaTib^w7HxM(o09<<>OqEQ$<1P+PqYZotM3w`hQJggP|)w1R>jPQ61=g;3cK=SpaV&;~Y!U^0kf_#(lB12|yCG095A zfO4O>!Y3$+N3bj;x6}Z*@X``UYS=W7`@|}XP-e8N&^j@^ z#DivtPq-7oR@vypV0?&HHk!wd8i=R>CSmuaIK;A2kvicKa3 zD2e94v>e1Yr#7M?k(biI^0f%(Tj0#Xd3Ez)JA$uCUxbUT$hifEjuLFvK!!Jt8zJ!K0Fx7adi zi_~tp*)rgqf(BuAv}fF1?46FX@}$(Hu~S8^lv9*J&YF4)vxBii;fPifPmW@NvQEl! zDn`n5`gQuY1_LfiJUeY_nxwvLb%{}#P;sDEW%YXXpM|Ki@kQo^^M&B~b~Natu4omTxVVEuS28?Fwgg zxGF13|fPafdl{6gy4opVdqP-;A$!y7BmrlwYCz^1y%U78O%P&TgVmSrOjzl)>Pul>2nc<&Fl#Li0-fr!R&Z&-It+W2X65CSs65bM@lNqrtaoi+& zUMu4YOaLIVdKKTqPVJhR_i1JMY*Fg#SJ_0_SGe#9%wchsbPiJRGOg=x{ zEm?*2opz*3_>$Qqeh}f3c@_VZU&tMa`1wHzLu^C)1mY`+BfhL8xon( zz?d}2Qi*ZN!f5@N(E*~$fqBUam)v)|=qJ?E#AjE`DU@y8cThMUr|8~tPJ0d(H?xgM zf@iD|_A0h?LhdIohO?k%)4S)B7|u-2`0NV3q?Of1?MCvw*L{V(j2q4Utly@pGm0rR zK$<-qOPmLK^eN=*7Hgep$E?+;pVyP-llq|JGozjkLXYW*`Rw6BA0ebX+$>LqQxwsB z(@}DzBU%?#GE7%ELpb)R-d~fyL{hV=q!#k_zG|f18ePzC(OfCs%d;w9X1UTHrY+m| z+jq^0l*Lq%%aKpTj#o|6SkYM*q-m6&&KuQ8(59H;e$ zOGQ72r%mL(__fRD^<~G82Fdo)pvvp1Tx0mIc%Psx*451pdOKC)a%t;RlZ~y7p6S0s zSD&A9-aHnAd)|g#`p8nq)W{NrR*VjHw7uj$W}Y3|4b(S%eE;qm%D#R9F03qFR9i3L zlf%j4$(p{V-HrEH77ynp|NOF?&mr3QMssPUPO8;bG^Pb!k-;|%G(2>gJ%iMp!rQ^sKbZQ4CA^t0n$?D@a$J6Ks1~wY zXb|EYV*PYBXxbaHNf1kZ;>Q{y{AzP)xY>rV#ozatD3KuWR^-pyOiam_PI8Q3ix7t= zl7|i-yZ%qFSxxmiro??w!2!U0ej%3q@u$*KKsZx=8ZI3PyaP}y0_HhId*4;J#+J& z+A~CRLKcESn77+^{!)maXypa}(fk38L5&b_SFWV+&wX{Y)|0nURt7Nr!w~_nP(%Q@ ze;CxiDgs6PKe!AO0|4fKUxx+&V(bC1|CdMQAN=q5&mI2np8o@(i=h99Bc%xD|Kb0! zYUAxE{{u*_a{3+s06y)16-r)%1_A(x0pz8`wS1v2gOCD^wObwpd`4DmPK0a`4A!7? zwP2A;HpMgcAZef_)xuRT7Lg#QS^7tk&hv@N-U<==1zR6d=E4;j^?z($QkZibtxBuK zngVq8>A;STfd|uLIz|j}amDt-tCoWe+1^+1A7d4)5Fjc37r8HzFH&O5 ze?-gR+kH1|H>?cp4wRi1?mJi!tY}vIA5lwtRewyoL(9Pgg&|g20zoi=Hi5Qe{YO}` zx`hb;CtMxL7eIs;CHlX$e*Ta69QShW_n&YDFw9I9!)w@oTJ;qF5qgRnrqllk*McSs zm66`X_)qI^gMY+tgS~hE|Ad!fLjXV~_hIRCW*6}b2?`X6(-z**L*csAKP!+^Yte&rzs8|Xn* zeoQnN!y+ndo+4;XF)T@3EG%T;x99WSi~@Jrf6v1GSpU_M2PXO`!)$e(?0>E>y&2BZU7FBX;(=c zQuCA2{U%*H)>N;Mh0U~+29QHEtU3h@)VGQGKmQGZN*2O-Q2>WNI59Mi2HDGwDz4oE z=d^*JDki08V8hlQZ`Nd%5utxy;D~Am3XaWjg!))~by!nrSS|WwYOKq+K8mh6#Lgc6 z^^v}-jSg-0i=e>?=IuV0&HIv{+5w?@STaswz4G?)GjJB+Oy@_)47QVFw+RWReo}1M z{dF4R;5O?%%0d3Wckpn7+V2)w90QT~tVr=B5mlMyUqeKhLJah*kNV`OZJlSCl8x#ZTAEvt34jxxcpSr zCTqrFcgj949Z#5hUvkm8i(-_yo{t$DsDNp_ zgguS~#8U%)T9}dbOjiPoG9Vc+|AsaL24nYBi&6qhHn(d1K9=Tv*YcBz;0f;Rl6D)5 zphGOaD!*z{mej|V>tU|`NMYdWpuL;8r|}Tq@|Bkq-*>|UtSEQ~WU0X!hW`0qm|`&- zSOY{_=f)4YBJ#}~{9hDEQos9qoNI{#A=krMw0N@^H6hHf6mt{nM!JS>(%Dr zW{McL6qVt~-p;94u?Mv(so8hjglKR0iYw7)k2oPeY zA8?73f0!TsWT;3p3(Va^W>HtDbds4hRi79FE>}ukW5L9qoSVKlTUSy%d(UF5XJd?s zkAvZhJZMg7;>04ckRHd$qSQbBY{>m*V#YVE(c)9p3#fEyir3W|88Wf@i4-W^gc`60 za*-6M;hS<&WZN?+JB6q}Gx2}J4kun?X9{8cLbW9OhMqW8{M4j{GimB$H+XjSkQaGxSXXe_(DnC-Xz2c{Lqz=quMIQR^)7*L2C@7}FgdGm}n*^h0F< zKD-YxvVQ&!gLj4wgL#@D@E`5f4oL*TbXvUvdkK-?A2$tM9=O4ZxD4mJT z$n)={Fv6-p3Tr<)L>wui621T%=AWIIP5PYUsdLNd4C+F1=cr2EIH+W!N&CTsEunPr zRaIaf#CJBug5O5}nNYcdU6iYxK^`|Ob&m20&OBVHW!<)H$sNL4dQQ9p;2Sd)e5biysmMIJgVg2ZmmlP=QnsoAVWcsy?0iA~lQ}!*4kD{2Nq4Gs zPp;`RQZ*aeJRUT&L-*{??9^4J?wHCX2-v%)m@s$@)|$y5`)z1#tk>T8(B-m#l#_yF z6RBW27kuMPQXO56EBZLtc=3f;Koupte%QDJR7PpdJ-j$B-DP} zp^uzw3-D<}7vA_GcTL`;rJSfk*FwtCA9Rct>dE;Pc?w?dtg(6K4oA)7Su*&7fJ>E8 z;rAGqcTd$W7`2s{OC6XWx%@V3kwU0|db?om|jZe}-lrf$L zF+|bSkm(;URo`1-`&4h>>uimNJO=@YPKEM zv7S32UkET^>*`~y)-a7%{!lS#wog^OOQTx#5kJ_T%}T9rL1Oltp(zSqNPT$Qi}<-5 zIG8G+MzBwX`LJG^{YARk%rT#?FN00rSQLTAN?0seIKZNgtw7d_)Y&dk){g{1I;hvH zfTVB8xfV~aUghB@_kVfZvGfaPLCj+>u~?*!c71TWq;1Unkxp zi(zGsI`UIs*sSAn<3(rMQTPLx1&pC@z63dIzmY(=zf$me)z!bOt__5rRQ{#ULkDHk z7_x5)K%Jg{+*Ma_W2q_vQ6r*Hng*^zT-yYl8<>~sdjE1CA?@#U9VaX(huzf7x~YqN|Yan3X|Ya9pfZe{tg0$3Av)bTM^vW6va7p zarlwt$c4HBHJm##oK=f|5gD}7j(2hJrg=LxG@R1=;PK63<`2P7Ab4ypBYnO8|b4Swb>^`8kwa}FT5|^^+y%R zcE#4U^i`w81USY<=CJw_0f0Q|GQ5F2yd16ufvkg9cuUmSME7qK{I*`)rOqL0Wk>d)d(Pv{`Te^Ci-#8&> znf$~FDIbOYc#%K+T1WzrC zcZ?o+Wu6&VrTF&anCgmb`h^`=&B_hBB%8~kj-n%$LR<%8=#r?r6cH(a8cdSh(wr~a zh1j#^jfug(tnk;B z{(0!rS}APnpWvazp)r-hEaw57-7U3YG;qW`l3eyV2*}mYhp?fNI6*%wBev){U4~5B zT-o=ek9CZ2G^K2fy(<{;voSo*OB4J=luAOXa!enOWJUbu33oJ1FPJ=6=Es4cDMrZo zDI*OB*Tk16g~5u8rU%p2rg^BUt!$&;MEC_-^rD6EPisf=X?BNcK5f%dB=Zp2L@m*5pnvm}soTl1z=43CTllk*wB zMQn0A8(-w(2E2JZmTB+R@`Y=ZF*GMAf@uE<-kq-q`&mtgHyRF0}V0#41bA}MLS zo$d9&CjCEm)wHSPa|LDRFXQiY6zG*LV-z8SkwZVRVTqs$By=gLqh(ni62!|sx{otm zaj!1#U79tGSNip)rbn8QmBlk|?jHXAKAl{TGZ;$Pn2uKc9^_HHTTQ-iHtdg~;N|fa z04T|xHZwdfoBn;uJHnnFKP}f{n@L}b-0Q_rG3#dsy#pVr2^J}X&1dH|h)z*CUiUJ= zaFe;%&EGK_IIf4w)u%oSrSx+bVeNn;CHIb_PNC^ocN2aFvC(oE(ETj6&L+Ild(V~u z#6^gPalC=0QoQR|PJJGbXJ&Wo z1zc4_H2*mi?-jl(HZo312y}p;V=aA`IU!c4f%rRC(Ls1bovC7-V6k@UUlX?Hre-6% zg|t~;sRG5rd1l09U>QLlUSl?3*|4B?60>c$4k}%_*KU{c?Re*mmqCnPwPkZCD-Rs$ z+BjtH&rqs)D;@Xma6RaNg&y~Jk|G_~b^hyo~Z66=nzLdMQ6&>EilVf_3!psxDycaG; z*=B?8<;kWKM!5XE5xS_Kl;6HU@kd(bIdOsh-c2itq2_6z??-2b6&6CvMfTB$M2FGa zlt8P7_I5q{2Z7C5H!6E|+GO`XM3%b3KYms`y;@sG`sr(mE(TYGU&{q{A7Vwccsl4( zvxm!nt?ZP;E?^GEI`()vMj{k~^8@%J_X~0IU(CV=0`WzNP{=2ft(}=3RR@z2RuOQ! z=yYIHN>uBgPC6aJHCMk;CiG{y==a=-hxySldpF-J+$9z&W=f7zb{B9t!om-uhjhpY z%mj*J;keDrGVD>MiG{^yr{p!*-j=;L8_ZI`mQJ{6TxZ5SAfflFwPxM zOME<)OiHU3;pL@St69m8F1N99Z9?)r+=+ee6Vt?k4$rN0y9(jgb?h>XoJjOZHNLe_ z!nA@Q_ucs-%C8xLchNlcUg@ZRW!K!Tf+Z{@`TiWjbfvy4^KEA$7TLbU43hlvfDLsI ziou0PvSPp>g(Bbk6P7-b8`zEzmR(ty66zx%8f7MvE=}t-g&QG_-u`Yp34`m8b48n3~-vl?Z8qMW%1ICrO-5h}+7B8B$V`!X=6& z<6<0i`Lwh}75m=w&PU3pEjhp1q$;u$isa|-e+f*AOT9c^DC|O~tIVrBE`G%o9#ZiJ z;2Js%hkY88(5`ab4u_eN3~>u_%O0k|L`3s_>2E>E!Xb4<(6VI(R=~6H>ceT)L3e4p z^nc9z3PLRhsB0U~YcwAuTv*>Ry^`NCXq&04CgkkGA7|N3rTtEX#=>f+6Qv){o%nEk zEj}GwG;KP9?$6!ickX3@QdKwL+Sywbe4Q&i{C3q&DKNcw;)Z;i$%zb`N{$wR`VRkZ z>ND-4_UY{&+oR6b4_#LgziwrI>%@44xxa4a#v_WC%WbCZjy-u2gTSqTOLj5uPzk4) z8;hr9zht`_ovl`4?Zo9l4}s@T8x)&E?c3jCgtvbmVzkQ+zO6U@*-eW&M1cZiea{*n zXJL;Q)-0?prsPMTab!UNg8HEz4x5N@pM78-6;Kf-R+dP7x&6?0i1~K{KZA;jkYI$@ zZtT`eXR^m?#?HnKp!90U4erc%lv-K2Ki9C%GS_T19T{J8L>&;8jET=T5YX{iB1#QR zf0G@MYarRbecVQz1YQuP zQ&m4oOJmqI1s%x6HSTg^abv;lUvBVUJqR!~CAOLFj063EFV22wH@bV!D+(yf9re1p}wi-G1)QvHc zGVoJ1T*? zV*)p+2dDBhJ3K}7$kvZM?AR+Gzxyk3964ja_KIfurG9@p{rL!Ip}33Yc6^QDe&$m` zon%xcA>lr|u5COj&(;>_sGAO_3a}g*`IygJ00wCHusdOgR6yt;0?Jc@(5~9w zf0*~g0PyILQv!6ouBBg;88L)n`Np#s`QMDE!rGvALy_{*U;-`DV2+j<(6fI~fXv=A zb^t}!?JYODpJyS)=I4*7W9)wQk42JiXd!m7vC6rL@Y8ri!KTPw#YuXAs`n(p?+r(_ zm6~*@tshk(H92&WV$1wby)zz)CNTctubdOL&_ku7n{4)td`%sFF~?6vy((i0P+xPg z=@tTi*(mVK>Xq3O`jRyYUItZdw%38t3A2TGz7o>``6y-fyYxjbGrhb~9n8Jh`J7#a%gmm2_65B+g1YA=*<(~G1ihh;Cc-qC0n zO65qJB(@V3VJj;Zrq#xa#O&9PT>#o=ZUlH&bWq=ctA=H69Y1D|wp*wWD?%nS0;p>f zHOI)-~p>eU7Gqp2Hib&JkcWkM{GQh?|VYc)N}??iK(`8mNC~|bv0&a zG!Gr_4J^`NH*Peo8N?s)LY$?kFs`HPruQ&t#Q&qyXN~aRfY9(^YA_55Ez4Oc*C#4{ zc1Gmm*=n%UB%bX%5%8K-cyuNS=hr_4yMxy%1kk0nQ3gf>^CJcrTCfpVI=_+>VL71d zNil=O29RMwRb4})|4lIa@SRW|=V+KfwQv|;0u|^PxgdYsn3;@H3$*dJ+sbjid(6?g zW#<6Wu%hj#Tuju)e6FEr9!k(8-tsxEXBbnPL>q+kGT@l2{@^mQX^+_-Fe*cord>Xd6+97e z^ZX6=LotCSzWqDoQ`hN%63A@Rl+Uu0-bgY79tiy*Pre@-LQ;&iLnuq4cfXH`evH}2 z`Y9Uf57sZSpk>$43TuAwLOKaxC2e3o)K;$)85JR$DGg>;eBq&J02^U4jBoomv_7!; z)%)ez?DpGz($MmP6LiC`ths6lQ{-Te?C9-uN^TmxfsXe3K+Wj0Exe6Vza)w~-t=^$ zI}e(<6%WtN{0^4_g2T`WYQme-Ju-6B+j4a1@G^Vo{MldP;nG z=CmkF-5t#v}kDCUW_qki4ZACdH1J0{=MlpPr`)&m#1L9 zDhL`CXB0B4hCbkTHmm0ubyIrgE0Z}cx_PlCP%TzD0{qzWGw^7WjhlR+YpH%Z8*s0X-hF-_< zxb9rLyMa+p;L*F`<6#2D;$bqi?9l0D7i9v4hW~xMCFe*W%1<1C6VjL&eUunhq9TQJ z;4S&ZDxr`X61WUX!Eu-Hpq?p27459@*^7M4mWwbi?J;IP%ILS7_P|>#c-o3kfl z+nX+0jyQ^#zOH3am0F0jY7g}Ge7Dm*9boj=*L~islHzN_W}kZ#3fE?~XaJ4_8iJkL zAqfOyVC&c}8ipui7cf8N4*sOgg8)D>iwvWw1~q(%hQTTu4wH)vQ(@Ty6uAu(B~x}- z8LL;Ak%oRRuWafgE;U8Vat!uh4w=1|@DUegGxg(k@?y|ap`rtamG55L-*VqNy?mO1 zHjK~xXgXd#s)8z78^3^c)p#7Yj6b;SsSzudSL+irpTqCP*`)2*)v93{B~lxsAw4c^ zg-vHk;TXN62%atCGqp2C?k#$EIwZG`L8<)VqQ0vDD)iY|FU6a2&5h4R=H2NXN|7rv z(slKGQn#atX|t4v16II5A!K8I<_B;CY(j^aKP}ht0Z4+8m6u0+lbE`rJV|6x^}#$zJF1x!U;N642d|0 zeqAT;vOTxntv5&JOVuk8(�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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp b/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp deleted file mode 100644 index 28d4b77f9f036a47549d47db79c16788749dca10..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2884 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�(p-{x$&=IACIfoAR!za)F-^da-t3#0Dycnp zwO~NVXwXCl;jE<}>%@xz|=8fIJAB?>+E{7)|4l${4ngA3G|=r z2Dyv;VVWSgZx9Wj>qUjleGl3Ei9K4>h!(lPS%8VOG>Xu0%6VDz^O=bjJmuP7>DeUv zrbI}MlHB^^d?{zv6d=@_ZD2lg1&G7UjnVN{1}9WkaM3H~btX0GtSzB+tZ^qRgWo4m z!GmimlG$=wgXCnr6j@m<1gAL46#T~5Bnm=2{^@>|t&`9mkEPddj zAvG~@Tv~TAm2i%VW}R-g(Z0)z-Y|szHr@rk>4MAyG*Ma*7Yh#H7(!-5>DZ@8r;_dx z{prSe<>~099F8vsYd2xff7uAS%7{S)f(|@me3t2$iy&NEc7OUEchp@9A|X;;IA>8!oX+y(BKJ$EzV* znR$z;!L$s7uy@{OT~nG#B!NRraT8(X##Ho!0r_o@gg0CA-9H^;-uE&?$2$nHv_00o z%cbuUc-tCx$Uh&EZ4Nf4Zgqv)Y6>usG3>GeQnxx_Z6+PcbX-+ysbt1hQ`K1LDpOE? zrAhIZhSN9yVIAOa22gn577tbc&i3|3V8NWy&!tw##`}9*x}gtI^h1DzZRA>UuaJG) zaZ7j)dq!O}{?#8Y7~7i6fHh4{`pL?>-18|p!S75Y#^DM>-S3)vuZG+Q7l@ek zQP~#cBpWgg#mApc_sPYjpw8odQuRokmTkzcNl`^CcKB7e&;zViV;{Y{o^Y$%7i0m# z62%#1Lq!RC?}lK>%mp}T!3Xv;L*0v*>USLm``N%>w>@fwC+#T&Tx2bN4w(20JB}oU zuSa6v^kXi0xPs?pbaOHnyiqq6By1EZY9OZ^^QA>{q-Hsd&m`pbQ%8121aWG-F5xf zlZ%;B{;C>X19|`^_?dVyCq>n+41w7|!tUS!{9rHlbhX=SZO5CQ^;!Du_E7*`GiR^Q w)2!4MKjfSAeN#N0 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp b/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp deleted file mode 100644 index aa7d6427e6fa1074b79ccd52ef67ac15c5637e85..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3844 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

UmY2RIYtNPVDpE$%vda+HD#3m z&VuXJ{BK&Qe+rBa7eq}Q(bq|tn(RrJAk|ztj2(i{d>nmQnM?;HF2k&9sA6up5tmjl z7lySlzMbifH17-m-Lwa_F&e7nOH?ESi3#ckR3tsM+jsck3`oG!uMS}|eAwVXv>}qxwq?QY%QJ0}r@^;fhuUA9W z*BVl>TGo&N004@xSiwDUXUvp51sVmqO3m)=B55aPwf@0=e}cN+$-BdKxY`YrT_4)0 z_d10#i44Q*rFr8MC>*)v$EJvz``(pb{e&*6k+b zsMz%($|1+8hn8c2?P(l@;Rb&CsZeYoCI3?2!LqjbwPXW3z4G$Qfj=cT5Yb%vY0(AX oeb?AaKtwrnc|$|zzw9vfvn^aJJ!zd)XFXqqy0000001=f@-~a#s diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index 9eb06a0..38df402 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -4,4 +4,12 @@ #FFFFFFFF #9970FF + #EEEEEE + #777777 + #BBBBBB + #222222 + #909090 + #3E3358 + + #B3909090 diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml index 2c85ba2..322502a 100644 --- a/app/src/main/res/values/themes.xml +++ b/app/src/main/res/values/themes.xml @@ -17,4 +17,9 @@ @color/black @color/black + + diff --git a/settings.gradle b/settings.gradle index 790a92a..1d64f28 100644 --- a/settings.gradle +++ b/settings.gradle @@ -10,6 +10,7 @@ dependencyResolutionManagement { repositories { google() mavenCentral() + maven { url 'https://jitpack.io' } } } rootProject.name = "SodaLive"