package Ġcom . github . jav iers an tos . p ir acy checker . demo Ċ Ċ import Ġandroid . content . Intent Ċ import Ġandroid . net . Uri Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . appcompat . app . AlertDialog Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroidx . appcompat . widget . Toolbar Ċ import Ġandroid . util . Log Ċ import Ġandroid . widget . Radio Group Ċ import Ġcom . github . jav iers an tos . p ir acy checker . allow Ċ import Ġcom . github . jav iers an tos . p ir acy checker . callback Ċ import Ġcom . github . jav iers an tos . p ir acy checker . do Not Allow Ċ import Ġcom . github . jav iers an tos . p ir acy checker . enums . Display Ċ import Ġcom . github . jav iers an tos . p ir acy checker . enums . Installer ID Ċ import Ġcom . github . jav iers an tos . p ir acy checker . onError Ċ import Ġcom . github . jav iers an tos . p ir acy checker . p ir acy Checker Ċ import Ġcom . github . jav iers an tos . p ir acy checker . utils . apk Signature Ċ Ċ @ Suppress (" unused ") Ċ class ĠKotlin Activity Ġ: ĠAppCompatActivity () Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġp ir acy Checker Display Ġ= ĠDisplay . DIALOG ĊĠĠĠĠĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ main ) ĊĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠ Ġval Ġtoolbar Ġ= ĠfindViewById < Toolbar >( R . id . toolbar ) ĊĠĠĠĠĠĠĠ Ġval Ġradio Display Ġ= ĠfindViewById < Radio Group >( R . id . radio _ display ) ĊĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠ Ġset Support ActionBar ( toolbar ) ĊĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠ Ġradio Display . setOn Checked ChangeListener Ġ{ Ġ_, Ġi Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( i ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . radio _ dialog Ġ-> Ġp ir acy Checker Display Ġ= ĠDisplay . DIALOG ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . radio _ activity Ġ-> Ġp ir acy Checker Display Ġ= ĠDisplay . ACTIVITY ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠ Ġ// ĠShow ĠA PK Ġsignature ĊĠĠĠĠĠĠĠ ĠLog . e (" Signature ", Ġapk Signature ) ĊĠĠĠ Ġ} ĊĠĠĠĠĊĠĠĠ Ġfun Ġto Github () Ġ{ ĊĠĠĠĠĠĠĠ ĠstartActivity ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠIntent ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIntent . ACTION _ VIEW , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠUri . parse (" https :// github . com / jav iers an tos / p ir acy Checker "))) ĊĠĠĠ Ġ} ĊĠĠĠĠĊĠĠĠ Ġfun Ġverify Signature () Ġ{ ĊĠĠĠĠĠĠĠ Ġp ir acy Checker Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdisplay ( p ir acy Checker Display ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġenable Signing Certificate (" 4 7 8 y Y k K AQ F + K ST 8 y 4 AT Kv Hk Yi bo =") Ġ// ĠWrong Ġsignature ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// enable Signing Certificate (" V HZ s 2 ai T Bi ap / F + AY h Ye ppy 0 a F 0 =") Ġ// ĠRight Ġsignature ĊĠĠĠĠĠĠĠ Ġ}. start () ĊĠĠĠ Ġ} ĊĠĠĠĠĊĠĠĠ Ġfun Ġread Signature () Ġ{ ĊĠĠĠĠĠĠĠ ĠLog . e (" Signature ", Ġapk Signature ) ĊĠĠĠĠĠĠĠ ĠAlertDialog . Builder ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. setTitle (" AP K ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. setMessage ( apk Signature ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. show () ĊĠĠĠ Ġ} ĊĠĠĠĠĊĠĠĠ Ġfun Ġverify Installer Id () Ġ{ ĊĠĠĠĠĠĠĠ Ġp ir acy Checker Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdisplay ( p ir acy Checker Display ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġenable Installer Id ( Installer ID . GOOGLE _ PLAY ) ĊĠĠĠĠĠĠĠ Ġ}. start () ĊĠĠĠ Ġ} ĊĠĠĠĠĊĠĠĠ Ġfun Ġverify Unauthorized Apps () Ġ{ ĊĠĠĠĠĠĠĠ Ġp ir acy Checker Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdisplay ( p ir acy Checker Display ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġenable Unauthorized Apps Check () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// block If Unauthorized App Un installed (" license _ checker ", Ġ" block ") ĊĠĠĠĠĠĠĠ Ġ}. start () ĊĠĠĠ Ġ} ĊĠĠĠĠĊĠĠĠ Ġfun Ġverify Stores () Ġ{ ĊĠĠĠĠĠĠĠ Ġp ir acy Checker Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdisplay ( p ir acy Checker Display ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġenable Stores Check () ĊĠĠĠĠĠĠĠ Ġ}. start () ĊĠĠĠ Ġ} ĊĠĠĠĠĊĠĠĠ Ġfun Ġverify Debug () Ġ{ ĊĠĠĠĠĠĠĠ Ġp ir acy Checker Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdisplay ( p ir acy Checker Display ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġenable Debug Check () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcallback Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġallow Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠDo Ġsomething Ġwhen Ġthe Ġuser Ġis Ġallowed Ġto Ġuse Ġthe Ġapp ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdo Not Allow Ġ{ Ġp ir acy Checker Error , Ġp ir ate App Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠYou Ġcan Ġeither Ġdo Ġsomething Ġspecific Ġwhen Ġthe Ġuser Ġis Ġnot Ġallowed Ġto Ġuse Ġthe Ġapp ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠOr Ġmanage Ġthe Ġerror , Ġusing Ġthe Ġ' error ' Ġparameter , Ġyourself Ġ( Check Ġerrors Ġat Ġ{@ link ĠP ir acy Checker Error }). ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠAdditionally , Ġif Ġyou Ġenabled Ġthe Ġcheck Ġof Ġp ir ate Ġapps Ġand / or Ġthird - party Ġstores , Ġthe Ġ' app ' Ġparam ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġis Ġthe Ġapp Ġthat Ġhas Ġbeen Ġdetected Ġon Ġdevice . ĠApp Ġcan Ġbe Ġnull , Ġand Ġwhen Ġnull , Ġit Ġmeans Ġno Ġp ir ate Ġapp Ġor Ġstore Ġwas Ġfound , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġor Ġyou Ġdisabled Ġthe Ġcheck Ġfor Ġthose Ġapps . ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠThis Ġallows Ġyou Ġto Ġlet Ġusers Ġknow Ġthe Ġpossible Ġreasons Ġwhy Ġlicense Ġis Ġbeen Ġinvalid . ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonError Ġ{ Ġerror Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠThis Ġmethod Ġis Ġnot Ġrequired Ġto Ġbe Ġimplemented / over rid en Ġbut ... ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠYou Ġcan Ġeither Ġdo Ġsomething Ġspecific Ġwhen Ġan Ġerror Ġoccurs Ġwhile Ġchecking Ġthe Ġlicense , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠOr Ġmanage Ġthe Ġerror , Ġusing Ġthe Ġ' error ' Ġparameter , Ġyourself Ġ( Check Ġerrors Ġat Ġ{@ link ĠP ir acy Checker Error }). ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}. start () ĊĠĠĠ Ġ} ĊĠĠĠĠĊĠĠĠ Ġfun Ġverify Em ulator () Ġ{ ĊĠĠĠĠĠĠĠ Ġp ir acy Checker Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdisplay ( p ir acy Checker Display ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġenable Em ulator Check ( false ) ĊĠĠĠĠĠĠĠ Ġ}. start () ĊĠĠĠ Ġ} Ċ }