mirror of
https://github.com/sudoxnym/habitica-android.git
synced 2026-05-20 12:49:02 +00:00
animation tweaks
This commit is contained in:
parent
7d1025f423
commit
241b3c3c75
7 changed files with 57 additions and 4 deletions
13
Habitica/res/anim/bottom_sheet_slide_in.xml
Normal file
13
Habitica/res/anim/bottom_sheet_slide_in.xml
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" >
|
||||
<translate
|
||||
android:duration="@android:integer/config_mediumAnimTime"
|
||||
android:fromYDelta="100%"
|
||||
android:interpolator="@android:anim/bounce_interpolator"
|
||||
android:toXDelta="0" />
|
||||
<alpha
|
||||
android:duration="@android:integer/config_shortAnimTime"
|
||||
android:fromAlpha="0"
|
||||
android:interpolator="@android:anim/overshoot_interpolator"
|
||||
android:toAlpha="1"
|
||||
/>
|
||||
</set>
|
||||
14
Habitica/res/anim/bottom_sheet_slide_out.xml
Normal file
14
Habitica/res/anim/bottom_sheet_slide_out.xml
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<set xmlns:android="http://schemas.android.com/apk/res/android" >
|
||||
<translate
|
||||
android:duration="@android:integer/config_mediumAnimTime"
|
||||
android:fromYDelta="0%p"
|
||||
android:interpolator="@android:anim/anticipate_interpolator"
|
||||
android:toYDelta="100%p" />
|
||||
<alpha
|
||||
android:duration="@android:integer/config_shortAnimTime"
|
||||
android:fromAlpha="1"
|
||||
android:interpolator="@android:anim/anticipate_overshoot_interpolator"
|
||||
android:toAlpha="0"
|
||||
/>
|
||||
</set>
|
||||
|
|
@ -52,7 +52,8 @@
|
|||
android:id="@+id/shimmer_view"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:shimmer_repeat_delay="8000"
|
||||
app:shimmer_repeat_delay="4000"
|
||||
app:shimmer_duration="200"
|
||||
app:shimmer_base_color="@color/text_dimmed"
|
||||
app:shimmer_highlight_color="@color/content_background"
|
||||
app:shimmer_highlight_alpha="0.8">
|
||||
|
|
|
|||
|
|
@ -908,6 +908,7 @@
|
|||
<item name="android:backgroundDimAmount">0.3</item>
|
||||
<item name="android:windowFrame">@null</item>
|
||||
<item name="android:windowIsFloating">true</item>
|
||||
<item name="android:windowAnimationStyle">@style/SheetDialogAnimations</item>
|
||||
<item name="bottomSheetStyle">@style/Widget.App.BottomSheet.Modal</item>
|
||||
|
||||
<item name="colorPrimary">@color/brand</item>
|
||||
|
|
@ -918,6 +919,11 @@
|
|||
<item name="android:colorAccent">@color/brand_400</item>
|
||||
</style>
|
||||
|
||||
<style name="SheetDialogAnimations" parent="@android:style/Animation.Activity">
|
||||
<item name="android:windowEnterAnimation">@anim/bottom_sheet_slide_in</item>
|
||||
<item name="android:windowExitAnimation">@anim/bottom_sheet_slide_out</item>
|
||||
</style>
|
||||
|
||||
<style name="Widget.App.BottomSheet.Modal" parent="Widget.MaterialComponents.BottomSheet.Modal">
|
||||
<item name="android:backgroundTint">@color/window_background</item>
|
||||
<item name="backgroundTint">@color/window_background</item>
|
||||
|
|
|
|||
|
|
@ -324,8 +324,8 @@ class AccountPreferenceFragment :
|
|||
emailEditText?.showErrorIfNecessary()
|
||||
passwordEditText?.showErrorIfNecessary()
|
||||
passwordRepeatEditText?.showErrorIfNecessary()
|
||||
if (emailEditText?.isValid != true || passwordEditText?.isValid != true || passwordRepeatEditText?.isValid != true) return@addButton
|
||||
val email = if (showEmail) emailEditText.text else user?.authentication?.findFirstSocialEmail()
|
||||
if ((showEmail && emailEditText?.isValid != true) || passwordEditText?.isValid != true || passwordRepeatEditText?.isValid != true) return@addButton
|
||||
val email = if (showEmail) emailEditText?.text else user?.authentication?.findFirstSocialEmail()
|
||||
apiClient.registerUser(user?.username ?: "", email ?: "", passwordEditText.text ?: "", passwordRepeatEditText?.text ?: "")
|
||||
.flatMap { userRepository.retrieveUser(true, true) }
|
||||
.subscribe(
|
||||
|
|
|
|||
|
|
@ -2,9 +2,13 @@ package com.habitrpg.android.habitica.ui.menu
|
|||
|
||||
import android.content.Context
|
||||
import android.view.View
|
||||
import android.view.animation.LinearInterpolator
|
||||
import android.view.animation.TranslateAnimation
|
||||
import androidx.core.view.children
|
||||
import com.habitrpg.android.habitica.databinding.MenuBottomSheetBinding
|
||||
import com.habitrpg.common.habitica.extensions.loadImage
|
||||
import com.habitrpg.android.habitica.ui.views.dialogs.HabiticaBottomSheetDialog
|
||||
import com.habitrpg.common.habitica.extensions.dpToPx
|
||||
import com.habitrpg.common.habitica.extensions.loadImage
|
||||
|
||||
class BottomSheetMenu(context: Context) : HabiticaBottomSheetDialog(context), View.OnClickListener {
|
||||
private var binding = MenuBottomSheetBinding.inflate(layoutInflater)
|
||||
|
|
@ -15,6 +19,19 @@ class BottomSheetMenu(context: Context) : HabiticaBottomSheetDialog(context), Vi
|
|||
binding.titleView.visibility = View.GONE
|
||||
}
|
||||
|
||||
override fun onAttachedToWindow() {
|
||||
super.onAttachedToWindow()
|
||||
binding.menuItems.children.forEachIndexed { index, view ->
|
||||
val anim = TranslateAnimation(0f, 0f, 10f.dpToPx(context) + (5f.dpToPx(context)*index), 0f)
|
||||
anim.startOffset = 300 + (20 * index).toLong()
|
||||
anim.fillBefore = true
|
||||
anim.fillAfter = true
|
||||
anim.interpolator = LinearInterpolator()
|
||||
anim.duration = 200 + (20 * index).toLong()
|
||||
view.startAnimation(anim)
|
||||
}
|
||||
}
|
||||
|
||||
fun setSelectionRunnable(runnable: (Int) -> Unit) {
|
||||
this.runnable = runnable
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ package com.habitrpg.wearos.habitica
|
|||
|
||||
import android.app.Application
|
||||
import android.content.Intent
|
||||
import com.google.firebase.analytics.FirebaseAnalytics
|
||||
import com.google.firebase.analytics.ktx.analytics
|
||||
import com.google.firebase.crashlytics.ktx.crashlytics
|
||||
import com.google.firebase.ktx.Firebase
|
||||
|
|
@ -69,6 +70,7 @@ class MainApplication : Application() {
|
|||
crashlytics.setUserId(userRepository.userID)
|
||||
}
|
||||
crashlytics.setCustomKey("is_wear", true)
|
||||
FirebaseAnalytics.getInstance(this).setUserProperty("app_testing_level", BuildConfig.TESTING_LEVEL)
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Reference in a new issue