package Ġde . ad ors ys . android . f ingers ample Ċ Ċ import Ġandroid . annotation . Suppress Lint Ċ import Ġandroid . graphics . drawable . Drawable Ċ import Ġandroid . hardware . fingerprint . Fingerprint Manager Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . widget . Button Ċ import Ġandroid . widget . ImageView Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroidx . core . content . res . Resources Compat Ċ import Ġde . ad ors ys . android . f inger . F inger Ċ import Ġde . ad ors ys . android . f inger . F inger Listener Ċ Ċ class ĠMainActivity Ġ: ĠAppCompatActivity (), ĠF inger Listener Ġ{ ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġfinger : ĠF inger ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġfingerprint Icon : ĠImageView ĊĊĠĠĠ Ġprivate Ġvar Ġicon Fingerprint Enabled : ĠDrawable ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġicon Fingerprint Error : ĠDrawable ? Ġ= Ġnull ĊĊĊĠĠĠ Ġ@ Suppress Lint (" In lined Api ") ĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ main ) ĊĠĠĠĠĠĠĠ Ġfinger Ġ= ĠF inger ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis , Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( Fingerprint Manager . F ING ER PRINT _ ERROR _ HW _ UN AVAILABLE , ĠgetString ( R . string . error _ override _ hw _ un available )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Resume () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Resume () ĊĊĠĠĠĠĠĠĠ Ġicon Fingerprint Enabled Ġ= ĠResources Compat . get Drawable ( resources , ĠR . drawable . ic _ fingerprint _ on , Ġtheme ) ĊĠĠĠĠĠĠĠ Ġicon Fingerprint Error Ġ= ĠResources Compat . get Drawable ( resources , ĠR . drawable . ic _ fingerprint _ off , Ġtheme ) ĊĊĠĠĠĠĠĠĠ Ġfinger . subscribe ( this ) ĊĊĠĠĠĠĠĠĠ Ġval Ġfingerprint s Enabled Ġ= Ġfinger . has Fingerprint En rolled () ĊĊĠĠĠĠĠĠĠ Ġfingerprint Icon Ġ= ĠfindViewById ( R . id . login _ fingerprint _ icon ) ĊĠĠĠĠĠĠĠ Ġfingerprint Icon . setImage Drawable ( if Ġ( fingerprint s Enabled ) Ġicon Fingerprint Enabled Ġelse Ġicon Fingerprint Error ) ĊĠĠĠĠĠĠĠ Ġval Ġshow Dialog Button Ġ= ĠfindViewById < Button >( R . id . show _ dialog _ button ) ĊĠĠĠĠĠĠĠ Ġshow Dialog Button . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshow Dialog () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ(! fingerprint s Enabled ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( this , ĠR . string . error _ override _ hw _ un available , ĠToast . LENGTH _ LONG ). show () ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshow Dialog () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Pause () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Pause () ĊĠĠĠĠĠĠĠ Ġfinger . un Subscribe () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġshow Dialog () Ġ{ ĊĠĠĠĠĠĠĠ Ġfinger . show Dialog ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠF inger . Dialog Strings ( title Ġ= ĠgetString ( R . string . text _ fingerprint )) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Fingerprint Authentication Success () Ġ{ ĊĠĠĠĠĠĠĠ ĠToast . makeText ( this , ĠR . string . message _ success , ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠ Ġfingerprint Icon . setImage Drawable ( icon Fingerprint Enabled ) ĊĠĠĠĠĠĠĠ Ġfinger . subscribe ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Fingerprint Authentication Failure ( errorMessage : ĠString , ĠerrorCode : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ ĠToast . makeText ( this , ĠerrorMessage , ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠ Ġfingerprint Icon . setImage Drawable ( icon Fingerprint Error ) ĊĠĠĠĠĠĠĠ Ġfinger . subscribe ( this ) ĊĠĠĠ Ġ} Ċ } Ċ