From 1a829f58a063c0556da8a4b85ba418f9310e7915 Mon Sep 17 00:00:00 2001 From: Phillip Thelen Date: Wed, 22 Jun 2022 10:33:51 +0200 Subject: [PATCH] rework login screen --- common/src/main/res/values/strings.xml | 4 +- .../habitica/ui/activities/LoginActivity.kt | 51 ++++++++++ wearos/src/main/res/drawable-mdpi/handoff.png | Bin 0 -> 321 bytes .../src/main/res/drawable-xhdpi/handoff.png | Bin 0 -> 496 bytes .../src/main/res/drawable-xxhdpi/handoff.png | Bin 0 -> 731 bytes wearos/src/main/res/drawable/ic_keyboard.xml | 5 + .../res/drawable/row_background_outline.xml | 5 + wearos/src/main/res/layout/activity_login.xml | 93 ++++++++++++++---- wearos/src/main/res/layout/row_header.xml | 2 +- wearos/src/main/res/values/strings.xml | 6 ++ wearos/src/main/res/values/styles.xml | 20 ++++ 11 files changed, 164 insertions(+), 22 deletions(-) create mode 100644 wearos/src/main/res/drawable-mdpi/handoff.png create mode 100644 wearos/src/main/res/drawable-xhdpi/handoff.png create mode 100644 wearos/src/main/res/drawable-xxhdpi/handoff.png create mode 100644 wearos/src/main/res/drawable/ic_keyboard.xml create mode 100644 wearos/src/main/res/drawable/row_background_outline.xml diff --git a/common/src/main/res/values/strings.xml b/common/src/main/res/values/strings.xml index 6e7b251e0..ca0db2249 100644 --- a/common/src/main/res/values/strings.xml +++ b/common/src/main/res/values/strings.xml @@ -33,11 +33,11 @@ Login Register Username - Email or Username + Email/Username Password Email address Confirm password - Login with Google + Sign in with Google Logout Log out of your account diff --git a/wearos/src/main/java/com/habitrpg/wearos/habitica/ui/activities/LoginActivity.kt b/wearos/src/main/java/com/habitrpg/wearos/habitica/ui/activities/LoginActivity.kt index deba31f62..4d448d8af 100644 --- a/wearos/src/main/java/com/habitrpg/wearos/habitica/ui/activities/LoginActivity.kt +++ b/wearos/src/main/java/com/habitrpg/wearos/habitica/ui/activities/LoginActivity.kt @@ -7,6 +7,7 @@ import android.content.Intent import android.os.Bundle import androidx.activity.result.contract.ActivityResultContracts import androidx.activity.viewModels +import androidx.core.view.isVisible import com.habitrpg.android.habitica.R import com.habitrpg.android.habitica.databinding.ActivityLoginBinding import com.habitrpg.wearos.habitica.ui.viewmodels.LoginViewModel @@ -14,7 +15,51 @@ import dagger.hilt.android.AndroidEntryPoint @AndroidEntryPoint class LoginActivity: BaseActivity() { + enum class State { + INITIAL, + OTHER, + INPUT + } override val viewModel: LoginViewModel by viewModels() + var currentState: State = State.INITIAL + set(value) { + field = value + when(value) { + State.INITIAL -> { + binding.descriptionView.isVisible = true + binding.signInOnPhoneButton.isVisible = true + binding.otherButton.isVisible = true + binding.googleLoginButton.isVisible = false + binding.registerButton.isVisible = false + binding.usernamePasswordButton.isVisible = false + binding.usernameEditText.isVisible = false + binding.passwordEditText.isVisible = false + binding.loginButton.isVisible = false + } + State.OTHER -> { + binding.descriptionView.isVisible = false + binding.signInOnPhoneButton.isVisible = false + binding.otherButton.isVisible = false + binding.googleLoginButton.isVisible = true + binding.registerButton.isVisible = true + binding.usernamePasswordButton.isVisible = true + binding.usernameEditText.isVisible = false + binding.passwordEditText.isVisible = false + binding.loginButton.isVisible = false + } + State.INPUT -> { + binding.descriptionView.isVisible = false + binding.signInOnPhoneButton.isVisible = false + binding.otherButton.isVisible = false + binding.googleLoginButton.isVisible = false + binding.registerButton.isVisible = false + binding.usernamePasswordButton.isVisible = false + binding.usernameEditText.isVisible = true + binding.passwordEditText.isVisible = true + binding.loginButton.isVisible = true + } + } + } override fun onCreate(savedInstanceState: Bundle?) { binding = ActivityLoginBinding.inflate(layoutInflater) @@ -24,9 +69,15 @@ class LoginActivity: BaseActivity() { startMainActivity() } + binding.signInOnPhoneButton.setOnClickListener { } + binding.otherButton.setOnClickListener { currentState = State.OTHER } + binding.usernamePasswordButton.setOnClickListener { currentState = State.INPUT } + binding.loginButton.setOnClickListener { loginLocal() } binding.googleLoginButton.setOnClickListener { loginGoogle() } binding.registerButton.setOnClickListener { openRegisterOnPhone() } + + currentState = State.INITIAL } private fun openRegisterOnPhone() { diff --git a/wearos/src/main/res/drawable-mdpi/handoff.png b/wearos/src/main/res/drawable-mdpi/handoff.png new file mode 100644 index 0000000000000000000000000000000000000000..3656b0163951124c85ea423ca7b5eafcac03a91e GIT binary patch literal 321 zcmeAS@N?(olHy`uVBq!ia0vp^f(SPjuU|Zp_g9p^mr|&7KcxI*Z+!E)=Z71oNpM81KR(x# z$Nh`^D^XDg!HHU()gM%}7c1}huVy5bY$e2yEK?X`;dVA)B9q3O%dg+e++cp-^^=JO z#YX)BPXufy&C>N&xiTks;mw%}FWZtoKiE z+&$NSg^cvA4Ij@23EnG+p0toLIdAWVrAL%xUmEVQEB>+7RQkT_W?RPilvq8%oakdf PA2N8l`njxgN@xNAG!=KO literal 0 HcmV?d00001 diff --git a/wearos/src/main/res/drawable-xhdpi/handoff.png b/wearos/src/main/res/drawable-xhdpi/handoff.png new file mode 100644 index 0000000000000000000000000000000000000000..864df57dd0b6a01ff719afb7f639129a7783cff3 GIT binary patch literal 496 zcmV~KPS+&P z#qaD`Q4;_MA{vSpiZ2`wzV?oy1RvC}z;Ok9R8qnukmy++imWjmJOFd{xS_a*bg+a0 zCo+e${Eo;Z$Rd)-h|B`V8;W;`i=lW3wg%RB4UwU1+CX2H+h?FhOR)+Z*Bg;jE2^_;uWzFD7weQAmC>KN=tL*%3c=w;T0 z*k2VzQ9}Ze4Gc&yDy1TI%&$8dxBcNeN3CWJ3H0PrQKB|A?%`N^n$|RJt>*t4L*XkE z8;YRF9mdbDW~ebFV&VEn`&r~wBgrBX7U^IDu*eqD(NZ#Nz=_n5Zd6{6_At#yf!eEv m`;Pvy+L@UZs+k3Z%cNX8B=Z2_LL#YIA(;V$ zjW7#62%mqK+0_tbxDsW!a#b>S4rTT_x3w)r{|DrROFxXMU4P03Q4_R%InaPFK9p_s`eG1eHV-fo3$ zu36W>@SJ^O-i#|zhAVLx&?l;xZYgStyqf{!5XLl9sF(RP3paO}y{ckDYF7x?f-W+B z;4x9Vk=QhICCYFm%5dcxWDdPgl93QL(kzh72Et}*7D&cdmc9+vCk|#19ug?? zUj@EQE>$?>s%b6_7Fa0$WUA>8bR{7w_>A!ceEwS_p%`s`qrod%p+6pq^u@^6XB+?k N002ovPDHLkV1i%MK3)I- literal 0 HcmV?d00001 diff --git a/wearos/src/main/res/drawable/ic_keyboard.xml b/wearos/src/main/res/drawable/ic_keyboard.xml new file mode 100644 index 000000000..30dc65adb --- /dev/null +++ b/wearos/src/main/res/drawable/ic_keyboard.xml @@ -0,0 +1,5 @@ + + + diff --git a/wearos/src/main/res/drawable/row_background_outline.xml b/wearos/src/main/res/drawable/row_background_outline.xml new file mode 100644 index 000000000..508cf22a3 --- /dev/null +++ b/wearos/src/main/res/drawable/row_background_outline.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/wearos/src/main/res/layout/activity_login.xml b/wearos/src/main/res/layout/activity_login.xml index 48d4a3f91..de2fdea05 100644 --- a/wearos/src/main/res/layout/activity_login.xml +++ b/wearos/src/main/res/layout/activity_login.xml @@ -8,38 +8,93 @@ - + - - + + android:gravity="center" + android:text="@string/sign_in_description" + style="@style/Text.Body2" + android:textColor="@color/white" + android:layout_marginBottom="18dp"/>