package Ġcom . an p . ipt v management . present ations . settings Ċ Ċ import Ġandroid . app . Fragment Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . v 1 4 . preference . Preference Fragment Ċ import Ġandroid . support . v 1 7 . preference . Lean back Settings Fragment Ċ import Ġandroid . support . v 7 . preference . Dialog Preference Ċ import Ġandroid . support . v 7 . preference . Preference Ċ import Ġandroid . support . v 7 . preference . Preference Screen Ċ import Ġcom . an p . ipt v management . R Ċ import Ġjava . util . Stack ĊĊ Ċ class ĠSettings Fragment Ġ: ĠLe an back Settings Fragment (), ĠDialog Preference . Target Fragment Ġ{ ĊĊĊĠ Ġprivate Ġval Ġfragments Ġ= ĠStack < Fragment >() ĊĊĠ Ġoverride Ġfun Ġon Preference Start Initial Screen () Ġ{ ĊĠĠĠ Ġstart Preference Fragment ( build Preference Fragment ( R . xml . settings , Ġnull )) ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġon Preference Start Screen ( caller : ĠPreference Fragment ?, ĊĠĠĠĠĠ Ġpref : ĠPreference Screen ?): ĠBoolean Ġ{ ĊĊĠĠĠ Ġval Ġfrag Ġ= Ġbuild Preference Fragment ( R . xml . settings , Ġpref ?. key ) ĊĠĠĠ Ġstart Preference Fragment ( frag ) ĊĠĠĠ Ġreturn Ġtrue ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġon Preference Start Fragment ( caller : ĠPreference Fragment ?, Ġpref : ĠPreference ?): ĠBoolean Ġ{ ĊĠĠĠ Ġreturn Ġfalse ĊĠ Ġ} ĊĊĊĠ Ġ/** ĊĠĠ Ġ* ĠCallback Ġ@{ @ link ĠDialog Preference . Target Fragment } ĊĠĠ Ġ*/ ĊĠ Ġoverride Ġfun Ġfind Preference ( key : ĠCharSequence ?): ĠPreference Ġ{ ĊĠĠĠ Ġreturn Ġ( fragments . peek () Ġas ĠPreference Fragment ). find Preference ( key ) ĊĠ Ġ} ĊĊĊĠ Ġprivate Ġfun Ġbuild Preference Fragment ( preference Res Id : ĠInt , Ġroot : ĠString ?): ĠPreference Fragment Ġ{ ĊĠĠĠ Ġval Ġfragment Ġ= ĠPreferences Fragment () ĊĠĠĠ Ġval Ġargs Ġ= ĠBundle () ĊĠĠĠ Ġargs . put Int (" preference Resource ", Ġpreference Res Id ) ĊĠĠĠ Ġargs . putString (" root ", Ġroot ) ĊĠĠĠ Ġfragment . arguments Ġ= Ġargs ĊĊĠĠĠ Ġfragment . set Fragment Stack ( fragments ) ĊĠĠĠ Ġreturn Ġfragment ĊĠ Ġ} ĊĊ Ċ }