package Ġcom . quick blo x . sample . video chat . kotlin . activities Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . content . SharedPreferences Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . preference . EditText Preference Ċ import Ġcom . quick blo x . sample . video chat . kotlin . R Ċ import Ġcom . quick blo x . sample . video chat . kotlin . fragments . Settings Fragment Ċ import Ġcom . quick blo x . sample . video chat . kotlin . utils . long Toast Ċ import Ġcom . quick blo x . sample . video chat . kotlin . view . Seek Bar Preference Ċ Ċ private Ġconst Ġval ĠMAX _ VIDEO _ START _ BIT RATE Ġ= Ġ 2 0 0 0 Ċ Ċ class ĠSettings Activity Ġ: ĠBase Activity (), ĠSharedPreferences . On Shared Preference ChangeListener Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġbit rate String Key : ĠString ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġsettings Fragment : ĠSettings Fragment ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġstart ( context : ĠContext ) Ġ= Ġcontext . startActivity ( Intent ( context , ĠSettings Activity :: class . java )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġsupport ActionBar ?. title Ġ= ĠgetString ( R . string . action bar _ title _ settings ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠDisplay Ġthe Ġfragment Ġas Ġthe Ġmain Ġcontent . ĊĠĠĠĠĠĠĠ Ġsettings Fragment Ġ= ĠSettings Fragment () ĊĠĠĠĠĠĠĠ Ġfragment Manager . beginTransaction () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. replace ( android . R . id . content , Ġsettings Fragment ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. commit () ĊĠĠĠĠĠĠĠ Ġbit rate String Key Ġ= ĠgetString ( R . string . pref _ start bit rate value _ key ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Resume () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Resume () ĊĠĠĠĠĠĠĠ Ġval Ġshared Preferences Ġ= Ġsettings Fragment . preference Screen . shared Preferences ĊĠĠĠĠĠĠĠ Ġshared Preferences . register On Shared Preference ChangeListener ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Pause () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Pause () ĊĠĠĠĠĠĠĠ Ġval Ġshared Preferences Ġ= Ġsettings Fragment . preference Screen . shared Preferences ĊĠĠĠĠĠĠĠ Ġshared Preferences . unregister On Shared Preference ChangeListener ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Shared Preference Changed ( shared Preferences : ĠSharedPreferences ?, Ġkey : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( key Ġ== Ġbit rate String Key ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbit rate Value Ġ= Ġshared Preferences ?. getInt ( bit rate String Key , ĠInteger . parseInt ( getString ( R . string . pref _ start bit rate value _ default ))) !! ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( bit rate Value Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠsetDefault starting Bit rate ( shared Preferences ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( bit rate Value Ġ> ĠMAX _ VIDEO _ START _ BIT RATE ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlong Toast (" Max Ġvalue Ġis :$ MAX _ VIDEO _ START _ BIT RATE ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠsetDefault starting Bit rate ( shared Preferences ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠsetDefault starting Bit rate ( shared Preferences : ĠSharedPreferences ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġeditor Ġ= Ġshared Preferences . edit () ĊĠĠĠĠĠĠĠ Ġeditor . put Int ( bit rate String Key , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠInteger . parseInt ( getString ( R . string . pref _ start bit rate value _ default ))) ĊĠĠĠĠĠĠĠ Ġeditor . apply () ĊĠĠĠĠĠĠĠ Ġupdate Summary ( shared Preferences , Ġbit rate String Key ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġupdate Summary ( shared Preferences : ĠSharedPreferences , Ġkey : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġupdated Pref Ġ= Ġsettings Fragment . find Preference ( key ) ĊĠĠĠĠĠĠĠ Ġ// ĠSet Ġsummary Ġto Ġbe Ġthe Ġuser - description Ġfor Ġthe Ġselected Ġvalue ĊĠĠĠĠĠĠĠ Ġif Ġ( updated Pref Ġis ĠEditText Preference ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġupdated Pref . text Ġ= Ġshared Preferences . getString ( key , Ġ"") ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( updated Pref Ġis ĠSeek Bar Preference ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġupdated Pref . set Summary ( shared Preferences . getInt ( key , Ġ 0 ). toString ()) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġupdated Pref ?. summary Ġ= Ġshared Preferences . getString ( key , Ġ"") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }