package Ġcom . k ier on qu inn . app . t apt ap . ui . screens . modal Ċ Ċ import Ġandroid . content . pm . Activity Info Ċ import Ġandroid . graphics . drawable . Anim atable 2 Ċ import Ġandroid . graphics . drawable . Animated Vector Drawable Ċ import Ġandroid . graphics . drawable . Drawable Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . Frame Layout Ċ import Ġandroidx . core . view . update LayoutParams Ċ import Ġcom . k ier on qu inn . app . t apt ap . R Ċ import Ġcom . k ier on qu inn . app . t apt ap . databinding . Fragment Modal No G yro scope Binding Ċ import Ġcom . k ier on qu inn . app . t apt ap . components . base . Bound Fragment Ċ import Ġdev . chr is ban es . in setter . apply System Window Insets To Margin Ċ import Ġorg . k oin . android . view model . ext . android . viewModel Ċ import Ġkotlin . math . round ToInt Ċ Ċ class ĠModal No G yro scope Fragment : ĠBound Fragment < Fragment Modal No G yro scope Binding >( Fragment Modal No G yro scope Binding :: class . java ) Ġ{ ĊĊĠĠĠ Ġprivate Ġval ĠviewModel Ġby ĠviewModel < Modal No G yro scope ViewModel >() ĊĊĠĠĠ Ġprivate Ġval Ġbutton Height Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ Ġresources . get Dimension ( R . dim en . configuration _ button _ height ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĠĠĠĠĠĠĠ Ġactivity ?. requested Orientation Ġ= ĠActivity Info . SCREEN _ OR IENTATION _ POR TRA IT ĊĠĠĠĠĠĠĠ Ġwith ( binding ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġav d . let Ġ{ ĠimageView Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( imageView . drawable Ġas ĠAnimated Vector Drawable ). let Ġ{ Ġav d Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġav d . register Animation Callback ( object : ĠAnim atable 2 . Animation Callback () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Animation End ( drawable : ĠDrawable ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . on Animation End ( drawable ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠimageView . post Delayed ({ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġav d . start () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, Ġ 5 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġav d . start () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠimageView . apply System Window Insets To Margin ( top Ġ= Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconfiguration Next . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . onNext Clicked ( this @ Modal No G yro scope Fragment ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconfiguration Next . setOn Apply Window Insets Listener Ġ{ Ġview , Ġwindow Insets Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . update LayoutParams < Frame Layout . LayoutParams > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġheight Ġ= Ġ( button Height Ġ+ Ġwindow Insets . system Window Inset Bottom ). round ToInt () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . set Padding ( view . padding Left , Ġview . padding Top , Ġview . padding Right , Ġwindow Insets . system Window Inset Bottom ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwindow Insets ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ }