package Ġcom . vin ners . cube _ v ish w ak arma . feature _ auth . ui Ċ Ċ import Ġandroid . content . pm . PackageManager Ċ import Ġandroid . widget . Button Ċ import Ġandroidx . activity . view Models Ċ import Ġcom . vin ners . cube _ v ish w ak arma . core . base . Base Activity Ċ import Ġcom . vin ners . cube _ v ish w ak arma . feature _ auth . R Ċ import Ġcom . vin ners . cube _ v ish w ak arma . feature _ auth . databinding . Activity Auth Binding Ċ import Ġcom . vin ners . cube _ v ish w ak arma . feature _ auth . di . Auth ViewModel Factory Ċ import Ġjavax . inject . Inject ĊĊ Ċ class ĠAuth Activity Ġ: ĠBase Activity < Activity Auth Binding , ĠAuth ViewModel >( R . layout . activity _ auth ) Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠPER MISSION _ REQUEST _ STORAGE Ġ= Ġ 2 3 3 ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠREQUEST _ CODE Ġ= Ġ 1 0 1 ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġlateinit Ġvar ĠviewModel Factory : ĠAuth ViewModel Factory ĊĊĠĠĠ Ġoverride Ġval ĠviewModel : ĠAuth ViewModel Ġby Ġview Models Ġ{ ĠviewModel Factory Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Init DependencyInjection () Ġ{ Ċ Ċ // ĠĠĠĠĠĠĠ Ġval Ġcore Component Ġ= Ġ( application Ġas ĠCore Application ). init Or Get Core Dependency () Ċ // ĠĠĠĠĠĠĠ ĠD agger Auth Component Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ. builder () Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ. core Component ( core Component ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Init Data Binding () Ġ{ ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Init ViewModel () Ġ{ ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Request Permissions Result ( ĊĠĠĠĠĠĠĠ Ġrequest Code : ĠInt , ĊĠĠĠĠĠĠĠ Ġpermissions : ĠArray < String >, Ġgrant Results : ĠInt Array ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( request Code ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPER MISSION _ REQUEST _ STORAGE Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( grant Results . isNotEmpty () Ġ&& Ġgrant Results [ 0 ] Ġ== ĠPackage Manager . PERMISSION _ GRAN TED ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// show Camera Option Dialog () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// TODO Ġhandle Ġmanual Ġpermission Ġhere ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊ Ċ } Ċ