package Ġm hash im 6 . android . put back . ui . preferences Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . content . Intent Ċ import Ġandroid . media . Ring tone Manager Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . provider . Settings Ċ import Ġandroidx . annotation . String Res Ċ import Ġandroidx . preference . Preference Ċ import Ġandroidx . preference . Preference Fragment Compat Ċ import Ġcom . fr an mont iel . at tribution presenter . At tribution Presenter Ċ import Ġcom . fr an mont iel . at tribution presenter . entities . At tribution Ċ import Ġcom . fr an mont iel . at tribution presenter . entities . Library .* Ċ import Ġcom . fr an mont iel . at tribution presenter . entities . License Ċ import Ġcom . google . android . material . sn ackbar . Snackbar Ċ import Ġio . reactivex . dis pos ables . Composite Disposable Ċ import Ġio . reactivex . subjects . Publish Subject Ċ import Ġm hash im 6 . android . put back . R Ċ import Ġm hash im 6 . android . put back . data . Preferences Repository Ċ import Ġm hash im 6 . android . put back . data . Preferences Repository . KEY _ THEME _ PREFER ENCE Ċ import Ġm hash im 6 . android . put back . debug Ċ import Ġm hash im 6 . android . put back . ui . launch Url ĊĊ Ċ class ĠPreferences Screen Ġ: ĠPreference Fragment Compat () Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġpreferences Ġ= ĠPublish Subject . create < String >() ĊĠĠĠ Ġprivate Ġval Ġsubscriptions Ġ= ĠComposite Disposable () ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate Preferences ( savedInstanceState : ĠBundle ?, Ġroot Key : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġadd Preferences From Resource ( R . xml . preferences ) ĊĊĠĠĠĠĠĠĠ Ġpreference Manager . find Preference ( KEY _ THEME _ PREFER ENCE ). on Preference ChangeListener Ġ= ĠPreference . On Preference ChangeListener Ġ{ Ġ_, Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġactivity ?. re create () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Resume () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Resume () ĊĊĠĠĠĠĠĠĠ Ġval ĠviewModel Ġ= Ġpresent ( activity !! , Ġpreferences ) ĊĠĠĠĠĠĠĠ Ġwith ( viewModel ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsubscriptions . addAll ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsound Selector Requests . subscribe Ġ{ Ġlaunch Sound Selector () Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsn ack bars . subscribe (:: show Sn ackBar ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcredits Requests . subscribe Ġ{ Ġlaunch Credits Dialog () Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġurls . subscribe (:: launch Url ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpreferences Disposable ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Pause () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Pause () ĊĠĠĠĠĠĠĠ Ġsubscriptions . clear () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Preference Tree Click ( preference : ĠPreference ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġpreferences . onNext ( preference . key ) ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġshow Sn ackBar (@ String Res Ġmessage : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ ĠSn ackbar . make ( view !! , Ġmessage , ĠSn ackbar . LENGTH _ LONG ). show () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠREQUEST _ CODE _ ALERT _ RING T ONE Ġ= Ġ 0 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġlaunch Sound Selector () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( Ring tone Manager . ACTION _ RING T ONE _ P ICK ER ) ĊĠĠĠĠĠĠĠ Ġintent . putExtra ( Ring tone Manager . EXTRA _ RING T ONE _ TYPE , ĠRing tone Manager . TYPE _ NOTIFICATION ) ĊĠĠĠĠĠĠĠ Ġintent . putExtra ( Ring tone Manager . EXTRA _ RING T ONE _ TITLE , Ġ" Notification ĠSound ") ĊĠĠĠĠĠĠĠ Ġintent . putExtra ( Ring tone Manager . EXTRA _ RING T ONE _ SHOW _ DEFAULT , Ġtrue ) ĊĠĠĠĠĠĠĠ Ġintent . putExtra ( Ring tone Manager . EXTRA _ RING T ONE _ SHOW _ SIL ENT , Ġtrue ) ĊĠĠĠĠĠĠĠ Ġintent . putExtra ( Ring tone Manager . EXTRA _ RING T ONE _ DEFAULT _ URI , ĠSettings . System . DEFAULT _ NOTIFICATION _ URI ) ĊĠĠĠĠĠĠĠ Ġintent . putExtra ( Ring tone Manager . EXTRA _ RING T ONE _ EXIST ING _ URI , ĠPreferences Repository . sound Uri ) ĊĠĠĠĠĠĠĠ ĠstartActivity For Result ( intent , ĠREQUEST _ CODE _ ALERT _ RING T ONE ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġlaunch Credits Dialog () Ġ{ ĊĠĠĠĠĠĠĠ ĠAt tribution Presenter . Builder ( context ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Attribut ions ( REAL M , ĠRX _ JAVA , ĠRX _ ANDROID ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Attribut ions ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAt tribution . Builder (" Android x ĠApp compat ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add License ( License . APACHE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Copyright Notice (" Google ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAt tribution . Builder (" Android x ĠArchitecture ĠComponents ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Copyright Notice (" Google ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add License ( License . APACHE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAt tribution . Builder (" Android ĠK TX ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Copyright Notice (" Google ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add License ( License . APACHE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Website (" https :// github . com / android / android - k tx ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAt tribution . Builder (" Rate Conditions Monitor ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add License ( License . MIT ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Copyright Notice (" Copyright Ġ 2 0 1 8 ĠMu ham mad ĠHash im ( m hash im 6 )") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Website (" https :// github . com / m hash im 6 / Rate Conditions Monitor ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAt tribution . Builder (" Spider ĠIcon ĠVector ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Copyright Notice (" Design ed Ġby ĠFre ep ik Ġfrom ĠFl aticon ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add License (" CC ĠBY Ġ 3 . 0 ", Ġ" https :// creativecommons . org / licenses / by / 3 . 0 /") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Website (" https :// creativecommons . org / licenses / by / 3 . 0 /") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAt tribution . Builder (" Original ĠClock ĠVector ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Copyright Notice (" Design ed Ġby ĠRaw pixel . com Ġ- ĠFre ep ik . com ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Website (" https :// www . raw pixel . com ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAt tribution . Builder (" At tribution Presenter ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Copyright Notice (" Copyright Ġ 2 0 1 7 ĠFrancisco ĠJ os Ã© ĠMont iel ĠNav ar ro ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add License ( License . APACHE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Website (" https :// github . com / fr an mont iel / At tribution Presenter ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. show Dialog ( null ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Activity Result ( request Code : ĠInt , ĠresultCode : ĠInt , Ġdata : ĠIntent ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġdebug ( result Code ) ĊĠĠĠĠĠĠĠ Ġwhen Ġ( request Code ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠREQUEST _ CODE _ ALERT _ RING T ONE Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( result Code Ġ== ĠActivity . RESULT _ OK ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdebug (" why ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPreferences Repository . sound Uri Ġ= Ġit . get Parcelable Extra ( Ring tone Manager . EXTRA _ RING T ONE _ P ICK ED _ URI ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġsuper . on Activity Result ( request Code , ĠresultCode , Ġdata ) ĊĠĠĠ Ġ} Ċ Ċ } Ċ