package Ġcom . k vs . google fit reporter Ċ Ċ import Ġandroid . app . Activity Ċ import Ġcom . google . android . gms . auth . api . signin . Google SignIn Ċ import Ġcom . google . android . gms . auth . api . signin . Google SignIn Account Ċ import Ġcom . google . android . gms . fitness . Fitness Options Ċ import Ġcom . k vs . google fit reporter . model . Health Type Ċ Ċ class ĠGoogle Fit Manager ( private Ġval Ġactivity : ĠActivity ) Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠGOOGLE _ FIT _ REPORT ER _ PERMISSION S _ REQUEST _ CODE Ġ= Ġ 1 0 0 0 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġfitness Options : ĠF itness Options ĊĊĠĠĠ Ġlateinit Ġvar Ġaccount : ĠGoogle SignIn Account ĊĊĠĠĠ Ġ@ Throws ( Google Fit Request Permissions Exception :: class ) ĊĠĠĠ Ġfun Ġhas Permissions ( ĊĠĠĠĠĠĠĠ Ġto Read Types : ĠSet < Health Type >, ĊĠĠĠĠĠĠĠ Ġto Write Types : ĠSet < Health Type > ĊĠĠĠ Ġ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġfitness Options Ġ= ĠF itness Options . builder (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġto Read Types . forEach Ġ{ Ġadd DataType ( it . as Original (), ĠF itness Options . ACCESS _ READ ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġto Write Types . forEach Ġ{ Ġadd DataType ( it . as Original (), ĠF itness Options . ACCESS _ WRITE ) Ġ} ĊĠĠĠĠĠĠĠ Ġ}. build () ĊĠĠĠĠĠĠĠ Ġaccount Ġ= ĠGoogle SignIn . get Account For Extension ( activity , Ġfitness Options ) ĊĠĠĠĠĠĠĠ Ġif Ġ(! this :: account . isInitialized Ġ|| Ġ! this :: fitness Options . isInitialized ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠGoogle Fit Request Permissions Exception (" Authorize Ġfirst ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn ĠGoogle SignIn . has Permissions ( account , Ġfitness Options ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Throws ( Google Fit Request Permissions Exception :: class ) ĊĠĠĠ Ġfun Ġrequest Permissions () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ(! this :: account . isInitialized Ġ|| Ġ! this :: fitness Options . isInitialized ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠGoogle Fit Request Permissions Exception (" Authorize Ġfirst ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠGoogle SignIn . request Permissions ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġactivity , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGOOGLE _ FIT _ REPORT ER _ PERMISSION S _ REQUEST _ CODE , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġaccount , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfitness Options ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } ĊĊ