package Ġch . r my . android . http _ shortcuts . data Ċ Ċ import Ġch . r my . android . http _ shortcuts . data . models . App Lock Ċ import Ġch . r my . android . http _ shortcuts . data . models . Base Ċ import Ġch . r my . android . http _ shortcuts . data . models . Category Ċ import Ġch . r my . android . http _ shortcuts . data . models . Has Id Ċ import Ġch . r my . android . http _ shortcuts . data . models . Pending Execution Ċ import Ġch . r my . android . http _ shortcuts . data . models . Shortcut Ċ import Ġch . r my . android . http _ shortcuts . data . models . Variable Ċ import Ġch . r my . android . http _ shortcuts . data . models . Widget Ċ import Ġch . r my . android . http _ shortcuts . extensions . detach From Realm Ċ import Ġch . r my . android . http _ shortcuts . utils . UUID Utils . new UUID Ċ import Ġio . realm . Case Ċ import Ġio . realm . Realm Ċ import Ġio . realm . Realm Results Ċ import Ġio . realm . kotlin . where Ċ Ċ object ĠRepository Ġ{ ĊĊĠĠĠ Ġinternal Ġfun Ġget Base ( realm : ĠRealm ): ĠBase ? Ġ= ĊĠĠĠĠĠĠĠ Ġrealm ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. where < Base >() ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. findFirst () ĊĊĠĠĠ Ġinternal Ġfun Ġget Base Async ( realm : ĠRealm ): ĠBase ? Ġ= ĊĠĠĠĠĠĠĠ Ġrealm ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. where < Base >() ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. findFirst Async () ĊĊĠĠĠ Ġinternal Ġfun Ġget Shortcut s ( realm : ĠRealm ): ĠCollection < Shortcut > Ġ= ĊĠĠĠĠĠĠĠ Ġrealm ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. where < Shortcut >() ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. not EqualTo ( Has Id . FIELD _ ID , ĠShort cut . TEMP OR ARY _ ID ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. findAll () ĊĊĠĠĠ Ġinternal Ġfun Ġget Category ById ( realm : ĠRealm , Ġcategory Id : ĠString ): ĠCategory ? Ġ= ĊĠĠĠĠĠĠĠ Ġrealm ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. where < Category >() ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. equalTo ( Has Id . FIELD _ ID , Ġcategory Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. findFirst () ĊĊĠĠĠ Ġinternal Ġfun Ġget Category ById Async ( realm : ĠRealm , Ġcategory Id : ĠString ): ĠCategory Ġ= ĊĠĠĠĠĠĠĠ Ġrealm ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. where < Category >() ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. equalTo ( Has Id . FIELD _ ID , Ġcategory Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. findFirst Async () ĊĊĠĠĠ Ġinternal Ġfun Ġget Shortcut ById ( realm : ĠRealm , Ġshortcut Id : ĠString ): ĠShort cut ? Ġ= ĊĠĠĠĠĠĠĠ Ġrealm ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. where < Shortcut >() ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. equalTo ( Has Id . FIELD _ ID , Ġshortcut Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. findFirst () ĊĊĠĠĠ Ġfun Ġget Shortcut ByName Or Id ( realm : ĠRealm , Ġshortcut Name Or Id : ĠString ): ĠShort cut ? Ġ= ĊĠĠĠĠĠĠĠ Ġrealm ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. where < Shortcut >() ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. equalTo ( Has Id . FIELD _ ID , Ġshortcut Name Or Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. or () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. equalTo ( Shortcut . FIELD _ NAME , Ġshortcut Name Or Id , ĠCase . INS ENS ITIVE ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. findFirst () ĊĊĠĠĠ Ġinternal Ġfun Ġget Variable ById ( realm : ĠRealm , Ġvariable Id : ĠString ): ĠVariable ? Ġ= ĊĠĠĠĠĠĠĠ Ġrealm ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. where < Variable >() ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. equalTo ( Has Id . FIELD _ ID , Ġvariable Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. findFirst () ĊĊĠĠĠ Ġinternal Ġfun Ġget Variable ByKey ( realm : ĠRealm , Ġkey : ĠString ): ĠVariable ? Ġ= ĊĠĠĠĠĠĠĠ Ġrealm ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. where < Variable >() ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. equalTo ( Variable . FIELD _ KEY , Ġkey ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. findFirst () ĊĊĠĠĠ Ġinternal Ġfun Ġget Variable ByKey Or Id ( realm : ĠRealm , Ġkey Or Id : ĠString ): ĠVariable ? Ġ= ĊĠĠĠĠĠĠĠ Ġrealm ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. where < Variable >() ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. equalTo ( Variable . FIELD _ KEY , Ġkey Or Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. or () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. equalTo ( Has Id . FIELD _ ID , Ġkey Or Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. findFirst () ĊĊĠĠĠ Ġinternal Ġfun Ġget Shortcut s Pending Execution ( realm : ĠRealm ): ĠRealm Results < Pending Execution > Ġ= ĊĠĠĠĠĠĠĠ Ġrealm ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. where < Pending Execution >() ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. sort ( Pending Execution . FIELD _ EN QUE U ED _ AT ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. findAll () ĊĊĠĠĠ Ġinternal Ġfun Ġget Shortcut Pending Execution ( realm : ĠRealm , Ġshortcut Id : ĠString ): ĠPending Execution ? Ġ= ĊĠĠĠĠĠĠĠ Ġrealm ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. where < Pending Execution >() ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. equalTo ( Pending Execution . FIELD _ SHORT CUT _ ID , Ġshortcut Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. findFirst () ĊĊĠĠĠ Ġinternal Ġfun Ġget App Lock ( realm : ĠRealm ): ĠApp Lock ? Ġ= ĊĠĠĠĠĠĠĠ Ġrealm ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. where < App Lock >() ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. findFirst () ĊĊĠĠĠ Ġinternal Ġfun Ġdelete Shortcut ( realm : ĠRealm , Ġshortcut Id : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġget Shortcut ById ( realm , Ġshortcut Id )?. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġheaders . delete All From Realm () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparameters . delete All From Realm () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdelete From Realm () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinternal Ġfun Ġcopy Shortcut ( realm : ĠRealm , Ġsource Shortcut : ĠShort cut , Ġtarget Shortcut Id : ĠString ): ĠShort cut Ġ= ĊĠĠĠĠĠĠĠ Ġsource Shortcut . detach From Realm () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid Ġ= Ġtarget Shortcut Id ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparameters . forEach Ġ{ Ġparameter Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparameter . id Ġ= Ġnew UUID () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġheaders . forEach Ġ{ Ġheader Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġheader . id Ġ= Ġnew UUID () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresponse Handling ?. id Ġ= Ġnew UUID () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrealm . copy To Realm OrUpdate ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġinternal Ġfun Ġmove Shortcut ( realm : ĠRealm , Ġshortcut Id : ĠString , Ġtarget Position : ĠInt ? Ġ= Ġnull , Ġtarget CategoryId : ĠString ? Ġ= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġshortcut Ġ= Ġget Shortcut ById ( realm , Ġshortcut Id ) Ġ?: Ġreturn ĊĠĠĠĠĠĠĠ Ġval Ġcategories Ġ= Ġget Base ( realm )?. categories Ġ?: Ġreturn ĊĠĠĠĠĠĠĠ Ġval Ġtarget Category Ġ= Ġif Ġ( target CategoryId Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Category ById ( realm , Ġtarget CategoryId ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcategories . first Ġ{ Ġcategory Ġ-> Ġcategory . shortcuts . any Ġ{ Ġit . id Ġ== Ġshortcut Id Ġ} Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġ?: Ġreturn ĊĊĠĠĠĠĠĠĠ Ġfor Ġ( category Ġin Ġcategories ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcategory . shortcuts . remove ( shortcut ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( target Position Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtarget Category . shortcuts . add ( target Position , Ġshortcut ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtarget Category . shortcuts . add ( shortcut ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Widgets ById s ( realm : ĠRealm , Ġwidget Ids : ĠArray < Int >): ĠRealm Results < Widget > Ġ= ĊĠĠĠĠĠĠĠ Ġrealm ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. where < Widget >() ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. ` in `( Widget . FIELD _ WIDGET _ ID , Ġwidget Ids ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. findAll () ĊĊĠĠĠ Ġfun Ġget Dead Widgets ( realm : ĠRealm ): ĠRealm Results < Widget > Ġ= ĊĠĠĠĠĠĠĠ Ġrealm ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. where < Widget >() ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. isNull ( Widget . FIELD _ SHORT CUT ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. findAll () ĊĊĠĠĠ Ġfun Ġget Widgets For Shortcut ( realm : ĠRealm , Ġshortcut Id : ĠString ): ĠRealm Results < Widget > Ġ= ĊĠĠĠĠĠĠĠ Ġrealm ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. where < Widget >() ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. equalTo ("${ Widget . FIELD _ SHORT CUT }.${ Has Id . FIELD _ ID }", Ġshortcut Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. findAll () Ċ Ċ }