[fenix] Restore progress

pull/600/head
Emily Kager 5 years ago committed by Emily Kager
parent 2b722626c3
commit ff410a0f95

@ -12,6 +12,7 @@ import android.view.ContextThemeWrapper
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.view.ViewTreeObserver
import androidx.appcompat.app.AlertDialog
import androidx.appcompat.app.AppCompatActivity
import androidx.constraintlayout.widget.ConstraintLayout.LayoutParams.PARENT_ID
@ -137,6 +138,16 @@ class HomeFragment : Fragment(), CoroutineScope, AccountObserver {
}
}
postponeEnterTransition()
val listener = object : ViewTreeObserver.OnPreDrawListener {
override fun onPreDraw(): Boolean {
startPostponedEnterTransition()
sessionControlComponent.view.viewTreeObserver.removeOnPreDrawListener(this)
return true
}
}
sessionControlComponent.view.viewTreeObserver.addOnPreDrawListener(listener)
ActionBusFactory.get(this).logMergedObservables()
val activity = activity as HomeActivity
DefaultThemeManager.applyStatusBarTheme(activity.window, activity.themeManager, activity)
@ -165,13 +176,6 @@ class HomeFragment : Fragment(), CoroutineScope, AccountObserver {
}
}
postponeEnterTransition()
sessionControlComponent.view.getViewTreeObserver()
.addOnPreDrawListener {
startPostponedEnterTransition()
true
}
view.menuButton.setOnClickListener {
homeMenu?.menuBuilder?.build(requireContext())?.show(
anchor = it,
@ -242,6 +246,8 @@ class HomeFragment : Fragment(), CoroutineScope, AccountObserver {
homeViewModel?.layoutManagerState?.also { parcelable ->
sessionControlComponent.view.layoutManager?.onRestoreInstanceState(parcelable)
}
homeLayout?.progress =
if (homeViewModel?.motionLayoutProgress ?: 0F > MOTION_LAYOUT_PROGRESS_ROUND_POINT) 1.0f else 0f
homeViewModel?.layoutManagerState = null
}
}

Loading…
Cancel
Save