package Ġcom . v ictor lap in . flash er . model . repository Ċ Ċ import Ġandroid . content . pm . PackageManager Ċ import Ġandroid . graphics . drawable . Drawable Ċ import Ġandroidx . annotation . Drawable Res Ċ import Ġandroidx . annotation . String Res Ċ import Ġcom . am uly ak h are . text drawable . Text Drawable Ċ import Ġcom . am uly ak h are . text drawable . util . Color Generator Ċ import Ġcom . v ictor lap in . flash er . About External Screen Ċ import Ġcom . v ictor lap in . flash er . O ss Screen Ċ import Ġcom . v ictor lap in . flash er . R Ċ import Ġcom . v ictor lap in . flash er . manager . Resources Manager Ċ import Ġcom . v ictor lap in . flash er . manager . Services Manager Ċ import Ġru . ter r ak ok . c icer one . Screen Ċ Ċ class ĠAbout Repository ( ĊĠĠĠ Ġprivate Ġval Ġm Services : ĠServices Manager , ĊĠĠĠ Ġprivate Ġval Ġm Resources : ĠResources Manager Ċ ) Ġ{ ĊĠĠĠ Ġprivate Ġval Ġm Color Generator Ġ= ĠColor Generator . MAT ERIAL ĊĠĠĠ Ġprivate Ġval Ġm Builder Ġ= ĠText Drawable . builder () ĊĠĠĠĠĠĠĠ Ġ. begin Config () ĊĠĠĠĠĠĠĠ Ġ. textColor ( m Resources . getColor ( android . R . color . white )) ĊĠĠĠĠĠĠĠ Ġ. fontSize ( 4 8 ) ĊĠĠĠĠĠĠĠ Ġ. bold () ĊĠĠĠĠĠĠĠ Ġ. toUpperCase () ĊĠĠĠĠĠĠĠ Ġ. end Config () ĊĠĠĠĠĠĠĠ Ġ. round () ĊĊĠĠĠ Ġfun ĠgetData (): ĠList < ListItem > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= ĠArrayList < ListItem >() ĊĊĠĠĠĠĠĠĠ Ġ// Ġshow Ġversions ĊĠĠĠĠĠĠĠ Ġresult . add ( ListItem ( name Ġ= ĠITEM _ VERSION S )) ĊĠĠĠĠĠĠĠ Ġ// Ġthe Ġapp Ġitself ĊĠĠĠĠĠĠĠ Ġresult . add ( getApp Info ( m Services . self PackageName )) ĊĊĠĠĠĠĠĠĠ Ġ// Ġshow Ġdevelopers ĊĠĠĠĠĠĠĠ Ġresult . add ( ListItem ( name Ġ= ĠITEM _ TEAM )) ĊĠĠĠĠĠĠĠ Ġresult . add ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Credit Item ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Res Ġ= ĠR . string . about _ team _ v ictor , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Res Ġ= ĠR . string . about _ developer ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġ// Ġshow Ġlinks ĊĠĠĠĠĠĠĠ Ġresult . add ( ListItem ( name Ġ= ĠITEM _ LIN KS )) ĊĠĠĠĠĠĠĠ Ġresult . add ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Link Item ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Res Ġ= ĠR . string . about _ links _ source _ code , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Res Ġ= ĠR . string . about _ links _ gitlab , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimage Res Ġ= ĠR . drawable . git , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscreen Ġ= ĠAbout External Screen (" https :// gitlab . com / v ictor lap in / flash er ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġresult . add ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Link Item ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Res Ġ= ĠR . string . about _ links _ oss , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Res Ġ= ĠR . string . about _ links _ oss _ text , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimage Res Ġ= ĠR . drawable . library , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscreen Ġ= ĠO ss Screen () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġ// Ġshow Ġcredits ĊĠĠĠĠĠĠĠ Ġresult . add ( ListItem ( name Ġ= ĠITEM _ CRED ITS )) ĊĠĠĠĠĠĠĠ Ġresult . add ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Credit Item ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Res Ġ= ĠR . string . about _ credits _ ba uke , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Res Ġ= ĠR . string . about _ credits _ ba uke _ text ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġresult . add ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Credit Item ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Res Ġ= ĠR . string . about _ credits _ d ave , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Res Ġ= ĠR . string . about _ credits _ d ave _ text ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġresult . add ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Credit Item ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Res Ġ= ĠR . string . about _ credits _ ro ger , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Res Ġ= ĠR . string . about _ credits _ ro ger _ text ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġresult . add ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Credit Item ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Res Ġ= ĠR . string . about _ credits _ bill , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Res Ġ= ĠR . string . about _ credits _ bill _ text ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġresult . add ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Credit Item ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Res Ġ= ĠR . string . about _ credits _ ant on , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Res Ġ= ĠR . string . about _ credits _ ant on _ text ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġresult . add ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Credit Item ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Res Ġ= ĠR . string . about _ credits _ ge orge , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Res Ġ= ĠR . string . about _ credits _ ant on _ text ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġresult . add ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Credit Item ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Res Ġ= ĠR . string . about _ credits _ a ustin , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Res Ġ= ĠR . string . about _ credits _ a ustin _ text ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġresult . add ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Credit Item ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Res Ġ= ĠR . string . about _ credits _ dou g , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Res Ġ= ĠR . string . about _ credits _ a ustin _ text ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġresult . add ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Credit Item ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Res Ġ= ĠR . string . about _ credits _ j ared , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Res Ġ= ĠR . string . about _ credits _ j ared _ text ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġresult . add ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Credit Item ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Res Ġ= ĠR . string . about _ credits _ top john wu , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Res Ġ= ĠR . string . about _ credits _ top john wu _ text ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġresult . add ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Credit Item ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Res Ġ= ĠR . string . about _ credits _ aid an , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Res Ġ= ĠR . string . about _ credits _ aid an _ text ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġreturn Ġresult ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget App Info ( packageName : ĠString ): ĠListItem Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġitem Ġ= ĠListItem ("") ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpm Ġ= Ġm Services . package Manager ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpackage Info Ġ= Ġpm . get Package Info ( packageName , Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitem . name Ġ= Ġpm . getApplication Label ( package Info . application Info ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitem . image Ġ= Ġpackage Info . application Info . load Icon ( pm ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitem . description Ġ= Ġpackage Info . version Name ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( ex : ĠPackage Manager . Name NotFoundException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġex . printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitem . name Ġ= ĠpackageName ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitem . description Ġ= Ġm Resources . getString ( R . string . not _ found ). toUpperCase () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitem . isError Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġitem ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget Link Item ( ĊĠĠĠĠĠĠĠ Ġ@ String Res Ġname Res : ĠInt , ĊĠĠĠĠĠĠĠ Ġ@ String Res Ġdescription Res : ĠInt , ĊĠĠĠĠĠĠĠ Ġ@ Drawable Res Ġimage Res : ĠInt , ĊĠĠĠĠĠĠĠ Ġscreen : ĠScreen ĊĠĠĠ Ġ): ĠListItem Ġ= ĊĠĠĠĠĠĠĠ ĠListItem ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġm Resources . getString ( name Res ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Ġ= Ġm Resources . getString ( description Res ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġimage Ġ= Ġm Resources . get Drawable ( image Res ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġscreen Ġ= Ġscreen ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠ Ġprivate Ġfun Ġget Credit Item ( ĊĠĠĠĠĠĠĠ Ġ@ String Res Ġname Res : ĠInt , ĊĠĠĠĠĠĠĠ Ġ@ String Res Ġdescription Res : ĠInt ĊĠĠĠ Ġ): ĠListItem Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġitem Ġ= ĠListItem ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġm Resources . getString ( name Res ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Ġ= Ġm Resources . getString ( description Res ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġitem . image Ġ= Ġm Builder . build ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitem . name . filter Ġ{ Ġit . is UpperCase () Ġ}. toString (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Color Generator . getColor ( item . name ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġreturn Ġitem ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġdata Ġclass ĠListItem ( ĊĠĠĠĠĠĠĠ Ġvar Ġname : ĠCharSequence , ĊĠĠĠĠĠĠĠ Ġvar Ġdescription : ĠCharSequence ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġvar Ġimage : ĠDrawable ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġvar Ġis Error : ĠBoolean Ġ= Ġfalse , ĊĠĠĠĠĠĠĠ Ġvar Ġscreen : ĠScreen ? Ġ= Ġnull ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠITEM _ VERSION S Ġ= Ġ" ITEM _ VERSION S " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠITEM _ TEAM Ġ= Ġ" ITEM _ TEAM " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠITEM _ CRED ITS Ġ= Ġ" ITEM _ CRED ITS " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠITEM _ LIN KS Ġ= Ġ" ITEM _ LIN KS " ĊĠĠĠ Ġ} Ċ }