package Ġcom . f ask n . app . weather app . ui . splash Ċ Ċ import Ġandroid . graphics . Color Ċ import Ġandroidx . navigation . fragment . find Nav Controller Ċ import Ġcom . f ask n . app . weather app . R Ċ import Ġcom . f ask n . app . weather app . core . Base Fragment Ċ import Ġcom . f ask n . app . weather app . core . Constants Ċ import Ġcom . f ask n . app . weather app . databinding . Fragment Splash Binding Ċ import Ġcom . f ask n . app . weather app . utils . extensions . hide Ċ import Ġcom . f ask n . app . weather app . utils . extensions . show Ċ import Ġcom . mik ha el lope z . rx animation .* Ċ import Ġdagger . h ilt . android . Android EntryPoint Ċ import Ġio . reactivex . dis pos ables . Composite Disposable Ċ Ċ @ Android EntryPoint Ċ class ĠSpl ash Fragment Ġ: ĠBase Fragment < Splash Fragment ViewModel , ĠFragment Splash Binding >( ĊĠĠĠ ĠR . layout . fragment _ splash , ĊĠĠĠ ĠSpl ash Fragment ViewModel :: class . java , Ċ ) Ġ{ ĊĠĠĠ Ġvar Ġdis posable Ġ= ĠComposite Disposable () ĊĊĠĠĠ Ġoverride Ġfun Ġinit () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . init () ĊĊĠĠĠĠĠĠĠ Ġif Ġ( binding . viewModel ?. shared Preferences ?. getString ( Constants . Coords . LON , Ġ"") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. isNull OrEmpty () ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . button Explore . show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . viewModel ?. navigate Dashboard Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . button Explore . hide () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . viewModel ?. navigate Dashboard Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġbinding . viewModel ?. navigate Dashboard ?. let Ġ{ Ġstart Splash Animation ( it ) Ġ} ĊĊĠĠĠĠĠĠĠ Ġbinding . button Explore . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . viewModel ?. navigate Dashboard ?. let Ġ{ Ġit 1 Ġ-> Ġend Splash Animation ( it 1 ) Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġbinding . root View . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . viewModel ?. navigate Dashboard ?. let Ġ{ Ġit 1 Ġ-> Ġend Splash Animation ( it 1 ) Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġstart Splash Animation ( navigate To Dashboard : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġdis posable . add ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRx Animation . sequent ially ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRx Animation . together ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . imageView Bottom Drawable . translation Y ( 5 0 0 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . imageView Ellipse . fadeOut ( 0 L ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . imageView Bottom Drawable . fadeOut ( 0 L ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . imageView Big Cloud . translation X (- 5 0 0 F , Ġ 0 L ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . imageView Small Cloud . translation X ( 5 0 0 f , Ġ 0 L ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . imageView Bottom Drawable Shadow . translation Y ( 5 0 0 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . imageView Main Cloud . fadeOut ( 0 L ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . button Explore . fadeOut ( 0 L ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . imageView Bottom Drawable Shadow . fadeOut ( 0 L ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRx Animation . together ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . imageView Bottom Drawable . fadeIn ( 1 0 0 0 L ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . imageView Bottom Drawable . translation Y (- 1 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . imageView Bottom Drawable Shadow . fadeIn ( 1 2 5 0 L ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . imageView Bottom Drawable Shadow . translation Y (- 1 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRx Animation . together ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . imageView Ellipse . fadeIn ( 1 0 0 0 L ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . imageView Ellipse . translation Y (- 5 0 F , Ġ 1 0 0 0 L ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRx Animation . together ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . imageView Big Cloud . translation X (- 1 5 f , Ġ 1 0 0 0 L ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . imageView Small Cloud . translation X ( 2 5 f , Ġ 1 0 0 0 L ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . imageView Main Cloud . fadeIn ( 5 0 0 L ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . button Explore . fadeIn ( 1 0 0 0 L ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). do On Terminate Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfind Nav Controller (). graph . set Start Destination ( R . id . dashboard Fragment ) Ġ// ĠL ittle Ġbit Ġtricky Ġsolution Ġ:) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( navigate To Dashboard ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġend Splash Animation ( navigate To Dashboard ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġend Splash Animation ( navigate To Dashboard : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġdis posable . add ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRx Animation . sequent ially ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRx Animation . together ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . imageView Bottom Drawable . fadeOut ( 3 0 0 L ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . imageView Bottom Drawable . translation Y ( 1 0 0 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . imageView Bottom Drawable Shadow . fadeOut ( 3 0 0 L ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . imageView Bottom Drawable Shadow . translation Y ( 1 0 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRx Animation . together ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . imageView Ellipse . fadeOut ( 3 0 0 L ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . imageView Ellipse . translation Y ( 5 0 0 F , Ġ 3 0 0 L ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRx Animation . together ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . imageView Big Cloud . translation X ( 5 0 0 f , Ġ 3 0 0 L ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . imageView Small Cloud . translation X (- 5 0 0 f , Ġ 3 0 0 L ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . imageView Main Cloud . fadeOut ( 3 0 0 L ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . button Explore . fadeOut ( 3 0 0 L ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . root View . backgroundColor ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠColor . parse Color ("# 5 D 5 0 FE "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠColor . parse Color ("# FFFFFF "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġduration Ġ= Ġ 7 5 0 L ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. do On Terminate Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfind Nav Controller (). graph . set Start Destination ( R . id . dashboard Fragment ) Ġ// ĠL ittle Ġbit Ġtricky Ġsolution Ġ:) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( navigate To Dashboard ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnavigate ( R . id . action _ splash Fragment _ to _ dashboard Fragment ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnavigate ( R . id . action _ splash Fragment _ to _ search Fragment ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe () ĊĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy () ĊĠĠĠĠĠĠĠ Ġdis posable . clear () ĊĠĠĠ Ġ} Ċ } Ċ