From 587ec56600c2db70caef7331b9f188966815deda Mon Sep 17 00:00:00 2001 From: Phillip Thelen Date: Wed, 22 Jun 2022 10:34:35 +0200 Subject: [PATCH] improve login flow --- .../wearos/habitica/data/ApiService.kt | 2 +- .../data/repositories/UserLocalRepository.kt | 2 +- .../data/repositories/UserRepository.kt | 2 +- .../wearos/habitica/models/DisplayedError.kt | 2 +- .../models/tasks/BulkTaskScoringData.kt | 2 +- .../wearos/habitica/models/tasks/Task.kt | 67 ++++--------------- .../habitica/models/{ => user}/Buffs.kt | 4 +- .../habitica/models/{ => user}/Flags.kt | 4 +- .../wearos/habitica/models/{ => user}/Gear.kt | 2 +- .../wearos/habitica/models/{ => user}/Hair.kt | 4 +- .../habitica/models/{ => user}/Items.kt | 2 +- .../habitica/models/{ => user}/MenuItem.kt | 2 +- .../habitica/models/{ => user}/Outfit.kt | 4 +- .../habitica/models/{ => user}/Preferences.kt | 4 +- .../habitica/models/{ => user}/Profile.kt | 2 +- .../habitica/models/{ => user}/Stats.kt | 2 +- .../wearos/habitica/models/{ => user}/User.kt | 2 +- .../habitica/ui/activities/BaseActivity.kt | 1 + .../habitica/ui/activities/LoginActivity.kt | 5 +- .../habitica/ui/activities/MainActivity.kt | 32 ++++----- .../habitica/ui/activities/SplashActivity.kt | 10 ++- .../wearos/habitica/ui/adapters/HubAdapter.kt | 2 +- .../habitica/ui/viewHolders/HubViewHolder.kt | 4 +- .../ui/viewHolders/tasks/HabitViewHolder.kt | 6 +- .../habitica/ui/viewmodels/AvatarViewModel.kt | 2 +- .../habitica/ui/viewmodels/BaseViewModel.kt | 2 +- .../habitica/ui/viewmodels/LoginViewModel.kt | 5 +- .../habitica/ui/viewmodels/MainViewModel.kt | 2 +- .../wearos/habitica/ui/views/AddTaskButton.kt | 4 +- .../ui/views/HabitDirectionPickerButton.kt | 4 +- .../ui/views/IndeterminateProgressView.kt | 14 ++-- .../src/main/res/drawable/row_background.xml | 2 +- .../res/layout/activity_habit_direction.xml | 2 +- .../src/main/res/layout/activity_splash.xml | 11 ++- .../main/res/layout/activity_task_form.xml | 2 +- wearos/src/main/res/layout/row_header.xml | 2 +- wearos/src/main/res/values/colors.xml | 55 +++++++++++++-- 37 files changed, 147 insertions(+), 129 deletions(-) rename wearos/src/main/java/com/habitrpg/wearos/habitica/models/{ => user}/Buffs.kt (91%) rename wearos/src/main/java/com/habitrpg/wearos/habitica/models/{ => user}/Flags.kt (80%) rename wearos/src/main/java/com/habitrpg/wearos/habitica/models/{ => user}/Gear.kt (76%) rename wearos/src/main/java/com/habitrpg/wearos/habitica/models/{ => user}/Hair.kt (87%) rename wearos/src/main/java/com/habitrpg/wearos/habitica/models/{ => user}/Items.kt (79%) rename wearos/src/main/java/com/habitrpg/wearos/habitica/models/{ => user}/MenuItem.kt (83%) rename wearos/src/main/java/com/habitrpg/wearos/habitica/models/{ => user}/Outfit.kt (90%) rename wearos/src/main/java/com/habitrpg/wearos/habitica/models/{ => user}/Preferences.kt (91%) rename wearos/src/main/java/com/habitrpg/wearos/habitica/models/{ => user}/Profile.kt (70%) rename wearos/src/main/java/com/habitrpg/wearos/habitica/models/{ => user}/Stats.kt (92%) rename wearos/src/main/java/com/habitrpg/wearos/habitica/models/{ => user}/User.kt (94%) diff --git a/wearos/src/main/java/com/habitrpg/wearos/habitica/data/ApiService.kt b/wearos/src/main/java/com/habitrpg/wearos/habitica/data/ApiService.kt index 91fbaf93d..52b2deff5 100644 --- a/wearos/src/main/java/com/habitrpg/wearos/habitica/data/ApiService.kt +++ b/wearos/src/main/java/com/habitrpg/wearos/habitica/data/ApiService.kt @@ -4,7 +4,7 @@ import com.habitrpg.common.habitica.models.auth.UserAuth import com.habitrpg.common.habitica.models.auth.UserAuthResponse import com.habitrpg.common.habitica.models.auth.UserAuthSocial import com.habitrpg.common.habitica.models.responses.TaskDirectionData -import com.habitrpg.wearos.habitica.models.User +import com.habitrpg.wearos.habitica.models.user.User import com.habitrpg.wearos.habitica.models.WearableHabitResponse import com.habitrpg.wearos.habitica.models.tasks.BulkTaskScoringData import com.habitrpg.wearos.habitica.models.tasks.Task diff --git a/wearos/src/main/java/com/habitrpg/wearos/habitica/data/repositories/UserLocalRepository.kt b/wearos/src/main/java/com/habitrpg/wearos/habitica/data/repositories/UserLocalRepository.kt index 475082f7f..b47a4d143 100644 --- a/wearos/src/main/java/com/habitrpg/wearos/habitica/data/repositories/UserLocalRepository.kt +++ b/wearos/src/main/java/com/habitrpg/wearos/habitica/data/repositories/UserLocalRepository.kt @@ -2,7 +2,7 @@ package com.habitrpg.wearos.habitica.data.repositories import androidx.lifecycle.MutableLiveData import androidx.lifecycle.asFlow -import com.habitrpg.wearos.habitica.models.User +import com.habitrpg.wearos.habitica.models.user.User import kotlinx.coroutines.flow.Flow import javax.inject.Inject import javax.inject.Singleton diff --git a/wearos/src/main/java/com/habitrpg/wearos/habitica/data/repositories/UserRepository.kt b/wearos/src/main/java/com/habitrpg/wearos/habitica/data/repositories/UserRepository.kt index e238f9b7b..3579c703c 100644 --- a/wearos/src/main/java/com/habitrpg/wearos/habitica/data/repositories/UserRepository.kt +++ b/wearos/src/main/java/com/habitrpg/wearos/habitica/data/repositories/UserRepository.kt @@ -1,7 +1,7 @@ package com.habitrpg.wearos.habitica.data.repositories import com.habitrpg.wearos.habitica.data.ApiClient -import com.habitrpg.wearos.habitica.models.User +import com.habitrpg.wearos.habitica.models.user.User import javax.inject.Inject class UserRepository @Inject constructor(val apiClient: ApiClient, val localRepository: UserLocalRepository) { diff --git a/wearos/src/main/java/com/habitrpg/wearos/habitica/models/DisplayedError.kt b/wearos/src/main/java/com/habitrpg/wearos/habitica/models/DisplayedError.kt index 0626da42b..2ce2d96c3 100644 --- a/wearos/src/main/java/com/habitrpg/wearos/habitica/models/DisplayedError.kt +++ b/wearos/src/main/java/com/habitrpg/wearos/habitica/models/DisplayedError.kt @@ -1,3 +1,3 @@ package com.habitrpg.wearos.habitica.models -data class DisplayedError(val title: String) \ No newline at end of file +data class DisplayedError(val title: String, val subtitle: String? = null) \ No newline at end of file diff --git a/wearos/src/main/java/com/habitrpg/wearos/habitica/models/tasks/BulkTaskScoringData.kt b/wearos/src/main/java/com/habitrpg/wearos/habitica/models/tasks/BulkTaskScoringData.kt index 2b4d06ac8..afe2c0744 100644 --- a/wearos/src/main/java/com/habitrpg/wearos/habitica/models/tasks/BulkTaskScoringData.kt +++ b/wearos/src/main/java/com/habitrpg/wearos/habitica/models/tasks/BulkTaskScoringData.kt @@ -1,7 +1,7 @@ package com.habitrpg.wearos.habitica.models.tasks import com.habitrpg.common.habitica.models.responses.TaskDirectionData -import com.habitrpg.wearos.habitica.models.Buffs +import com.habitrpg.wearos.habitica.models.user.Buffs import com.squareup.moshi.Json import com.squareup.moshi.JsonClass diff --git a/wearos/src/main/java/com/habitrpg/wearos/habitica/models/tasks/Task.kt b/wearos/src/main/java/com/habitrpg/wearos/habitica/models/tasks/Task.kt index cd55a75e1..31107b137 100644 --- a/wearos/src/main/java/com/habitrpg/wearos/habitica/models/tasks/Task.kt +++ b/wearos/src/main/java/com/habitrpg/wearos/habitica/models/tasks/Task.kt @@ -92,68 +92,29 @@ open class Task constructor(): Parcelable { val completedChecklistCount: Int get() = checklist?.count { it.completed } ?: 0 - val extraLightTaskColor: Int - get() { - return when { - this.value < -20 -> return R.color.maroon_500 - this.value < -10 -> return R.color.red_500 - this.value < -1 -> return R.color.orange_500 - this.value < 1 -> return R.color.yellow_500 - this.value < 5 -> return R.color.green_500 - this.value < 10 -> return R.color.teal_500 - else -> R.color.blue_500 - } - } - val lightTaskColor: Int get() { return when { - this.value < -20 -> return R.color.maroon_100 - this.value < -10 -> return R.color.red_100 - this.value < -1 -> return R.color.orange_100 - this.value < 1 -> return R.color.yellow_100 - this.value < 5 -> return R.color.green_100 - this.value < 10 -> return R.color.teal_100 - else -> R.color.blue_100 + this.value < -20 -> return R.color.watch_maroon_100 + this.value < -10 -> return R.color.watch_red_100 + this.value < -1 -> return R.color.watch_orange_100 + this.value < 1 -> return R.color.watch_yellow_100 + this.value < 5 -> return R.color.watch_green_100 + this.value < 10 -> return R.color.watch_teal_100 + else -> R.color.watch_blue_100 } } val mediumTaskColor: Int get() { return when { - this.value < -20 -> return R.color.maroon_50 - this.value < -10 -> return R.color.red_50 - this.value < -1 -> return R.color.orange_50 - this.value < 1 -> return R.color.yellow_10 - this.value < 5 -> return R.color.green_50 - this.value < 10 -> return R.color.teal_50 - else -> R.color.blue_50 - } - } - - val darkTaskColor: Int - get() { - return when { - this.value < -20 -> return R.color.maroon_10 - this.value < -10 -> return R.color.red_10 - this.value < -1 -> return R.color.orange_10 - this.value < 1 -> return R.color.yellow_5 - this.value < 5 -> return R.color.green_10 - this.value < 10 -> return R.color.teal_10 - else -> R.color.blue_10 - } - } - - val darkestTaskColor: Int - get() { - return when { - this.value < -20 -> return R.color.maroon_1 - this.value < -10 -> return R.color.red_1 - this.value < -1 -> return R.color.orange_1 - this.value < 1 -> return R.color.yellow_1 - this.value < 5 -> return R.color.green_1 - this.value < 10 -> return R.color.teal_1 - else -> R.color.blue_1 + this.value < -20 -> return R.color.watch_maroon_10 + this.value < -10 -> return R.color.watch_red_10 + this.value < -1 -> return R.color.watch_orange_10 + this.value < 1 -> return R.color.watch_yellow_10 + this.value < 5 -> return R.color.watch_green_10 + this.value < 10 -> return R.color.watch_teal_10 + else -> R.color.watch_blue_10 } } diff --git a/wearos/src/main/java/com/habitrpg/wearos/habitica/models/Buffs.kt b/wearos/src/main/java/com/habitrpg/wearos/habitica/models/user/Buffs.kt similarity index 91% rename from wearos/src/main/java/com/habitrpg/wearos/habitica/models/Buffs.kt rename to wearos/src/main/java/com/habitrpg/wearos/habitica/models/user/Buffs.kt index 02ebc30c9..06517f85b 100644 --- a/wearos/src/main/java/com/habitrpg/wearos/habitica/models/Buffs.kt +++ b/wearos/src/main/java/com/habitrpg/wearos/habitica/models/user/Buffs.kt @@ -1,4 +1,4 @@ -package com.habitrpg.wearos.habitica.models +package com.habitrpg.wearos.habitica.models.user import com.habitrpg.common.habitica.models.AvatarBuffs import com.squareup.moshi.JsonClass @@ -14,4 +14,4 @@ class Buffs: AvatarBuffs { override var shinySeed: Boolean? = null override var snowball: Boolean? = null override var streaks: Boolean? = null -} +} \ No newline at end of file diff --git a/wearos/src/main/java/com/habitrpg/wearos/habitica/models/Flags.kt b/wearos/src/main/java/com/habitrpg/wearos/habitica/models/user/Flags.kt similarity index 80% rename from wearos/src/main/java/com/habitrpg/wearos/habitica/models/Flags.kt rename to wearos/src/main/java/com/habitrpg/wearos/habitica/models/user/Flags.kt index 7db92afc2..d29d7a343 100644 --- a/wearos/src/main/java/com/habitrpg/wearos/habitica/models/Flags.kt +++ b/wearos/src/main/java/com/habitrpg/wearos/habitica/models/user/Flags.kt @@ -1,4 +1,4 @@ -package com.habitrpg.wearos.habitica.models +package com.habitrpg.wearos.habitica.models.user import com.habitrpg.common.habitica.models.AvatarFlags import com.squareup.moshi.JsonClass @@ -6,4 +6,4 @@ import com.squareup.moshi.JsonClass @JsonClass(generateAdapter = true) class Flags: AvatarFlags { override var classSelected: Boolean = false -} +} \ No newline at end of file diff --git a/wearos/src/main/java/com/habitrpg/wearos/habitica/models/Gear.kt b/wearos/src/main/java/com/habitrpg/wearos/habitica/models/user/Gear.kt similarity index 76% rename from wearos/src/main/java/com/habitrpg/wearos/habitica/models/Gear.kt rename to wearos/src/main/java/com/habitrpg/wearos/habitica/models/user/Gear.kt index 7faef561b..b30dadb52 100644 --- a/wearos/src/main/java/com/habitrpg/wearos/habitica/models/Gear.kt +++ b/wearos/src/main/java/com/habitrpg/wearos/habitica/models/user/Gear.kt @@ -1,4 +1,4 @@ -package com.habitrpg.wearos.habitica.models +package com.habitrpg.wearos.habitica.models.user import com.squareup.moshi.JsonClass diff --git a/wearos/src/main/java/com/habitrpg/wearos/habitica/models/Hair.kt b/wearos/src/main/java/com/habitrpg/wearos/habitica/models/user/Hair.kt similarity index 87% rename from wearos/src/main/java/com/habitrpg/wearos/habitica/models/Hair.kt rename to wearos/src/main/java/com/habitrpg/wearos/habitica/models/user/Hair.kt index 18cb21b4b..b506a1c15 100644 --- a/wearos/src/main/java/com/habitrpg/wearos/habitica/models/Hair.kt +++ b/wearos/src/main/java/com/habitrpg/wearos/habitica/models/user/Hair.kt @@ -1,4 +1,4 @@ -package com.habitrpg.wearos.habitica.models +package com.habitrpg.wearos.habitica.models.user import com.habitrpg.common.habitica.models.AvatarHair import com.squareup.moshi.JsonClass @@ -11,4 +11,4 @@ class Hair: AvatarHair { override var base: Int = 0 override var flower: Int = 0 override var color: String? = null -} +} \ No newline at end of file diff --git a/wearos/src/main/java/com/habitrpg/wearos/habitica/models/Items.kt b/wearos/src/main/java/com/habitrpg/wearos/habitica/models/user/Items.kt similarity index 79% rename from wearos/src/main/java/com/habitrpg/wearos/habitica/models/Items.kt rename to wearos/src/main/java/com/habitrpg/wearos/habitica/models/user/Items.kt index 2550ffda1..2539a8419 100644 --- a/wearos/src/main/java/com/habitrpg/wearos/habitica/models/Items.kt +++ b/wearos/src/main/java/com/habitrpg/wearos/habitica/models/user/Items.kt @@ -1,4 +1,4 @@ -package com.habitrpg.wearos.habitica.models +package com.habitrpg.wearos.habitica.models.user import com.squareup.moshi.JsonClass diff --git a/wearos/src/main/java/com/habitrpg/wearos/habitica/models/MenuItem.kt b/wearos/src/main/java/com/habitrpg/wearos/habitica/models/user/MenuItem.kt similarity index 83% rename from wearos/src/main/java/com/habitrpg/wearos/habitica/models/MenuItem.kt rename to wearos/src/main/java/com/habitrpg/wearos/habitica/models/user/MenuItem.kt index a0b92a5fa..22dbbae8e 100644 --- a/wearos/src/main/java/com/habitrpg/wearos/habitica/models/MenuItem.kt +++ b/wearos/src/main/java/com/habitrpg/wearos/habitica/models/user/MenuItem.kt @@ -1,4 +1,4 @@ -package com.habitrpg.wearos.habitica.models +package com.habitrpg.wearos.habitica.models.user import android.graphics.drawable.Drawable diff --git a/wearos/src/main/java/com/habitrpg/wearos/habitica/models/Outfit.kt b/wearos/src/main/java/com/habitrpg/wearos/habitica/models/user/Outfit.kt similarity index 90% rename from wearos/src/main/java/com/habitrpg/wearos/habitica/models/Outfit.kt rename to wearos/src/main/java/com/habitrpg/wearos/habitica/models/user/Outfit.kt index 401ebe793..cc906966a 100644 --- a/wearos/src/main/java/com/habitrpg/wearos/habitica/models/Outfit.kt +++ b/wearos/src/main/java/com/habitrpg/wearos/habitica/models/user/Outfit.kt @@ -1,4 +1,4 @@ -package com.habitrpg.wearos.habitica.models +package com.habitrpg.wearos.habitica.models.user import com.habitrpg.common.habitica.models.AvatarOutfit import com.squareup.moshi.JsonClass @@ -13,4 +13,4 @@ class Outfit: AvatarOutfit { override var weapon: String = "" override var eyeWear: String = "" override var headAccessory: String = "" -} +} \ No newline at end of file diff --git a/wearos/src/main/java/com/habitrpg/wearos/habitica/models/Preferences.kt b/wearos/src/main/java/com/habitrpg/wearos/habitica/models/user/Preferences.kt similarity index 91% rename from wearos/src/main/java/com/habitrpg/wearos/habitica/models/Preferences.kt rename to wearos/src/main/java/com/habitrpg/wearos/habitica/models/user/Preferences.kt index 3b6094058..792f9de3d 100644 --- a/wearos/src/main/java/com/habitrpg/wearos/habitica/models/Preferences.kt +++ b/wearos/src/main/java/com/habitrpg/wearos/habitica/models/user/Preferences.kt @@ -1,4 +1,4 @@ -package com.habitrpg.wearos.habitica.models +package com.habitrpg.wearos.habitica.models.user import com.habitrpg.common.habitica.models.AvatarPreferences import com.squareup.moshi.JsonClass @@ -14,4 +14,4 @@ class Preferences: AvatarPreferences { override var background: String? = null override var chair: String? = null override var disableClasses: Boolean = false -} +} \ No newline at end of file diff --git a/wearos/src/main/java/com/habitrpg/wearos/habitica/models/Profile.kt b/wearos/src/main/java/com/habitrpg/wearos/habitica/models/user/Profile.kt similarity index 70% rename from wearos/src/main/java/com/habitrpg/wearos/habitica/models/Profile.kt rename to wearos/src/main/java/com/habitrpg/wearos/habitica/models/user/Profile.kt index 7c510caa6..ec9e0cd90 100644 --- a/wearos/src/main/java/com/habitrpg/wearos/habitica/models/Profile.kt +++ b/wearos/src/main/java/com/habitrpg/wearos/habitica/models/user/Profile.kt @@ -1,4 +1,4 @@ -package com.habitrpg.wearos.habitica.models +package com.habitrpg.wearos.habitica.models.user import com.squareup.moshi.JsonClass diff --git a/wearos/src/main/java/com/habitrpg/wearos/habitica/models/Stats.kt b/wearos/src/main/java/com/habitrpg/wearos/habitica/models/user/Stats.kt similarity index 92% rename from wearos/src/main/java/com/habitrpg/wearos/habitica/models/Stats.kt rename to wearos/src/main/java/com/habitrpg/wearos/habitica/models/user/Stats.kt index 4e4bc045d..0094ae8b6 100644 --- a/wearos/src/main/java/com/habitrpg/wearos/habitica/models/Stats.kt +++ b/wearos/src/main/java/com/habitrpg/wearos/habitica/models/user/Stats.kt @@ -1,4 +1,4 @@ -package com.habitrpg.wearos.habitica.models +package com.habitrpg.wearos.habitica.models.user import com.habitrpg.common.habitica.models.AvatarStats import com.squareup.moshi.JsonClass diff --git a/wearos/src/main/java/com/habitrpg/wearos/habitica/models/User.kt b/wearos/src/main/java/com/habitrpg/wearos/habitica/models/user/User.kt similarity index 94% rename from wearos/src/main/java/com/habitrpg/wearos/habitica/models/User.kt rename to wearos/src/main/java/com/habitrpg/wearos/habitica/models/user/User.kt index 679c79170..4a3dca5ab 100644 --- a/wearos/src/main/java/com/habitrpg/wearos/habitica/models/User.kt +++ b/wearos/src/main/java/com/habitrpg/wearos/habitica/models/user/User.kt @@ -1,4 +1,4 @@ -package com.habitrpg.wearos.habitica.models +package com.habitrpg.wearos.habitica.models.user import com.habitrpg.common.habitica.models.Avatar import com.squareup.moshi.JsonClass diff --git a/wearos/src/main/java/com/habitrpg/wearos/habitica/ui/activities/BaseActivity.kt b/wearos/src/main/java/com/habitrpg/wearos/habitica/ui/activities/BaseActivity.kt index a69916541..c42da762e 100644 --- a/wearos/src/main/java/com/habitrpg/wearos/habitica/ui/activities/BaseActivity.kt +++ b/wearos/src/main/java/com/habitrpg/wearos/habitica/ui/activities/BaseActivity.kt @@ -47,6 +47,7 @@ abstract class BaseActivity : ComponentActivi fun stopAnimatingProgress() { if (progressView != null) { wrapperBinding.root.removeView(progressView) + progressView = null } else { wrapperBinding.root.children.forEach { if (it is IndeterminateProgressView) { 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 bd36a1feb..deba31f62 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 @@ -40,7 +40,10 @@ class LoginActivity: BaseActivity() { showValidationError(getString(R.string.login_validation_error_fieldsmissing)) return } - viewModel.login(username, password) + viewModel.login(username, password) { + stopAnimatingProgress() + } + startAnimatingProgress() } private fun loginGoogle() { diff --git a/wearos/src/main/java/com/habitrpg/wearos/habitica/ui/activities/MainActivity.kt b/wearos/src/main/java/com/habitrpg/wearos/habitica/ui/activities/MainActivity.kt index a333b0485..2193f73bc 100644 --- a/wearos/src/main/java/com/habitrpg/wearos/habitica/ui/activities/MainActivity.kt +++ b/wearos/src/main/java/com/habitrpg/wearos/habitica/ui/activities/MainActivity.kt @@ -9,7 +9,7 @@ import androidx.wear.widget.WearableLinearLayoutManager import com.habitrpg.android.habitica.R import com.habitrpg.android.habitica.databinding.ActivityMainBinding import com.habitrpg.common.habitica.models.tasks.TaskType -import com.habitrpg.wearos.habitica.models.MenuItem +import com.habitrpg.wearos.habitica.models.user.MenuItem import com.habitrpg.wearos.habitica.ui.adapters.HubAdapter import com.habitrpg.wearos.habitica.ui.viewmodels.MainViewModel import com.habitrpg.wearos.habitica.util.HabiticaScrollingLayoutCallback @@ -37,7 +37,7 @@ class MainActivity : BaseActivity() { "createTask", getString(R.string.new_task), AppCompatResources.getDrawable(this, R.drawable.icon_plus), - ContextCompat.getColor(this, R.color.brand_400), + ContextCompat.getColor(this, R.color.watch_purple_100), ContextCompat.getColor(this, R.color.black), true ) { @@ -47,8 +47,8 @@ class MainActivity : BaseActivity() { "habits", getString(R.string.habits), AppCompatResources.getDrawable(this, R.drawable.icon_habits), - ContextCompat.getColor(this, R.color.brand_500), - ContextCompat.getColor(this, R.color.brand_700) + ContextCompat.getColor(this, R.color.watch_purple_200), + ContextCompat.getColor(this, R.color.watch_purple_700) ) { openTasklist(TaskType.HABIT) }, @@ -56,8 +56,8 @@ class MainActivity : BaseActivity() { "dailies", getString(R.string.dailies), AppCompatResources.getDrawable(this, R.drawable.icon_dailies), - ContextCompat.getColor(this, R.color.brand_500), - ContextCompat.getColor(this, R.color.brand_700) + ContextCompat.getColor(this, R.color.watch_purple_200), + ContextCompat.getColor(this, R.color.watch_purple_700) ) { openTasklist(TaskType.DAILY) }, @@ -65,8 +65,8 @@ class MainActivity : BaseActivity() { "todos", getString(R.string.todos), AppCompatResources.getDrawable(this, R.drawable.icon_todos), - ContextCompat.getColor(this, R.color.brand_500), - ContextCompat.getColor(this, R.color.brand_700) + ContextCompat.getColor(this, R.color.watch_purple_200), + ContextCompat.getColor(this, R.color.watch_purple_700) ) { openTasklist(TaskType.TODO) }, @@ -74,8 +74,8 @@ class MainActivity : BaseActivity() { "rewards", getString(R.string.rewards), AppCompatResources.getDrawable(this, R.drawable.icon_rewards), - ContextCompat.getColor(this, R.color.brand_500), - ContextCompat.getColor(this, R.color.brand_700) + ContextCompat.getColor(this, R.color.watch_purple_200), + ContextCompat.getColor(this, R.color.watch_purple_700) ) { openTasklist(TaskType.REWARD) }, @@ -83,8 +83,8 @@ class MainActivity : BaseActivity() { "Stats", getString(R.string.stats), AppCompatResources.getDrawable(this, R.drawable.icon_stats), - ContextCompat.getColor(this, R.color.brand_500), - ContextCompat.getColor(this, R.color.brand_700) + ContextCompat.getColor(this, R.color.watch_purple_200), + ContextCompat.getColor(this, R.color.watch_purple_700) ) { openStatsActivity() }, @@ -92,8 +92,8 @@ class MainActivity : BaseActivity() { "avatar", getString(R.string.avatar), AppCompatResources.getDrawable(this, R.drawable.icon_avatar), - ContextCompat.getColor(this, R.color.brand_500), - ContextCompat.getColor(this, R.color.brand_700) + ContextCompat.getColor(this, R.color.watch_purple_200), + ContextCompat.getColor(this, R.color.watch_purple_700) ) { openAvatarActivity() }, @@ -101,8 +101,8 @@ class MainActivity : BaseActivity() { "settings", getString(R.string.settings), AppCompatResources.getDrawable(this, R.drawable.icon_settings), - ContextCompat.getColor(this, R.color.brand_500), - ContextCompat.getColor(this, R.color.brand_700) + ContextCompat.getColor(this, R.color.watch_purple_200), + ContextCompat.getColor(this, R.color.watch_purple_700) ) { openSettingsActivity() } diff --git a/wearos/src/main/java/com/habitrpg/wearos/habitica/ui/activities/SplashActivity.kt b/wearos/src/main/java/com/habitrpg/wearos/habitica/ui/activities/SplashActivity.kt index 2ceb23896..383bd811b 100644 --- a/wearos/src/main/java/com/habitrpg/wearos/habitica/ui/activities/SplashActivity.kt +++ b/wearos/src/main/java/com/habitrpg/wearos/habitica/ui/activities/SplashActivity.kt @@ -64,8 +64,14 @@ class SplashActivity: BaseActivity() { } private fun showAccountLoader(show: Boolean) { - binding.progressBar.isVisible = show - binding.textView.isVisible = show + lifecycleScope.launch(Dispatchers.Main) { + if (show) { + startAnimatingProgress() + } else { + stopAnimatingProgress() + } + binding.textView.isVisible = show + } } override fun onPause() { diff --git a/wearos/src/main/java/com/habitrpg/wearos/habitica/ui/adapters/HubAdapter.kt b/wearos/src/main/java/com/habitrpg/wearos/habitica/ui/adapters/HubAdapter.kt index 1071087ea..a80e0c627 100644 --- a/wearos/src/main/java/com/habitrpg/wearos/habitica/ui/adapters/HubAdapter.kt +++ b/wearos/src/main/java/com/habitrpg/wearos/habitica/ui/adapters/HubAdapter.kt @@ -5,7 +5,7 @@ import androidx.recyclerview.widget.RecyclerView import com.habitrpg.common.habitica.extensions.layoutInflater import com.habitrpg.android.habitica.databinding.RowHeaderBinding import com.habitrpg.android.habitica.databinding.RowHubBinding -import com.habitrpg.wearos.habitica.models.MenuItem +import com.habitrpg.wearos.habitica.models.user.MenuItem import com.habitrpg.wearos.habitica.ui.viewHolders.HeaderViewHolder import com.habitrpg.wearos.habitica.ui.viewHolders.HubViewHolder diff --git a/wearos/src/main/java/com/habitrpg/wearos/habitica/ui/viewHolders/HubViewHolder.kt b/wearos/src/main/java/com/habitrpg/wearos/habitica/ui/viewHolders/HubViewHolder.kt index ec130c6ea..8ff3311df 100644 --- a/wearos/src/main/java/com/habitrpg/wearos/habitica/ui/viewHolders/HubViewHolder.kt +++ b/wearos/src/main/java/com/habitrpg/wearos/habitica/ui/viewHolders/HubViewHolder.kt @@ -5,7 +5,7 @@ import android.view.View import androidx.core.content.ContextCompat import com.habitrpg.android.habitica.R import com.habitrpg.android.habitica.databinding.RowHubBinding -import com.habitrpg.wearos.habitica.models.MenuItem +import com.habitrpg.wearos.habitica.models.user.MenuItem class HubViewHolder(itemView: View): BindableViewHolder(itemView) { val binding = RowHubBinding.bind(itemView) @@ -19,7 +19,7 @@ class HubViewHolder(itemView: View): BindableViewHolder(itemView) { binding.rowContainer.backgroundTintList = ColorStateList.valueOf(data.color) } else { binding.iconView.setColorFilter(data.color) - binding.rowContainer.backgroundTintList = ContextCompat.getColorStateList(itemView.context, R.color.gray_5) + binding.rowContainer.backgroundTintList = ContextCompat.getColorStateList(itemView.context, R.color.surface) } binding.root.setOnClickListener { data.onClick() diff --git a/wearos/src/main/java/com/habitrpg/wearos/habitica/ui/viewHolders/tasks/HabitViewHolder.kt b/wearos/src/main/java/com/habitrpg/wearos/habitica/ui/viewHolders/tasks/HabitViewHolder.kt index e4d96ea31..eb5ce60dc 100644 --- a/wearos/src/main/java/com/habitrpg/wearos/habitica/ui/viewHolders/tasks/HabitViewHolder.kt +++ b/wearos/src/main/java/com/habitrpg/wearos/habitica/ui/viewHolders/tasks/HabitViewHolder.kt @@ -34,9 +34,9 @@ class HabitViewHolder(itemView: View) : TaskViewHolder(itemView) { } } if (data.up != true && data.down != true) { - binding.habitButton.backgroundTintList = ColorStateList.valueOf(ContextCompat.getColor(itemView.context, R.color.gray_300)) - binding.habitButtonIcon.backgroundTintList = ColorStateList.valueOf(ContextCompat.getColor(itemView.context, R.color.gray_100)) - binding.habitButtonIcon.imageTintList = ColorStateList.valueOf(ContextCompat.getColor(itemView.context, R.color.gray_300)) + binding.habitButton.backgroundTintList = ColorStateList.valueOf(ContextCompat.getColor(itemView.context, R.color.watch_gray_100)) + binding.habitButtonIcon.backgroundTintList = ColorStateList.valueOf(ContextCompat.getColor(itemView.context, R.color.watch_gray_5)) + binding.habitButtonIcon.imageTintList = ColorStateList.valueOf(ContextCompat.getColor(itemView.context, R.color.watch_gray_100)) } else { binding.habitButton.backgroundTintList = ColorStateList.valueOf(ContextCompat.getColor(itemView.context, data.lightTaskColor)) binding.habitButtonIcon.backgroundTintList = ColorStateList.valueOf(ContextCompat.getColor(itemView.context, data.mediumTaskColor)) diff --git a/wearos/src/main/java/com/habitrpg/wearos/habitica/ui/viewmodels/AvatarViewModel.kt b/wearos/src/main/java/com/habitrpg/wearos/habitica/ui/viewmodels/AvatarViewModel.kt index 4abac961d..7079fe085 100644 --- a/wearos/src/main/java/com/habitrpg/wearos/habitica/ui/viewmodels/AvatarViewModel.kt +++ b/wearos/src/main/java/com/habitrpg/wearos/habitica/ui/viewmodels/AvatarViewModel.kt @@ -3,7 +3,7 @@ package com.habitrpg.wearos.habitica.ui.viewmodels import androidx.lifecycle.LiveData import androidx.lifecycle.asLiveData import com.habitrpg.wearos.habitica.data.repositories.UserRepository -import com.habitrpg.wearos.habitica.models.User +import com.habitrpg.wearos.habitica.models.user.User import com.habitrpg.wearos.habitica.util.ExceptionHandlerBuilder import dagger.hilt.android.lifecycle.HiltViewModel import javax.inject.Inject diff --git a/wearos/src/main/java/com/habitrpg/wearos/habitica/ui/viewmodels/BaseViewModel.kt b/wearos/src/main/java/com/habitrpg/wearos/habitica/ui/viewmodels/BaseViewModel.kt index 3ed83df52..8cfd85eb6 100644 --- a/wearos/src/main/java/com/habitrpg/wearos/habitica/ui/viewmodels/BaseViewModel.kt +++ b/wearos/src/main/java/com/habitrpg/wearos/habitica/ui/viewmodels/BaseViewModel.kt @@ -4,7 +4,7 @@ import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel import com.habitrpg.wearos.habitica.data.repositories.UserRepository import com.habitrpg.wearos.habitica.models.DisplayedError -import com.habitrpg.wearos.habitica.models.User +import com.habitrpg.wearos.habitica.models.user.User import com.habitrpg.wearos.habitica.util.ErrorPresenter import com.habitrpg.wearos.habitica.util.ExceptionHandlerBuilder diff --git a/wearos/src/main/java/com/habitrpg/wearos/habitica/ui/viewmodels/LoginViewModel.kt b/wearos/src/main/java/com/habitrpg/wearos/habitica/ui/viewmodels/LoginViewModel.kt index 5844ab33f..3a79b0650 100644 --- a/wearos/src/main/java/com/habitrpg/wearos/habitica/ui/viewmodels/LoginViewModel.kt +++ b/wearos/src/main/java/com/habitrpg/wearos/habitica/ui/viewmodels/LoginViewModel.kt @@ -157,10 +157,13 @@ class LoginViewModel @Inject constructor(userRepository: UserRepository, } } - fun login(username: String, password: String) { + fun login(username: String, password: String, onResult: (Boolean) -> Unit) { viewModelScope.launch(exceptionBuilder.userFacing(this)) { val response = apiClient.loginLocal(UserAuth(username, password)) handleAuthResponse(response) + onResult(response?.id != null) + }.invokeOnCompletion { + onResult(it == null) } } diff --git a/wearos/src/main/java/com/habitrpg/wearos/habitica/ui/viewmodels/MainViewModel.kt b/wearos/src/main/java/com/habitrpg/wearos/habitica/ui/viewmodels/MainViewModel.kt index 5a4d02271..46a545873 100644 --- a/wearos/src/main/java/com/habitrpg/wearos/habitica/ui/viewmodels/MainViewModel.kt +++ b/wearos/src/main/java/com/habitrpg/wearos/habitica/ui/viewmodels/MainViewModel.kt @@ -6,7 +6,7 @@ import androidx.lifecycle.viewModelScope import com.habitrpg.common.habitica.api.HostConfig import com.habitrpg.wearos.habitica.data.repositories.TaskRepository import com.habitrpg.wearos.habitica.data.repositories.UserRepository -import com.habitrpg.wearos.habitica.models.User +import com.habitrpg.wearos.habitica.models.user.User import com.habitrpg.wearos.habitica.util.ExceptionHandlerBuilder import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.launch diff --git a/wearos/src/main/java/com/habitrpg/wearos/habitica/ui/views/AddTaskButton.kt b/wearos/src/main/java/com/habitrpg/wearos/habitica/ui/views/AddTaskButton.kt index 859c14cd4..f827c1e01 100644 --- a/wearos/src/main/java/com/habitrpg/wearos/habitica/ui/views/AddTaskButton.kt +++ b/wearos/src/main/java/com/habitrpg/wearos/habitica/ui/views/AddTaskButton.kt @@ -26,8 +26,8 @@ class AddTaskButton @JvmOverloads constructor( 0f, 0f, 80.dpToPx(context).toFloat(), - ContextCompat.getColor(context, R.color.brand_400), - ContextCompat.getColor(context, R.color.blue_100), + ContextCompat.getColor(context, R.color.watch_purple_100), + ContextCompat.getColor(context, R.color.watch_blue_100), Shader.TileMode.CLAMP ) private val path = Path() diff --git a/wearos/src/main/java/com/habitrpg/wearos/habitica/ui/views/HabitDirectionPickerButton.kt b/wearos/src/main/java/com/habitrpg/wearos/habitica/ui/views/HabitDirectionPickerButton.kt index c83282367..a425ccc20 100644 --- a/wearos/src/main/java/com/habitrpg/wearos/habitica/ui/views/HabitDirectionPickerButton.kt +++ b/wearos/src/main/java/com/habitrpg/wearos/habitica/ui/views/HabitDirectionPickerButton.kt @@ -23,8 +23,8 @@ class HabitDirectionPickerButton @JvmOverloads constructor( private val rect = RectF(0f, 0f, 0f, 0f) private val bitmapRect = RectF(0f, 0f, 0f, 0f) - var mainTaskColor: Int = ContextCompat.getColor(context, R.color.gray_300) - var darkerTaskColor: Int = ContextCompat.getColor(context, R.color.gray_200) + var mainTaskColor: Int = ContextCompat.getColor(context, R.color.watch_gray_200) + var darkerTaskColor: Int = ContextCompat.getColor(context, R.color.watch_gray_10) var iconColor: Int = ContextCompat.getColor(context, R.color.white) private val radius = 15.dpToPx(context) diff --git a/wearos/src/main/java/com/habitrpg/wearos/habitica/ui/views/IndeterminateProgressView.kt b/wearos/src/main/java/com/habitrpg/wearos/habitica/ui/views/IndeterminateProgressView.kt index aa9c02f12..afe82d8a5 100644 --- a/wearos/src/main/java/com/habitrpg/wearos/habitica/ui/views/IndeterminateProgressView.kt +++ b/wearos/src/main/java/com/habitrpg/wearos/habitica/ui/views/IndeterminateProgressView.kt @@ -21,13 +21,13 @@ class IndeterminateProgressView @JvmOverloads constructor( var progressBarWidth = 4f.dpToPx(context) private val rainbow = listOf( - ContextCompat.getColor(context, R.color.red_100), - ContextCompat.getColor(context, R.color.orange_100), - ContextCompat.getColor(context, R.color.yellow_100), - ContextCompat.getColor(context, R.color.green_100), - ContextCompat.getColor(context, R.color.blue_100), - ContextCompat.getColor(context, R.color.brand_400), - ContextCompat.getColor(context, R.color.red_100), + ContextCompat.getColor(context, R.color.watch_red_100), + ContextCompat.getColor(context, R.color.watch_orange_100), + ContextCompat.getColor(context, R.color.watch_yellow_100), + ContextCompat.getColor(context, R.color.watch_green_100), + ContextCompat.getColor(context, R.color.watch_blue_100), + ContextCompat.getColor(context, R.color.watch_purple_100), + ContextCompat.getColor(context, R.color.watch_red_100), ).toIntArray() val gradient = SweepGradient(225f, 225f, rainbow, null) private val paint = Paint() diff --git a/wearos/src/main/res/drawable/row_background.xml b/wearos/src/main/res/drawable/row_background.xml index 25d06aadb..2e2c83b9b 100644 --- a/wearos/src/main/res/drawable/row_background.xml +++ b/wearos/src/main/res/drawable/row_background.xml @@ -1,5 +1,5 @@ - + \ No newline at end of file diff --git a/wearos/src/main/res/layout/activity_habit_direction.xml b/wearos/src/main/res/layout/activity_habit_direction.xml index 47ae795f1..51a5f94f2 100644 --- a/wearos/src/main/res/layout/activity_habit_direction.xml +++ b/wearos/src/main/res/layout/activity_habit_direction.xml @@ -22,7 +22,7 @@ android:fontFamily="sans-serif-medium" android:gravity="center" android:textSize="14sp" - android:textColor="@color/gray_400"/> + android:textColor="@color/watch_gray_200"/> - + android:layout_margin="@dimen/spacing_xlarge" + android:visibility="gone" + tools:visibility="visible" + android:gravity="center"/> \ No newline at end of file diff --git a/wearos/src/main/res/layout/activity_task_form.xml b/wearos/src/main/res/layout/activity_task_form.xml index aa3983694..24832c460 100644 --- a/wearos/src/main/res/layout/activity_task_form.xml +++ b/wearos/src/main/res/layout/activity_task_form.xml @@ -33,7 +33,7 @@ style="@style/Chip" tools:text="Task Type" android:textAllCaps="false" - android:textColor="@color/brand_500"/> + android:textColor="@color/watch_purple_500"/> diff --git a/wearos/src/main/res/layout/row_header.xml b/wearos/src/main/res/layout/row_header.xml index 339006b07..478ac8fe7 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/brand_500" + android:textColor="@color/watch_purple_500" tools:text="Header Text" android:fontFamily="sans-serif-medium" android:textSize="16sp" /> diff --git a/wearos/src/main/res/values/colors.xml b/wearos/src/main/res/values/colors.xml index 394dc8f2d..7b0f52299 100644 --- a/wearos/src/main/res/values/colors.xml +++ b/wearos/src/main/res/values/colors.xml @@ -1,9 +1,54 @@ - @color/brand_300 - #34313a - @color/yellow_100 - #a9dcf6 - #f2666a + #FFF0EF + #EFC0BD + #F06B63 + #E43E42 + #2D2424 + #FFEDE0 + #F8CCAE + #FF944C + #F37724 + #2B2622 + + #FEDEAD + #FFBE5D + #FAA11F + + #E8FBF4 + #9BDEC5 + #24CC8F + #1FA574 + #202725 + + #97EBF2 + #3BCAD7 + #26A0AB + + #EAF8FF + #B4DCF0 + #50B5E9 + #2B93CA + #23292C + + #F19595 + #DE3F3F + #B51A1A + + #ede7f6 + #EAE3FF + #BEAAF9 + #A675FF + #6133B4 + #23202A + + #EFEFEF + #C3C0C7 + #A5A1AC + #878190 + #686274 + + @color/brand_300 + #23202A \ No newline at end of file