/* Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 1 8 ĠThe ĠAndroid ĠOpen ĠSource ĠProject Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġcom . android . tools . lint . checks Ċ Ċ import Ġcom . android . tools . lint . detector . api . Detector Ċ Ċ class ĠDeleted Provider Detector Test Ġ: ĠAbstract Check Test () Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġget Detector (): ĠDetector Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠDeleted Provider Detector () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġtest Scenario () Ġ{ ĊĠĠĠĠĠĠĠ Ġlint (). files ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjava ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpackage Ġtest . pkg ; ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimport Ġjavax . crypto . Cipher ; ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimport Ġjavax . crypto . Key Generator ; ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimport Ġjavax . crypto . NoSuch Padding Exception ; ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimport Ġjavax . crypto . SecretKey ; ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimport Ġjavax . crypto . spec . Iv Parameter Spec ; ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimport Ġjava . security . NoSuch AlgorithmException ; ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimport Ġjava . security . NoSuch Provider Exception ; ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimport Ġjava . security . Secure Random ; ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ SuppressWarnings ({" Field Can Be Local ", Ġ" Empty Catch Block ", Ġ" ClassName Diff ers From FileName ", Ġ" Try With Ident ical Cat ches "}) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpublic Ġclass ĠRemoved Generator Test Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġstatic Ġbyte [] Ġf 3 3 4 1 b ; ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġstatic Ġbyte [] Ġf 3 3 4 0 a ; ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġstatic ĠSecret Key Ġf 3 3 4 2 c ; ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġstatic ĠI v Parameter Spec Ġf 3 3 4 3 d ; ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġstatic ĠCipher Ġf 3 3 4 4 e ; ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstatic Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSystem . load Library (" New Secret JNI "); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( f 3 3 4 0 a Ġ!= Ġnull Ġ&& Ġf 3 3 4 1 b Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠKey Generator Ġinstance Ġ= ĠKey Generator . getInstance (" AES "); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSecure Random Ġinstance 2 Ġ= ĠSecure Random . getInstance (" SHA 1 PR NG ", Ġ" Crypto "); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinstance 2 . set Seed ( f 3 3 4 0 a ); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinstance . init ( 1 2 8 , Ġinstance 2 ); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġf 3 3 4 2 c Ġ= Ġinstance . generate Key (); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġf 3 3 4 3 d Ġ= Ġnew ĠI v Parameter Spec ( f 3 3 4 1 b ); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġf 3 3 4 4 e Ġ= ĠCipher . getInstance (" AES / CBC / PKCS 5 Padding "); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( NoSuch AlgorithmException Ġe ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( NoSuch Padding Exception Ġe 2 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( NoSuch Provider Exception Ġe 3 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġe 3 . printStackTrace (); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). indent ed () ĊĠĠĠĠĠĠĠ Ġ). run (). expect ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsrc / test / pkg / Removed Generator Test . java : 2 4 : ĠError : ĠThe ĠCrypto Ġprovider Ġhas Ġbeen Ġdeleted Ġin ĠAndroid ĠP Ġ( and Ġwas Ġdeprecated Ġin ĠAndroid ĠN ), Ġso Ġthe Ġcode Ġwill Ġcrash Ġ[ Deleted Provider ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSecure Random Ġinstance 2 Ġ= ĠSecure Random . getInstance (" SHA 1 PR NG ", Ġ" Crypto "); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ ~~~~~~~~ ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 Ġerrors , Ġ 0 Ġwarnings ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ