package Ġcom . w zn . lib ar ay . utils . permission Ċ Ċ import Ġandroid . app . Activity Ċ import Ġcom . t br uy elle . rx permissions . Rx Permissions Ċ import Ġcom . w zn . lib ar ay . view . dialog . Alert Model Ċ import Ġcom . w zn . lib ar ay . view . dialog . Dialog Util Ċ import Ġrx . android . schedul ers . Android Schedulers Ċ Ċ /** Ċ Ġ* ĠCreated Ġby ĠR ona Ġon Ġ 2 0 1 7 / 4 / 1 4 . Ċ Ġ*/ Ċ Ċ object ĠPermission Util Ġ{ ĊĠĠĠ Ġinterface ĠOn Permission Result Listener Ġ{ ĊĠĠĠĠĠĠĠ Ġ// æİĪ äºĪ æĿĥéĻĲ ĊĠĠĠĠĠĠĠ Ġfun Ġon Permission Granted () ĊĊĠĠĠĠĠĠĠ Ġ// æİĪ äºĪ åıĸæ¶Ī æĿĥéĻĲ ĊĠĠĠĠĠĠĠ Ġfun Ġon Permission Grant Cancel () ĊĊĠĠĠĠĠĠĠ Ġ// æİĪ äºĪ è®¾ç½® æĿĥéĻĲ ĊĠĠĠĠĠĠĠ Ġfun Ġon Permission Grant Set () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġcheck Perm mission ( activity : ĠActivity , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġalert Mod le : ĠAlert Model , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Permission Result Listener : ĠOn Permission Result Listener ?, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar arg Ġpermission : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġrx Permissions Ġ= ĠRx Permissions ( activity ) ĊĠĠĠĠĠĠĠ Ġrx Permissions ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. request (* permission ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe Ġ{ Ġgranted Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( gr anted ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Permission Result Listener ?. on Permission Granted () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDialog Util . show Common Dialog ( activity , Ġalert Mod le , Ġobject Ġ: ĠAlert Model . On AlertDialog ClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Positive Click () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Permission Result Listener ?. on Permission Grant Set () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Negative Click () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Permission Result Listener ?. on Permission Grant Cancel () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġcheck Perm mission ( activity : ĠActivity , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Permission Result Listener : ĠOn Permission Result Listener ?, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar arg Ġpermission : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġrx Permissions Ġ= ĠRx Permissions ( activity ) ĊĠĠĠĠĠĠĠ Ġrx Permissions ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. request (* permission ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. observe On ( Android Schedulers . main Thread ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ({ Ġgranted Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( gr anted ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Permission Result Listener ?. on Permission Granted () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Permission Result Listener ?. on Permission Grant Cancel () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} Ċ Ċ } Ċ