@ file : Suppress (" DE PREC ATION ") Ċ Ċ package Ġfr . g 1 2 3 k . torch _ compat . impl Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . pm . PackageManager Ċ import Ġandroid . graphics . Surface Texture ; Ċ import Ġandroid . hardware . Camera Ċ Ċ class ĠT orch Camera 1 Impl ( private Ġval Ġcontext : ĠContext ) Ġ: ĠBase Torch () Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġcamera : ĠCamera ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġsurface : ĠSurface Texture ? Ġ= Ġnull ĊĊĠĠĠ Ġprivate Ġfun Ġinit Camera (): ĠCamera ? Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( camera Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcamera Ġ= Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCamera . open () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsurface Ġ= ĠSurface Texture ( 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcamera ?. set Preview Texture ( surface ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġcamera ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġturn On () Ġ{ ĊĠĠĠĠĠĠĠ Ġturn ( on Ġ= Ġtrue ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġturn Off () Ġ{ ĊĠĠĠĠĠĠĠ Ġturn ( on Ġ= Ġfalse ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġturn ( on : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcamera Ġ= Ġinit Camera () Ġ?: Ġreturn ĊĊĠĠĠĠĠĠĠ Ġval Ġparams Ġ= Ġcamera . parameters ĊĠĠĠĠĠĠĠ Ġparams . flash Mode Ġ= Ġif Ġ( on ) ĠCamera . Parameters . FLASH _ MODE _ TOR CH ĊĠĠĠĠĠĠĠ Ġelse ĠCamera . Parameters . FLASH _ MODE _ OFF ĊĊĠĠĠĠĠĠĠ Ġcamera . parameters Ġ= Ġparams ĊĊĠĠĠĠĠĠĠ Ġif Ġ( on ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcamera . start Preview () ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcamera . stop Preview () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġhas Torch (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġcontext . package Manager . has System Feature ( PackageManager . FEATURE _ CAMERA _ FLASH ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdispose () Ġ{ ĊĠĠĠĠĠĠĠ Ġsurface ?. release () ĊĠĠĠĠĠĠĠ Ġcamera ?. release () ĊĠĠĠĠĠĠĠ Ġcamera Ġ= Ġnull ĊĠĠĠ Ġ} Ċ Ċ } Ċ