package Ġcom . esc ude sign at re zz i . commons . dialogs Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . support . v 7 . app . AlertDialog Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . RadioButton Ċ import Ġandroid . widget . Radio Group Ċ import Ġcom . esc ude sign at re zz i . commons . R Ċ import Ġcom . esc ude sign at re zz i . commons . extensions .* Ċ import Ġkotlinx . android . synt hetic . main . dialog _ radio _ group . view .* ĊĊ Ċ class ĠStorage Picker Dialog ( val Ġcontext : ĠContext , Ġcurr Path : ĠString , Ġval Ġcallback : Ġ( pick ed Path : ĠString ) Ġ-> ĠUnit ) Ġ{ ĊĠĠĠ Ġvar Ġm Dialog : ĠAlertDialog ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġinflater Ġ= ĠLayoutInflater . from ( context ) ĊĠĠĠĠĠĠĠ Ġval Ġresources Ġ= Ġcontext . resources ĊĠĠĠĠĠĠĠ Ġval ĠbasePath Ġ= Ġcurr Path . getBase Path ( context ) ĊĠĠĠĠĠĠĠ Ġval Ġlayout Params Ġ= ĠRadio Group . LayoutParams ( ViewGroup . LayoutParams . MATCH _ PARENT , ĠViewGroup . LayoutParams . WRAP _ CONTENT ) ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= Ġinflater . inflate ( R . layout . dialog _ radio _ group , Ġnull ) ĊĠĠĠĠĠĠĠ Ġval Ġradio Group Ġ= Ġview . dialog _ radio _ group ĊĊĠĠĠĠĠĠĠ Ġval Ġinternal Button Ġ= Ġinflater . inflate ( R . layout . radio _ button , Ġnull ) Ġas ĠRadio Button ĊĠĠĠĠĠĠĠ Ġinternal Button . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġresources . getString ( R . string . internal ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Checked Ġ= ĠbasePath Ġ== Ġcontext . internal Storage Path ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset OnClickListener Ġ{ Ġinternal Pick ed () Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġradio Group . addView ( internal Button , Ġlayout Params ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( context . has External SD Card ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsd Button Ġ= Ġinflater . inflate ( R . layout . radio _ button , Ġnull ) Ġas ĠRadio Button ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsd Button . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġresources . getString ( R . string . sd _ card ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Checked Ġ= ĠbasePath Ġ== Ġcontext . sd Card Path ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset OnClickListener Ġ{ Ġsd Pick ed () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġradio Group . addView ( sd Button , Ġlayout Params ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġroot Button Ġ= Ġinflater . inflate ( R . layout . radio _ button , Ġnull ) Ġas ĠRadio Button ĊĠĠĠĠĠĠĠ Ġroot Button . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġresources . getString ( R . string . root ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Checked Ġ= ĠbasePath Ġ== Ġ"/" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset OnClickListener Ġ{ Ġroot Pick ed () Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġradio Group . addView ( root Button , Ġlayout Params ) ĊĊĠĠĠĠĠĠĠ Ġm Dialog Ġ= ĠAlertDialog . Builder ( context ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. create (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . setup Dialog Stuff ( view , Ġthis , ĠR . string . select _ storage ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinternal Pick ed () Ġ{ ĊĠĠĠĠĠĠĠ Ġm Dialog . dismiss () ĊĠĠĠĠĠĠĠ Ġcallback ( context . internal Storage Path ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġsd Pick ed () Ġ{ ĊĠĠĠĠĠĠĠ Ġm Dialog . dismiss () ĊĠĠĠĠĠĠĠ Ġcallback ( context . sd Card Path ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġroot Pick ed () Ġ{ ĊĠĠĠĠĠĠĠ Ġm Dialog . dismiss () ĊĠĠĠĠĠĠĠ Ġcallback ("/") ĊĠĠĠ Ġ} Ċ } Ċ