package Ġat . ro tes k re uz . stop cor ona . utils Ċ Ċ import Ġandroid . bluetooth . Bluetooth Adapter Ċ import Ġandroid . content . Activity NotFoundException Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . net . Uri Ċ import Ġandroid . provider . Settings Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġat . ro tes k re uz . stop cor ona . R Ċ import Ġat . ro tes k re uz . stop cor ona . model . exceptions . Sil ent Error Ċ import Ġtim ber . log . Tim ber Ċ Ċ /** Ċ Ġ* ĠThese Ġextensions Ġbelong Ġto Ġthe Ġstarting Ġnew Ġactions Ġbased Ġon Ġintent . Ċ Ġ*/ Ċ Ċ /** Ċ Ġ* ĠStart Ġdial er Ġwith Ġpre - filled Ġphone Ġnumber . Ċ Ġ*/ Ċ fun ĠContext . start Call With PhoneNumber ( phoneNumber : ĠString ) Ġ{ ĊĠĠĠ ĠstartActivity ( Intent ( ĊĠĠĠĠĠĠĠ ĠIntent . ACTION _ DI AL , ĊĠĠĠĠĠĠĠ ĠUri . parse (" tel :" Ġ+ ĠphoneNumber . trim ()) ĊĠĠĠ Ġ)) Ċ } Ċ Ċ /** Ċ Ġ* ĠStart Ġcomp osing Ġemail Ġto Ġ[ email ]. Ċ Ġ*/ Ċ fun ĠFragment . start Mail Compose ( email : ĠString ) Ġ{ ĊĠĠĠ ĠstartActivity ( Intent ( ĊĠĠĠĠĠĠĠ ĠIntent . ACTION _ SEND TO , ĊĠĠĠĠĠĠĠ ĠUri . parse (" mailto :$ email ") ĊĠĠĠ Ġ)) Ċ } Ċ Ċ /** Ċ Ġ* ĠStart Ġbrowser Ġwith Ġ[ url ]. Ċ Ġ*/ Ċ fun ĠFragment . start Default Browser ( url : ĠString ) Ġ{ ĊĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠ ĠstartActivity ( Intent ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠIntent . ACTION _ VIEW , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠUri . parse ( url ) ĊĠĠĠĠĠĠĠ Ġ)) ĊĠĠĠ Ġ} Ġcatch Ġ( e : ĠActivity NotFoundException ) Ġ{ ĊĠĠĠĠĠĠĠ ĠTim ber . e ( Sil ent Error (" Trying Ġto Ġstart Ġbrowser Ġfor ĠURL Ġ'$ url ' Ġfailed ", Ġe )) ĊĠĠĠ Ġ} Ċ } Ċ Ċ /** Ċ Ġ* ĠStart ĠGoogle ĠPlay ĠStore Ġdetail Ġof Ġthe Ġapplication Ġdefined Ġby Ġ[ packageName ]. Ċ Ġ*/ Ċ fun ĠFragment . start Google Play Store ( packageName : ĠString ) Ġ{ ĊĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠ ĠstartActivity ( Intent ( Intent . ACTION _ VIEW , ĠUri . parse (" market :// details ? id =$ packageName "))) ĊĠĠĠ Ġ} Ġcatch Ġ( exc : ĠActivity NotFoundException ) Ġ{ ĊĠĠĠĠĠĠĠ ĠstartActivity ( Intent ( Intent . ACTION _ VIEW , ĠUri . parse (" https :// play . google . com / store / apps / details ? id =$ packageName "))) ĊĠĠĠ Ġ} Ċ } Ċ Ċ /** Ċ Ġ* ĠDisplay Ġdialog Ġto Ġenable Ġbluetooth . Ċ Ġ*/ Ċ fun ĠFragment . start Dialog To Enable Bluetooth () Ġ{ ĊĠĠĠ ĠstartActivity ( ĊĠĠĠĠĠĠĠ ĠIntent ( Bluetooth Adapter . ACTION _ REQUEST _ ENABLE ) ĊĠĠĠ Ġ) Ċ } Ċ Ċ /** Ċ Ġ* ĠOpen Ġsystem Ġsettings Ġof Ġthis Ġapplication . Ċ Ġ*/ Ċ fun ĠContext . start App System Settings () Ġ{ ĊĠĠĠ ĠstartActivity ( Intent ( ĊĠĠĠĠĠĠĠ ĠSettings . ACTION _ APPLICATION _ DETAILS _ SETTINGS , ĊĠĠĠĠĠĠĠ ĠUri . from Parts (" package ", ĠpackageName , Ġnull ) ĊĠĠĠ Ġ)) Ċ } Ċ Ċ /** Ċ Ġ* ĠOpen Ġsystem Ġdialog Ġto Ġenable Ġbluetooth . Ċ Ġ*/ Ċ fun ĠFragment . enable Bluetooth For Result ( request Code : ĠInt ) Ġ{ ĊĠĠĠ Ġval Ġenable Bt Intent Ġ= ĠIntent ( Bluetooth Adapter . ACTION _ REQUEST _ ENABLE ) ĊĠĠĠ ĠstartActivity For Result ( enable Bt Intent , Ġrequest Code ) Ċ } Ċ Ċ /** Ċ Ġ* ĠOpen Ġsystem Ġsharing Ġdialog Ġfor Ġsharing Ġapp Ġlinks Ġto Ġstores . Ċ Ġ*/ Ċ fun ĠFragment . share App () Ġ{ ĊĠĠĠ Ġval Ġsharing Intent Ġ= ĠIntent ( Intent . ACTION _ SEND ) ĊĠĠĠ Ġsharing Intent . type Ġ= Ġ" text / plain " ĊĠĠĠ Ġsharing Intent . putExtra ( Intent . EXTRA _ TEXT , ĠgetString ( R . string . share _ app _ content )) ĊĠĠĠ ĠstartActivity ( Intent . create Chooser ( sharing Intent , ĠgetString ( R . string . share _ app _ cho oser ))) Ċ } Ċ Ċ /** Ċ Ġ* ĠOpen Ġsystem Ġsettings Ġon Ġbattery Ġoptim isation Ġscreen . Ċ Ġ*/ Ċ fun ĠFragment . start Battery Optim isation Settings For Result ( request Code : ĠInt ) Ġ{ ĊĠĠĠ ĠstartActivity For Result ( ĊĠĠĠĠĠĠĠ ĠIntent ( Settings . ACTION _ REQUEST _ IGNORE _ B ATTER Y _ OPTIMI Z ATIONS ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. setData ( Uri . parse (" package :${ require Context (). packageName }") ), ĊĠĠĠĠĠĠĠ Ġrequest Code ĊĠĠĠ Ġ) Ċ }