From b6d734f403191aab61733de131556b9b8ac10499 Mon Sep 17 00:00:00 2001 From: Phillip Thelen Date: Tue, 10 Sep 2024 16:06:43 +0200 Subject: [PATCH] finalize 4.4.2 --- .../habitica/HabiticaBaseApplication.kt | 7 - .../social/InboxMessageListFragment.kt | 3 +- .../habitica/ui/viewmodels/InboxViewModel.kt | 10 +- .../habitica/extensions/DataBindingUtils.kt | 4 +- .../common/habitica/helpers/Animations.kt | 17 +- common/src/main/res/values/colors.xml | 2 +- version.properties | 4 +- .../habitica/ui/activities/SplashActivity.kt | 1 + .../habitica/ui/views/HabiticaScrollView.kt | 2 - wearos/src/main/res/layout/activity_login.xml | 145 ++++++++++-------- wearos/src/main/res/values/colors.xml | 5 +- 11 files changed, 104 insertions(+), 96 deletions(-) diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/HabiticaBaseApplication.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/HabiticaBaseApplication.kt index 2ce31d473..efc40d8e8 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/HabiticaBaseApplication.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/HabiticaBaseApplication.kt @@ -116,12 +116,6 @@ abstract class HabiticaBaseApplication : Application(), Application.ActivityLife // endregion - - var animationsEnabled: Boolean = - !(Settings.Global.getFloat(contentResolver, Settings.Global.ANIMATOR_DURATION_SCALE, 1.0f) == 0f - && Settings.Global.getFloat(contentResolver, Settings.Global.TRANSITION_ANIMATION_SCALE, 1.0f) == 0f - && Settings.Global.getFloat(contentResolver, Settings.Global.WINDOW_ANIMATION_SCALE, 1.0f) == 0f) - override fun onCreate() { super.onCreate() @@ -148,7 +142,6 @@ abstract class HabiticaBaseApplication : Application(), Application.ActivityLife AppCompatDelegate.setCompatVectorFromResourcesEnabled(true) setupCoil() - DataBindingUtils.disableAnimations = !animationsEnabled ExceptionHandler.init { Analytics.logException(it) diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/InboxMessageListFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/InboxMessageListFragment.kt index a024cb344..0f1f307d9 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/InboxMessageListFragment.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/InboxMessageListFragment.kt @@ -34,6 +34,7 @@ import com.habitrpg.android.habitica.ui.views.HabiticaSnackbar import com.habitrpg.android.habitica.ui.views.HabiticaSnackbar.Companion.showSnackbar import com.habitrpg.android.habitica.ui.views.dialogs.HabiticaAlertDialog import com.habitrpg.common.habitica.helpers.ExceptionHandler +import com.habitrpg.common.habitica.helpers.RecyclerViewState import com.habitrpg.common.habitica.helpers.launchCatching import dagger.hilt.android.AndroidEntryPoint import kotlinx.coroutines.delay @@ -256,6 +257,6 @@ class InboxMessageListFragment : BaseMainFragment> = Pager( config, null, ) { - MessagesDataSource(socialRepository, recipientID, ChatMessage()) + messagesDataSource = MessagesDataSource(socialRepository, memberID, ChatMessage()) + messagesDataSource }.liveData private val member = memberIDFlow @@ -73,7 +75,7 @@ class InboxViewModel get() = memberIDFlow.value fun invalidateDataSource() { - + messagesDataSource.invalidate() } init { @@ -84,8 +86,6 @@ class InboxViewModel val member = socialRepository.retrieveMember(recipientUsername, false) setMemberID(member?.id ?: "") invalidateDataSource() - - // dataSourceFactory.updateRecipientID(memberID) } } } @@ -99,7 +99,7 @@ class MessagesDataSource( private var lastFetchWasEnd = false override fun getRefreshKey(state: PagingState): Int? { - TODO("Not yet implemented") + return 0 } override suspend fun load(params: LoadParams): LoadResult { diff --git a/common/src/main/java/com/habitrpg/common/habitica/extensions/DataBindingUtils.kt b/common/src/main/java/com/habitrpg/common/habitica/extensions/DataBindingUtils.kt index b6164f158..ff287f1a2 100644 --- a/common/src/main/java/com/habitrpg/common/habitica/extensions/DataBindingUtils.kt +++ b/common/src/main/java/com/habitrpg/common/habitica/extensions/DataBindingUtils.kt @@ -109,8 +109,10 @@ object DataBindingUtils { return name + if (!disableAnimations && imageFormat == null && FILEFORMAT_MAP.containsKey(imageName)) { "." + FILEFORMAT_MAP[imageName] - } else { + } else if (!disableAnimations) { ".${imageFormat ?: "png"}" + } else { + ".png" } } diff --git a/common/src/main/java/com/habitrpg/common/habitica/helpers/Animations.kt b/common/src/main/java/com/habitrpg/common/habitica/helpers/Animations.kt index b4f4d5bf5..62c511025 100644 --- a/common/src/main/java/com/habitrpg/common/habitica/helpers/Animations.kt +++ b/common/src/main/java/com/habitrpg/common/habitica/helpers/Animations.kt @@ -14,6 +14,7 @@ import android.view.animation.LinearInterpolator import android.view.animation.RotateAnimation import android.view.animation.TranslateAnimation import androidx.core.animation.doOnEnd +import com.habitrpg.common.habitica.extensions.DataBindingUtils import kotlin.math.hypot import kotlin.random.Random @@ -25,9 +26,13 @@ object Animations { return min + Random.nextFloat() * (max - min) } + private fun animationScale(): Long { + return if (DataBindingUtils.disableAnimations) 0L else 1L + } + fun bobbingAnimation(amount: Float = 8f): Animation { val anim = TranslateAnimation(0f, 0f, -amount, amount) - anim.duration = 2500 + anim.duration = 2500 * animationScale() anim.interpolator = AccelerateDecelerateInterpolator() anim.repeatCount = INFINITE anim.repeatMode = REVERSE @@ -39,13 +44,13 @@ object Animations { anim.interpolator = LinearInterpolator() val translate = TranslateAnimation(randomFloat(-2f * intensity, 0f), randomFloat(0f, 2f * intensity), randomFloat(-1f * intensity, 0f), randomFloat(0f, 1f * intensity)) - translate.duration = 70 + translate.duration = 70 * animationScale() translate.repeatCount = 5 translate.repeatMode = REVERSE anim.addAnimation(translate) val rotate = RotateAnimation(randomFloat(-0.4f * intensity, 0f), randomFloat(0f, 0.4f * intensity), RELATIVE_TO_SELF, 0.5f, RELATIVE_TO_SELF, 0.5f) - rotate.duration = 70 + rotate.duration = 70 * animationScale() rotate.repeatCount = 5 rotate.repeatMode = REVERSE anim.addAnimation(rotate) @@ -62,7 +67,7 @@ object Animations { val cy = view.height / 2 val finalRadius = hypot(cx.toDouble(), cy.toDouble()).toFloat() val anim = ViewAnimationUtils.createCircularReveal(view, cx, cy, 0f, finalRadius) - anim.duration = duration + anim.duration = duration * animationScale() anim.interpolator = AccelerateInterpolator() view.visibility = View.VISIBLE anim.start() @@ -76,7 +81,7 @@ object Animations { val cy = view.height / 2 val initialRadius = hypot(cx.toDouble(), cy.toDouble()).toFloat() val anim = ViewAnimationUtils.createCircularReveal(view, cx, cy, initialRadius, 0f) - anim.duration = duration + anim.duration = duration * animationScale() anim.interpolator = AccelerateInterpolator() anim.doOnEnd { view.visibility = View.INVISIBLE @@ -89,7 +94,7 @@ object Animations { anim.interpolator = AccelerateDecelerateInterpolator() anim.fillBefore = true anim.fillAfter = true - anim.duration = duration + anim.duration = duration * animationScale() return anim } diff --git a/common/src/main/res/values/colors.xml b/common/src/main/res/values/colors.xml index 86f6dce95..5155e7f5e 100644 --- a/common/src/main/res/values/colors.xml +++ b/common/src/main/res/values/colors.xml @@ -3,7 +3,7 @@ #ffffff #000000 #ffffff - #000000 + #000000FF #36205D #432874 diff --git a/version.properties b/version.properties index f4b1e53df..9ffd21b29 100644 --- a/version.properties +++ b/version.properties @@ -1,2 +1,2 @@ -NAME=4.5.0 -CODE=8061 \ No newline at end of file +NAME=4.4.2 +CODE=8101 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 3f915003b..4ab0b422e 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 @@ -25,6 +25,7 @@ class SplashActivity : BaseActivity() { installSplashScreen() binding = ActivitySplashBinding.inflate(layoutInflater) super.onCreate(savedInstanceState) + if (viewModel.hasAuthentication) { startMainActivity() return diff --git a/wearos/src/main/java/com/habitrpg/wearos/habitica/ui/views/HabiticaScrollView.kt b/wearos/src/main/java/com/habitrpg/wearos/habitica/ui/views/HabiticaScrollView.kt index 2a84ab1f9..4a2a28f47 100644 --- a/wearos/src/main/java/com/habitrpg/wearos/habitica/ui/views/HabiticaScrollView.kt +++ b/wearos/src/main/java/com/habitrpg/wearos/habitica/ui/views/HabiticaScrollView.kt @@ -16,8 +16,6 @@ class HabiticaScrollView ) : NestedScrollView(context, attrs) { init { isVerticalScrollBarEnabled = true - focusable = View.FOCUSABLE - isFocusableInTouchMode = true } override fun onAttachedToWindow() { diff --git a/wearos/src/main/res/layout/activity_login.xml b/wearos/src/main/res/layout/activity_login.xml index 8d543f4b0..5d2fac4e9 100644 --- a/wearos/src/main/res/layout/activity_login.xml +++ b/wearos/src/main/res/layout/activity_login.xml @@ -1,82 +1,91 @@ - - + + - - - + + + android:animateLayoutChanges="true"> + + + + + + + android:id="@+id/sign_in_on_phone_button" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_marginBottom="4dp" + app:chipImage="@drawable/handoff" + app:chipText="@string/sign_in_on_phone" /> + android:id="@+id/other_button" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_marginBottom="4dp" + app:chipImage="@drawable/ic_keyboard" + app:chipText="@string/other_options" /> + android:id="@+id/google_login_button" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_marginBottom="4dp" + app:chipImage="@drawable/google_icon" + app:chipText="@string/login_btn_google" /> + + android:id="@+id/register_button" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_marginBottom="4dp" + app:chipImage="@drawable/handoff" + app:chipText="@string/create_account" /> - - + + + diff --git a/wearos/src/main/res/values/colors.xml b/wearos/src/main/res/values/colors.xml index 5799d09b1..87ad88eeb 100644 --- a/wearos/src/main/res/values/colors.xml +++ b/wearos/src/main/res/values/colors.xml @@ -41,7 +41,7 @@ #BEAAF9 #A675FF #6133B4 - #23202A + #332F3D #EFEFEF #C3C0C7 @@ -52,7 +52,6 @@ #33A675FF - @color/brand_300 @color/watch_purple_5 @@ -61,4 +60,4 @@ @color/watch_blue_100 @color/watch_red_100 #00ffffff - \ No newline at end of file +