package Ġcom . las ock i qu en on . co oper test Ċ Ċ import Ġandroid . content . DialogInterface Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . MenuItem Ċ import Ġandroidx . preference . Preference Manager Ċ import Ġcom . las ock i qu en on . co oper test . utils . Prefs Fragment Ġas ĠPreference Fragment Compat Ċ Ċ class ĠSettings Activity Ġ: ĠBase The med Activity () Ġ{ ĊĊĠĠĠ Ġvar Ġcame From Test Activity : ĠBoolean Ġ= Ġfalse ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . settings _ activity ) ĊĠĠĠĠĠĠĠ Ġsupport FragmentManager ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. beginTransaction () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. replace ( R . id . settings , ĠSettings Fragment ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. commit () ĊĠĠĠĠĠĠĠ Ġsupport ActionBar ?. set Display Home As Up Enabled ( true ) ĊĠĠĠĠĠĠĠ Ġcame From Test Activity Ġ= Ġintent . getBoolean Extra (" Sent By Test Activity ", Ġfalse ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠSettings Fragment Ġ: ĠPreference Fragment Compat () Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonCreate Preferences ( savedInstanceState : ĠBundle ?, Ġroot Key : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Preferences From Resource ( R . xml . root _ preferences , Ġroot Key ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Options ItemSelected ( item : ĠMenuItem ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( item . itemId ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġandroid . R . id . home Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Back Pressed () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . on Options ItemSelected ( item ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Back Pressed () Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ! came From Test Activity Ġ-> Ġsuper . on Back Pressed () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcame From Test Activity Ġ&& Ġ! is Settings Complete () Ġ-> Ġconfirm Le aving Without Finish ing () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Result ( 1 , Ġintent ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġis Settings Complete (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġm Shared Preference Ġ= ĠPreference Manager . getDefault SharedPreferences ( this ) ĊĠĠĠĠĠĠĠ Ġreturn Ġ( m Shared Preference . contains (" birthday ") Ġ&& Ġm Shared Preference . contains (" name ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ&& Ġm Shared Preference . contains (" gender ")) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġconfirm Le aving Without Finish ing () Ġ{ ĊĠĠĠĠĠĠĠ Ġandroidx . appcompat . app . AlertDialog . Builder ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. setMessage ( R . string . complete All Parameters ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Cancel able ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Positive Button ( R . string . accept Complete Parameters , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Negative Button ( R . string . return To The Test ) Ġ{ Ġ_: ĠDialog Interface , Ġ_: ĠInt Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Result ( 0 , Ġintent ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. show () ĊĠĠĠ Ġ} ĊĊ Ċ }