package Ġcom . alarm . al AR m _ you _ need Ċ import Ġandroid . util . Log Ċ import Ġio . realm . Realm Ċ import Ġio . realm . Realm Results Ċ import Ġio . realm . Sort Ċ Ċ class ĠAlarm Dao ( private Ġval Ġrealm : ĠRealm ) Ġ{ ĊĊĠĠĠ Ġfun ĠgetAll Al arms () Ġ: ĠRealm Results < Alarm Data > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġfield Names Ġ= ĠarrayOf (" active ", Ġ" hour ", Ġ" minute ") ĊĠĠĠĠĠĠĠ Ġval Ġsort Orders Ġ= ĠarrayOf ( Sort . DESC ENDING , ĠSort . ASC ENDING , ĠSort . ASC ENDING ) ĊĠĠĠĠĠĠĠ Ġreturn Ġrealm . where ( Alarm Data :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. sort ( field Names , Ġsort Orders ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. findAll () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġselect Alarm ( id : ĠString ) Ġ: ĠAlarm Data Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġrealm . where ( Alarm Data :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. equalTo (" alarm Id ", Ġid ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. findFirst () Ġas ĠAlarm Data ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġtoggle Alarm ( alarm Data : ĠAlarm Data ) Ġ{ ĊĠĠĠĠĠĠĠ Ġrealm . execute Transaction Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġalarm Data . active Ġ= Ġ! alarm Data . active ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d (" Alarm Dao :: ", Ġ" toggle Alarm () Ġ... Ġalarm Ġis Ġon Ġnow ?" Ġ+ Ġalarm Data . active ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġadd OrUpdate Alarm ( alarm Data Ġ: ĠAlarm Data , Ġtitle : ĠString , Ġhour : ĠInt , Ġ Ġminute : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġap m : ĠString , Ġsun : ĠBoolean , Ġmon : ĠBoolean , Ġt ue : ĠBoolean , Ġw ed : ĠBoolean , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġth ur : ĠBoolean , Ġf ri : ĠBoolean , Ġsat : ĠBoolean , Ġactive : ĠBoolean , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġuri Ring tone : ĠString , Ġuri Image : ĠString ?, Ġvolume : ĠInt , Ġalarm Type Ġ: ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġrealm . execute Transaction Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġalarm Data . title Ġ= Ġtitle ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġalarm Data . hour Ġ= Ġhour ĊĠĠĠĠĠĠĠĠĠĠĠ Ġalarm Data . minute Ġ= Ġminute ĊĠĠĠĠĠĠĠĠĠĠĠ Ġalarm Data . apm Ġ= Ġap m ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġalarm Data . sun Ġ= Ġsun ; Ġalarm Data . mon Ġ= Ġmon ; Ġalarm Data . t ue Ġ= Ġt ue ; Ġalarm Data . wed Ġ= Ġw ed ĊĠĠĠĠĠĠĠĠĠĠĠ Ġalarm Data . th ur Ġ= Ġth ur ; Ġalarm Data . f ri Ġ= Ġf ri ; Ġalarm Data . sat Ġ= Ġsat ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġalarm Data . active Ġ= Ġactive ĊĠĠĠĠĠĠĠĠĠĠĠ Ġalarm Data . uri Ring tone Ġ= Ġuri Ring tone ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( uri Image Ġ!= Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġalarm Data . uri Image Ġ= Ġuri Image ĊĠĠĠĠĠĠĠĠĠĠĠ Ġalarm Data . volume Ġ= Ġvolume ĊĠĠĠĠĠĠĠĠĠĠĠ Ġalarm Data . alarm Type Ġ= Ġalarm Type ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif (! alarm Data . is Managed ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . copy To Realm ( alarm Data ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġdelete Alarm ( id : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġrealm . execute Transaction Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdelete Item Ġ= Ġrealm . where ( Alarm Data :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. equalTo (" alarm Id ", Ġid ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. findFirst () Ġas ĠAlarm Data ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdelete Item . delete From Realm () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Active Al arms (): ĠRealm Results < Alarm Data >? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġrealm . where ( Alarm Data :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. equalTo (" active ", Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. findAll () ĊĠĠĠ Ġ} Ċ }