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"/>