package Ġcom . github . shadow socks . plugin . ob fs _ local Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . text . InputType Ċ import Ġandroid . view . View Ċ import Ġandroidx . core . view . update Padding Ċ import Ġandroidx . preference . EditText Preference Ċ import Ġandroidx . preference . List Preference Ċ import Ġandroidx . preference . Preference Ċ import Ġandroidx . preference . Preference Fragment Compat Ċ import Ġcom . github . shadow socks . plugin . Plugin Options Ċ Ċ class ĠConfig Fragment Ġ: ĠPreference Fragment Compat (), ĠPreference . On Preference ChangeListener Ġ{ ĊĠĠĠ Ġprivate Ġval Ġob fs Ġby Ġlazy Ġ{ Ġfind Preference < List Preference >(" ob fs ") !! Ġ} ĊĠĠĠ Ġprivate Ġval Ġob f sh ost Ġby Ġlazy Ġ{ Ġfind Preference < EditText Preference >(" ob fs - host ") !! Ġ} ĊĠĠĠ Ġprivate Ġval Ġob fs uri Ġby Ġlazy Ġ{ Ġfind Preference < EditText Preference >(" ob fs - uri ") !! Ġ} ĊĠĠĠ Ġval Ġoptions Ġget () Ġ= ĠPlugin Options (). apply Ġ{ ĊĠĠĠĠĠĠĠ Ġput (" ob fs ", Ġob fs . value Ġ?: Ġ" http ") ĊĠĠĠĠĠĠĠ Ġput (" ob fs - host ", Ġob f sh ost . text Ġ?: Ġ" cloudfront . net ") ĊĠĠĠĠĠĠĠ Ġ// put (" ob fs - uri ", Ġob fs uri . text Ġ?: Ġ"/") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġon Initialize Plugin Options ( options : ĠPlugin Options ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Log . e (" ob fs . value "," on Initialize Plugin Options Ġ"+ Ġob fs . value ) ĊĠĠĠĠĠĠĠ Ġ// Log . e (" ob fs . value "," options [\" ob fs \"] Ġ"+ Ġoptions [" ob fs "]) ĊĠĠĠĠĠĠĠ Ġob fs . value Ġ= Ġoptions [" ob fs "] Ġ?: Ġ" http " ĊĠĠĠĠĠĠĠ Ġ// Log . e (" ob fs . value "," on Initialize Plugin Options Ġ"+ Ġob fs . value ) ĊĠĠĠĠĠĠĠ Ġob f sh ost . text Ġ= Ġoptions [" ob fs - host "] Ġ?: Ġ" cloudfront . net " ĊĠĠĠĠĠĠĠ Ġ// ob fs uri . text Ġ= Ġoptions [" ob fs - uri "] Ġ?: Ġ"/" ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate Preferences ( savedInstanceState : ĠBundle ?, Ġroot Key : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġadd Preferences From Resource ( R . xml . config ) ĊĠĠĠĠĠĠĠ Ġob fs . on Preference ChangeListener Ġ= Ġthis ĊĠĠĠĠĠĠĠ Ġob f sh ost . setOn Bind EditText Listener Ġ{ Ġit . input Type Ġ= ĠInput Type . TYPE _ TEXT _ VARI ATION _ URI Ġ} ĊĠĠĠĠĠĠĠ Ġob fs uri . isVisible = false ĊĠĠĠĠĠĠĠ Ġob fs uri . isEnabled = false ĊĠĠĠĠĠĠĠ Ġ// ob fs uri . setOn Bind EditText Listener Ġ{ Ġit . input Type Ġ= ĠInput Type . TYPE _ TEXT _ VARI ATION _ URI Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĠĠĠĠĠĠĠ ĠlistView . setOn Apply Window Insets Listener Ġ{ Ġv , Ġin sets Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġin sets . apply Ġ{ Ġv . update Padding ( bottom Ġ= Ġsystem Window Inset Bottom ) Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// if Ġ( savedInstanceState Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠĠĠ Ġon Initialize Plugin Options ( Plugin Options ( savedInstanceState . getString ( Plugin Contract . EXTRA _ OPTIONS ))) ĊĠĠĠĠĠĠĠ Ġ//} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/* ĊĠĠĠ Ġoverride Ġfun Ġon Save InstanceState ( out State : ĠBundle ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Save InstanceState ( out State ) ĊĠĠĠĠĠĠĠ Ġout State . putString ( Plugin Contract . EXTRA _ OPTIONS , Ġoptions . toString ()) ĊĠĠĠ Ġ} ĊĠĠĠ Ġ*/ ĊĊĠĠĠ Ġoverride Ġfun Ġon Preference Change ( preference : ĠPreference ?, ĠnewValue : ĠAny ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} Ċ }