package Ġcom . kal ines ia . cat atan ke u angan Ċ Ċ import Ġandroid . app . AlertDialog Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . View Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroidx . appcompat . app . AppCompat Delegate Ċ import Ġandroidx . core . widget . Nested ScrollView Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġcom . kal ines ia . cat atan ke u angan . com . kal ines ia . cat atan ke u angan . My Preferences Ċ import Ġcom . kal ines ia . cat atan ke u angan . home . Home Fragment Ċ import Ġcom . kal ines ia . cat atan ke u angan . more . More Fragment Ċ import Ġcom . kal ines ia . cat atan ke u angan . mut asi . Mut asi Fragment Ċ import Ġcom . kal ines ia . cat atan ke u angan . pi ut ang . Pi ut ang Fragment Ċ import Ġkotlinx . android . synt hetic . main . activity _ main .* Ċ import Ġkotlinx . android . synt hetic . main . floating _ button _ plus . view .* Ċ import Ġkotlinx . android . synt hetic . main . fragment _ pi ut ang . view .* Ċ import Ġjava . util .* ĊĊ Ċ class ĠMainActivity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ main ) ĊĠĠĠĠĠĠĠ Ġcheck Language () ĊĠĠĠĠĠĠĠ Ġcheck Theme () ĊĠĠĠĠĠĠĠ Ġbottom Bar () ĊĠĠĠĠĠĠĠ Ġload Main Fragment No Back ( Home Fragment ()) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġbottom Bar (){ ĊĠĠĠĠĠĠĠ Ġbottom Bar . on ItemSelected Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen ( it ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 Ġ-> Ġload Main Fragment No Back ( Home Fragment ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 Ġ-> Ġload Main Fragment No Back ( Pi ut ang Fragment ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 2 Ġ-> Ġload Main Fragment No Back ( Mut asi Fragment ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 3 Ġ-> Ġload Main Fragment No Back ( More Fragment ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġbottom Bar . on Item Re selected Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen ( it ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 Ġ-> Ġload Main Fragment No Back ( Home Fragment ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 Ġ-> Ġload Main Fragment No Back ( Pi ut ang Fragment ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 2 Ġ-> Ġload Main Fragment No Back ( Mut asi Fragment ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 3 Ġ-> Ġload Main Fragment No Back ( More Fragment ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġload Main Fragment No Back ( fragment : ĠFragment ){ ĊĠĠĠĠĠĠĠ Ġval Ġmanager Ġ= Ġsupport FragmentManager ĊĠĠĠĠĠĠĠ Ġval Ġtransaction Ġ= Ġmanager . beginTransaction () ĊĠĠĠĠĠĠĠ Ġtransaction . replace ( R . id . fragment _ main , Ġfragment ) ĊĠĠĠĠĠĠĠ Ġtransaction . commit () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġload Main Fragment ( fragment : ĠFragment ){ ĊĠĠĠĠĠĠĠ Ġval Ġmanager Ġ= Ġsupport FragmentManager ĊĠĠĠĠĠĠĠ Ġval Ġtransaction Ġ= Ġmanager . beginTransaction () ĊĠĠĠĠĠĠĠ Ġtransaction . replace ( R . id . fragment _ main , Ġfragment ) ĊĠĠĠĠĠĠĠ Ġtransaction . addTo Back Stack ( null ) ĊĠĠĠĠĠĠĠ Ġtransaction . commit () ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġfun Ġfloating Scrolling ( view : ĠView ){ ĊĠĠĠĠĠĠĠ Ġview . nested ScrollView . setOn Scroll ChangeListener ( Nested ScrollView . On Scroll ChangeListener Ġ{ Ġ_, Ġ_, Ġscroll Y , Ġ_, Ġold Scroll Y Ġ-> Ġ// Ġv , Ġscroll X , Ġscroll Y , Ġold Scroll X , Ġold Scroll Y ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ Ġthe Ġdelay Ġof Ġthe Ġextension Ġof Ġthe ĠF AB Ġis Ġset Ġfor Ġ 1 2 Ġitems ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( scroll Y Ġ> Ġold Scroll Y Ġ+ Ġ 1 2 Ġ&& Ġview . ext Floating ActionButton . is Shown ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . ext Floating ActionButton . hide () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġthe Ġdelay Ġof Ġthe Ġextension Ġof Ġthe ĠF AB Ġis Ġset Ġfor Ġ 1 2 Ġitems ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( scroll Y Ġ< Ġold Scroll Y Ġ- Ġ 1 2 Ġ&& Ġ! view . ext Floating ActionButton . is Shown ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . ext Floating ActionButton . show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġif Ġthe Ġnested ScrollView Ġis Ġat Ġthe Ġfirst Ġitem Ġof Ġthe Ġlist Ġthen Ġthe ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġfloating Ġaction Ġshould Ġbe Ġin Ġshow Ġstate ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( scroll Y Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . ext Floating ActionButton . show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcheck Theme (){ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( My Preferences ( this ). dark Mode ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAppCompat Delegate . setDefault Night Mode ( AppCompat Delegate . MODE _ N IGHT _ FOLLOW _ SYSTEM ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAppCompat Delegate . setDefault Night Mode ( AppCompat Delegate . MODE _ N IGHT _ NO ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠ 2 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAppCompat Delegate . setDefault Night Mode ( AppCompat Delegate . MODE _ N IGHT _ YES ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcheck Language (){ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( My Preferences ( this ). lang Mode ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchange Language (" en ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchange Language (" id ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Suppress (" DE PREC ATION ") ĊĠĠĠ Ġfun Ġchange Language ( code : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġconfig Ġ= Ġresources . configuration ĊĠĠĠĠĠĠĠ Ġval Ġlocale Ġ= ĠLocale ( code ) ĊĠĠĠĠĠĠĠ ĠLocale . setDefault ( locale ) ĊĠĠĠĠĠĠĠ Ġconfig . locale Ġ= Ġlocale ĊĠĠĠĠĠĠĠ Ġresources . update Configuration ( config , Ġresources . display Metrics ) ĊĠĠĠ Ġ} Ċ Ċ }