/* Ċ Ġ* ĠCopyright ĠÂ© Ġ 2 0 2 0 ĠBy ĠG eek s ĠEmp ire . Ċ Ġ* Ċ Ġ* ĠCreated Ġby ĠE li as ĠF azel Ċ Ġ* ĠLast Ġmodified Ġ 1 1 / 1 1 / 2 0 Ġ 1 0 : 4 7 ĠAM Ċ Ġ* Ċ Ġ* ĠLicensed ĠUnder ĠMIT ĠLicense . Ċ Ġ* Ġhttps :// opensource . org / licenses / MIT Ċ Ġ*/ Ċ package Ġnet . ge ek st ools . float short . PRO . Shortcut s . Shortcut s Adapter Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . res . Color State List Ċ import Ġandroid . graphics . drawable . Drawable Ċ import Ġandroid . graphics . drawable . Layer Drawable Ċ import Ġandroid . graphics . drawable . R ipple Drawable Ċ import Ġandroid . os . Handler Ċ import Ġandroid . os . Looper Ċ import Ġandroid . util . Typed Value Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . Button Ċ import Ġandroid . widget . Relative Layout Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġnet . ge ek st ools . float short . PRO . R Ċ import Ġnet . ge ek st ools . float short . PRO . Utils . Adapter Items Data . Adapter Items Applications Ċ import Ġnet . ge ek st ools . float short . PRO . Utils . Functions . File IO Ċ import Ġnet . ge ek st ools . float short . PRO . Utils . Functions . Floating Services Ċ import Ġnet . ge ek st ools . float short . PRO . Utils . Functions . Functions Class Legacy Ċ import Ġnet . ge ek st ools . float short . PRO . Utils . Functions . Public Variable Ċ import Ġnet . ge ek st ools . image view . custom shapes . Shapes Image Ċ import Ġjava . util .* Ċ Ċ class ĠApplications View Items Adapter ( private Ġval Ġcontext : ĠContext , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġadapter Items Applications : ĠArrayList < Adapter Items Applications >) Ġ: ĠRecyclerView . Adapter < Applications View Items Adapter . ViewHolder >() Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġfunctions Class Legacy : ĠFunctions Class Legacy Ġ= ĠFunctions Class Legacy ( context ) ĊĠĠĠ Ġprivate Ġval Ġfile IO : ĠFile IO Ġ= ĠFile IO ( context ) ĊĠĠĠ Ġprivate Ġval Ġfloating Services : ĠFloating Services Ġ= ĠFloating Services ( context ) ĊĊĠĠĠ Ġprivate Ġvar Ġlayout Inflater Ġ= Ġ 0 ĊĠĠĠ Ġprivate Ġvar Ġid R ipple Shape Ġ= Ġ 0 ĊĊĠĠĠ Ġprivate Ġvar Ġrecovery Indicator Drawable : ĠLayer Drawable ? Ġ= Ġnull ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ ĠPublic Variable . floating Size Number Ġ= Ġfunctions Class Legacy . read Default Preference (" floating Size ", Ġ 3 9 ) ĊĠĠĠĠĠĠĠ ĠPublic Variable . floating Views HW Ġ= ĠTyped Value . apply Dimension ( Typed Value . COMPLEX _ UNIT _ DIP , ĠPublic Variable . floating Size Number . toFloat (), Ġcontext . resources . display Metrics ). toInt () ĊĊĠĠĠĠĠĠĠ Ġrecovery Indicator Drawable Ġ= Ġcontext . get Drawable ( R . drawable . draw _ recovery _ indicator ) Ġas ĠLayer Drawable ? ĊĠĠĠĠĠĠĠ Ġval Ġbackground Temporary : ĠDrawable ? Ġ= Ġrecovery Indicator Drawable ?. find Drawable By Layer Id ( R . id . background Temporary ) ĊĠĠĠĠĠĠĠ Ġbackground Temporary ?. set Tint ( Public Variable . primary Color ) ĊĊĠĠĠĠĠĠĠ Ġwhen Ġ( functions Class Legacy . shapes Image Id ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlayout Inflater Ġ= ĠR . layout . item _ card _ hybrid _ drop let ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid R ipple Shape Ġ= ĠR . drawable . ripple _ effect _ shape _ drop let ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠ 2 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlayout Inflater Ġ= ĠR . layout . item _ card _ hybrid _ circle ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid R ipple Shape Ġ= ĠR . drawable . ripple _ effect _ shape _ circle ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠ 3 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlayout Inflater Ġ= ĠR . layout . item _ card _ hybrid _ square ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid R ipple Shape Ġ= ĠR . drawable . ripple _ effect _ shape _ square ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠ 4 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlayout Inflater Ġ= ĠR . layout . item _ card _ hybrid _ squ ircle ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid R ipple Shape Ġ= ĠR . drawable . ripple _ effect _ shape _ squ ircle ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlayout Inflater Ġ= ĠR . layout . item _ card _ hybrid _ n osh ape ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid R ipple Shape Ġ= ĠR . drawable . ripple _ effect _ no _ bound ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlayout Inflater Ġ= ĠR . layout . item _ card _ hybrid _ n osh ape ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid R ipple Shape Ġ= ĠR . drawable . ripple _ effect _ no _ bound ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠViewHolder Ġ{ ĊĊĠĠĠĠĠĠĠ Ġreturn ĠViewHolder ( LayoutInflater . from ( context ). inflate ( layout Inflater , Ġparent , Ġfalse )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( view Holder Binder : ĠViewHolder , Ġposition : ĠInt ) Ġ{ ĊĊĠĠĠĠĠĠĠ ĠviewHolder Binder . app Icon View . setImage Drawable ( adapter Items Applications [ position ]. App Icon ) ĊĠĠĠĠĠĠĠ ĠviewHolder Binder . appName View . text Ġ= Ġadapter Items Applications [ position ]. AppName ĊĠĠĠĠĠĠĠ ĠviewHolder Binder . appName View . setTextColor ( Public Variable . color Light Dark Opp osite ) ĊĊĠĠĠĠĠĠĠ Ġval Ġdraw Item R ipple Drawable Ġ= Ġcontext . get Drawable ( id R ipple Shape ) Ġas ĠR ipple Drawable ? ĊĠĠĠĠĠĠĠ Ġdraw Item R ipple Drawable ?. setColor ( Color State List . valueOf ( adapter Items Applications [ position ]. App Icon Dominant Color )) ĊĠĠĠĠĠĠĠ ĠviewHolder Binder . full Item View . background Ġ= Ġdraw Item R ipple Drawable ĊĊĠĠĠĠĠĠĠ Ġif Ġ( functions Class Legacy . load Recovery Indicator ( adapter Items Applications [ position ]. PackageName )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewHolder Binder . recovery Indicator . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewHolder Binder . recovery Indicator . background Ġ= Ġrecovery Indicator Drawable ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewHolder Binder . recovery Indicator . visibility Ġ= ĠView . IN VISIBLE ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠviewHolder Binder . full Item View . setOnClickListener Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠpackageName Ġ= Ġadapter Items Applications [ position ]. PackageName ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠclassName Ġ= Ġadapter Items Applications [ position ]. ClassName ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġfloating Services ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. run Un limited Shortcut s Service ( packageName , ĠclassName ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠHandler ( Looper . get Main Looper ()). post Delayed ({ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠviewHolder Binder . recovery Indicator . background Ġ= Ġrecovery Indicator Drawable ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠviewHolder Binder . recovery Indicator . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, Ġ 3 0 0 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠviewHolder Binder . full Item View . setOn Long ClickListener Ġ{ Ġview Ġ-> ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠpackageName Ġ= Ġadapter Items Applications [ position ]. PackageName ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠclassName Ġ= Ġadapter Items Applications [ position ]. ClassName ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġfunctions Class Legacy . popup Option Shortcut s ( floating Services , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠpackageName , ĠclassName ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠviewHolder Binder . recovery Indicator . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfile IO . remove Line (". u File ", Ġadapter Items Applications [ position ]. PackageName ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewHolder Binder . recovery Indicator . visibility Ġ= ĠView . IN VISIBLE ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġfunctions Class Legacy . update Recover Shortcut s () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ{ ĊĊĠĠĠĠĠĠĠ Ġreturn Ġadapter Items Applications . size ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠViewHolder ( view : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( view ) Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġfull Item View : ĠRelative Layout Ġ= Ġview . findViewById < Relative Layout >( R . id . full Item View ) Ġas ĠRelative Layout ĊĠĠĠĠĠĠĠ Ġvar Ġapp Icon View : ĠShapes Image Ġ= Ġview . findViewById < Shapes Image >( R . id . app Icon View ) Ġas ĠShapes Image ĊĠĠĠĠĠĠĠ Ġvar ĠappName View : ĠTextView Ġ= Ġview . findViewById < TextView >( R . id . appName View ) Ġas ĠTextView ĊĠĠĠĠĠĠĠ Ġvar Ġrecovery Indicator : ĠButton Ġ= Ġview . findViewById < Button >( R . id . recovery Indicator ) Ġas ĠButton ĊĠĠĠ Ġ} Ċ }