package Ġcom . d roid co . al ak az am . core Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . content . Intent Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġcom . d roid co . al ak az am . views . Image Picker Activity Ċ import Ġkotlin . IllegalStateException Ċ Ċ class ĠAl ak az am Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġactivity : ĠActivity ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġfragment : ĠFragment ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġrequest Code : ĠInt Ġ= Ġ 0 ĊĠĠĠ Ġprivate Ġvar Ġmax Selection : ĠInt Ġ= Ġ 1 0 ĊĠĠĠ Ġprivate Ġvar Ġdisable Camera : ĠBoolean Ġ= Ġfalse ĊĠĠĠ Ġprivate Ġvar Ġsingle Select : ĠBoolean Ġ= Ġtrue ĊĊĠĠĠ Ġfun Ġrequest Code ( request Code : ĠInt ) Ġ= Ġapply Ġ{ Ġthis . request Code Ġ= Ġrequest Code Ġ} ĊĠĠĠ Ġprivate Ġfun Ġmax Selection ( max Selection : ĠInt ) Ġ= Ġapply Ġ{ Ġthis . max Selection Ġ= Ġmax Selection Ġ} ĊĠĠĠ Ġprivate Ġfun Ġdisable Camera ( disable Camera : ĠBoolean ) Ġ= Ġapply Ġ{ Ġthis . disable Camera Ġ= Ġdisable Camera Ġ} ĊĠĠĠ Ġfun Ġfrom Activity ( activity : ĠActivity ) Ġ= Ġapply Ġ{ Ġthis . activity Ġ= Ġactivity Ġ} ĊĠĠĠ Ġfun Ġfrom Fragment ( fragment : ĠFragment ) Ġ= Ġapply Ġ{ Ġthis . fragment Ġ= Ġfragment Ġ} ĊĠĠĠ Ġprivate Ġfun Ġsingle Select ( single Select : ĠBoolean ) Ġ= Ġapply Ġ{ Ġthis . single Select Ġ= Ġsingle Select Ġ} ĊĊĠĠĠ Ġfun Ġshow () Ġ{ ĊĊĊĠĠĠĠĠĠĠ Ġif Ġ( activity Ġ== Ġnull Ġ&& Ġfragment Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠIllegalStateException (" No ĠActivity Ġor ĠFragment Ġwas Ġpassed . ĠFunction Ġrequired Ġ- Ġfrom Activity Ġor Ġfrom Fragment ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent () ĊĠĠĠĠĠĠĠ Ġif Ġ( activity Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity For Result ( activity !! , Ġrequest Code , Ġintent ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity For Result ( fragment !! , Ġrequest Code , Ġintent ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠstartActivity For Result ( ĊĠĠĠĠĠĠĠ Ġfragment : ĠFragment , ĊĠĠĠĠĠĠĠ Ġrequest Code : ĠInt , ĊĠĠĠĠĠĠĠ Ġintent : ĠIntent ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġintent . set Class ( fragment . context !! , ĠImage Picker Activity :: class . java ) ĊĠĠĠĠĠĠĠ Ġfragment . startActivity For Result ( intent , Ġrequest Code ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠstartActivity For Result ( ĊĠĠĠĠĠĠĠ Ġactivity : ĠActivity , ĊĠĠĠĠĠĠĠ Ġrequest Code : ĠInt , ĊĠĠĠĠĠĠĠ Ġintent : ĠIntent ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġintent . set Class ( activity , ĠImage Picker Activity :: class . java ) ĊĠĠĠĠĠĠĠ Ġactivity . startActivity For Result ( intent , Ġrequest Code ) ĊĠĠĠ Ġ} Ċ }