package Ġcom . stripe . android . camera Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . util . Log Ċ import Ġandroidx . annotation . Restrict To Ċ import Ġandroidx . annotation . String Res Ċ import Ġandroidx . appcompat . app . AlertDialog Ċ Ċ /** Ċ Ġ* ĠA Ġbasic Ġimplementation Ġthat Ġdisplays Ġerror Ġmessages Ġwhen Ġthere Ġis Ġa Ġproblem Ġwith Ġthe Ġcamera . Ċ Ġ*/ Ċ @ Restrict To ( Restrict To . Scope . LIBRARY _ GROUP ) Ċ class ĠDefault Camera Error Listener ( ĊĠĠĠ Ġprivate Ġval Ġcontext : ĠContext , ĊĠĠĠ Ġprivate Ġval Ġcallback : Ġ( Throwable ?) Ġ-> ĠUnit Ċ ) Ġ: ĠCamera Error Listener Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġon Camera Open Error ( cause : ĠThrowable ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġshow Camera Error ( R . string . stripe _ error _ camera _ open , Ġcause ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Camera Access Error ( cause : ĠThrowable ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġshow Camera Error ( R . string . stripe _ error _ camera _ access , Ġcause ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Camera Unsupported Error ( cause : ĠThrowable ?) Ġ{ ĊĠĠĠĠĠĠĠ ĠLog . e ( TAG , Ġ" Camera Ġnot Ġsupported ", Ġcause ) ĊĠĠĠĠĠĠĠ Ġshow Camera Error ( R . string . stripe _ error _ camera _ unsupported , Ġcause ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġshow Camera Error (@ String Res Ġmessage : ĠInt , Ġcause : ĠThrowable ?) Ġ{ ĊĠĠĠĠĠĠĠ ĠAlertDialog . Builder ( context ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. setTitle ( R . string . stripe _ error _ camera _ title ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. setMessage ( message ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Positive Button ( R . string . stripe _ error _ camera _ ack nowledge _ button ) Ġ{ Ġ_, Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcallback ( cause ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. show () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠTAG : ĠString Ġ= ĠDefault Camera Error Listener :: class . java . simple Name ĊĠĠĠ Ġ} Ċ } Ċ