/* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 2 0 Ġå¤§ åīį èī¯ ä»ĭ Ġ( OH MA E ĠR y os uke ) Ċ Ġ* Ċ Ġ* ĠThis Ġsoftware Ġis Ġreleased Ġunder Ġthe ĠMIT ĠLicense . Ċ Ġ* Ġhttp :// opensource . org / licenses / MIT Ċ Ġ*/ Ċ Ċ package Ġnet . mm 2 d . orientation . view . dialog Ċ Ċ import Ġandroid . app . Dialog Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . appcompat . app . AlertDialog Ċ import Ġandroidx . appcompat . app . AppCompat Delegate Ċ import Ġandroidx . fragment . app . Dialog Fragment Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġnet . mm 2 d . android . orientation faker . R Ċ import Ġnet . mm 2 d . orientation . settings . Night Modes Ċ import Ġnet . mm 2 d . orientation . settings . Settings Ċ import Ġnet . mm 2 d . orientation . util . parent ViewModels Ċ Ċ class ĠNight Mode Dialog Ġ: ĠDialog Fragment () Ġ{ ĊĠĠĠ Ġprivate Ġval Ġmodes Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠ ĠAppCompat Delegate . MODE _ N IGHT _ FOLLOW _ SYSTEM , ĊĠĠĠĠĠĠĠ ĠAppCompat Delegate . MODE _ N IGHT _ NO , ĊĠĠĠĠĠĠĠ ĠAppCompat Delegate . MODE _ N IGHT _ YES , ĊĠĠĠ Ġ) ĊĠĠĠ Ġprivate Ġvar Ġmode : ĠInt Ġ= ĠSettings . get (). night Mode ĊĠĠĠ Ġprivate Ġval ĠviewModel : ĠNight Mode Dialog ViewModel Ġby Ġparent ViewModels () ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate Dialog ( savedInstanceState : ĠBundle ?): ĠDialog Ġ= ĊĠĠĠĠĠĠĠ ĠAlertDialog . Builder ( require Context ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. setTitle ( R . string . menu _ title _ app _ theme ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Single Choice Items ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodes . map Ġ{ ĠgetText ( Night Modes . getText Id ( it )) Ġ}. to Typed Array (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodes . indexOf ( mode ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ Ġ_, Ġwhich Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmode Ġ= Ġmodes [ which ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Positive Button ( R . string . ok ) Ġ{ Ġdialog , Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdialog . cancel () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . post Mode ( mode ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Negative Button ( R . string . cancel , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. create () ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠTAG Ġ= Ġ" Night Mode Dialog " ĊĊĠĠĠĠĠĠĠ Ġfun Ġshow ( fragment : ĠFragment ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmanager Ġ= Ġfragment . child FragmentManager ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( manager . is State Saved Ġ|| Ġmanager . find Fragment By Tag ( TAG ) Ġ!= Ġnull ) Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠ ĠNight Mode Dialog (). show ( manager , ĠTAG ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ