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 000000000..3656b0163
Binary files /dev/null and b/wearos/src/main/res/drawable-mdpi/handoff.png differ
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 000000000..864df57dd
Binary files /dev/null and b/wearos/src/main/res/drawable-xhdpi/handoff.png differ
diff --git a/wearos/src/main/res/drawable-xxhdpi/handoff.png b/wearos/src/main/res/drawable-xxhdpi/handoff.png
new file mode 100644
index 000000000..7e1c33b49
Binary files /dev/null and b/wearos/src/main/res/drawable-xxhdpi/handoff.png differ
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"/>
+ style="@style/ChipButton"
+ android:text="@string/sign_in_on_phone"
+ android:drawableStart="@drawable/handoff"
+ android:layout_marginBottom="@dimen/spacing_small"/>
+
+
+
+ android:layout_marginBottom="@dimen/spacing_small"
+ style="@style/ChipButton"/>
+
+ android:text="@string/create_account"
+ android:drawableStart="@drawable/handoff"
+ style="@style/ChipButton"/>
+
+
+
+
\ No newline at end of file
diff --git a/wearos/src/main/res/layout/row_header.xml b/wearos/src/main/res/layout/row_header.xml
index 478ac8fe7..04710400e 100644
--- a/wearos/src/main/res/layout/row_header.xml
+++ b/wearos/src/main/res/layout/row_header.xml
@@ -10,7 +10,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
- android:textColor="@color/watch_purple_500"
+ android:textColor="@color/watch_purple_200"
tools:text="Header Text"
android:fontFamily="sans-serif-medium"
android:textSize="16sp" />
diff --git a/wearos/src/main/res/values/strings.xml b/wearos/src/main/res/values/strings.xml
index 34559c710..745a6b58e 100644
--- a/wearos/src/main/res/values/strings.xml
+++ b/wearos/src/main/res/values/strings.xml
@@ -8,4 +8,10 @@
%s and %s
some %s
Edit on phone
+ Sign in
+ Create task lists and track progress with your gamified avatar
+ Sign in on phone
+ Other options
+ Create account
+ Sign in with password
\ No newline at end of file
diff --git a/wearos/src/main/res/values/styles.xml b/wearos/src/main/res/values/styles.xml
index bb596dbd7..217ebb3ef 100644
--- a/wearos/src/main/res/values/styles.xml
+++ b/wearos/src/main/res/values/styles.xml
@@ -17,8 +17,28 @@
- @dimen/row_padding_horizontal
- @dimen/row_padding_vertical
- @drawable/row_background
+ - 14sp
+ - @string/medium
- center
- 52dp
- false
+ - 0.05
+ - 8dp
+ - ?selectableItemBackground
+
+
+
+
+
+
+
+
+
\ No newline at end of file