package Ġg app . season . file selector Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġjava . io . File Ċ Ċ object ĠFile Selector Helper Ġ{ ĊĠĠĠ Ġvar Ġlistener : ĠFile Selector Listener ? Ġ= Ġnull ĊĊĠĠĠ Ġfun Ġselect File ( context : ĠContext , Ġrequest Code : ĠInt ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġselect File ( context , Ġrequest Code , Ġfalse , Ġnull ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġselect File ( context : ĠContext , Ġrequest Code : ĠInt , Ġallow Dir : ĠBoolean , Ġpath : ĠString ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( context , ĠFile Selector Activity :: class . java ) ĊĠĠĠĠĠĠĠ Ġif Ġ( context Ġis ĠActivity ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra ( File Selector Activity . EXTRA _ ALLOW _ DIR , Ġallow Dir ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra ( File Selector Activity . EXTRA _ FILE _ PATH , Ġpath ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . startActivity For Result ( intent , Ġrequest Code ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġsave File ( context : ĠContext , Ġfile : ĠFile ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcontext . get SharedPreferences (" File Selector ", ĠContext . MODE _ PRIVATE ). edit (). putString (" last _ select _ file ", Ġfile . absolute Path ). apply () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Saved File ( context : ĠContext ): ĠString ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġcontext . get SharedPreferences (" File Selector ", ĠContext . MODE _ PRIVATE ). getString (" last _ select _ file ", Ġnull ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinterface ĠFile Selector Listener Ġ{ ĊĠĠĠĠĠĠĠ Ġfun ĠonClick File ( activity : ĠActivity , Ġfile : ĠFile ) ĊĠĠĠ Ġ} Ċ } Ċ