package Ġme . zhi y ao . wat ere ver . ext s Ċ Ċ import Ġandroid . content . pm . PackageManager Ċ import Ġandroidx . core . app . Activity Compat Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġme . zhi y ao . wat ere ver . log . Logger Ċ Ċ /** Ċ Ġ* Ċ Ġ* Ġ@ author ĠWang Z hi Y ao Ċ Ġ* Ġ@ date Ġ 2 0 2 0 / 9 / 4 Ċ Ġ*/ Ċ private Ġconst Ġval ĠTAG Ġ= Ġ" Fragment Ext " Ċ Ċ fun ĠFragment . check Self Permission Compat ( permission : ĠString ): ĠInt Ġ{ ĊĠĠĠ Ġreturn Ġtry Ġ{ ĊĠĠĠĠĠĠĠ ĠActivity Compat . check Self Permission ( require Activity (), Ġpermission ) ĊĠĠĠ Ġ} Ġcatch Ġ( ex : ĠIllegalStateException ) Ġ{ ĊĠĠĠĠĠĠĠ ĠLogger . e ( TAG , Ġex ) ĊĠĠĠĠĠĠĠ ĠPackage Manager . PERMISSION _ DEN IED ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun ĠFragment . should Show Request Permission R ationale Compat ( permission : ĠString ): ĠBoolean Ġ{ ĊĠĠĠ Ġreturn Ġtry Ġ{ ĊĠĠĠĠĠĠĠ ĠActivity Compat . should Show Request Permission R ationale ( require Activity (), Ġpermission ) ĊĠĠĠ Ġ} Ġcatch Ġ( ex : ĠIllegalStateException ) Ġ{ ĊĠĠĠĠĠĠĠ ĠLogger . e ( TAG , Ġex ) ĊĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun ĠFragment . request Permissions Compat ( ĊĠĠĠ Ġpermissions Array : ĠArray < String >, ĊĠĠĠ Ġrequest Code : ĠInt Ċ ) Ġ{ ĊĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . request Permissions ( permissions Array , Ġrequest Code ) ĊĠĠĠ Ġ} Ġcatch Ġ( ex : ĠIllegalStateException ) Ġ{ ĊĠĠĠĠĠĠĠ ĠLogger . e ( TAG , Ġex ) ĊĠĠĠ Ġ} Ċ }