package Ġkr . ac . sn u . hc il . om n itr ack . core . flags Ċ Ċ import Ġcom . google . gson . JsonObject Ċ import Ġkr . ac . sn u . hc il . android . common . containers . Two Key Dictionary Ċ import Ġkr . ac . sn u . hc il . om n itr ack . core . serialization . getBoolean Compat Ċ Ċ /** Ċ Ġ* ĠCreated Ġby ĠYo ung - Ho Ġon Ġ 1 / 1 9 / 2 0 1 8 . Ċ Ġ*/ Ċ object ĠLocked Properties Helper Ġ: ĠA Flags Helper Base () Ġ{ ĊĊĠĠĠ Ġprivate Ġval ĠdefaultValue Dict Ġ= ĠTwo Key Dictionary < String , ĠString , ĠBoolean >() ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ ĠdefaultValue Dict . put ( Lock Flag Level . App , ĠF . Modify Existing Track ers Triggers , Ġfalse ) ĊĠĠĠĠĠĠĠ ĠdefaultValue Dict . put ( Lock Flag Level . App , ĠF . AddNew Tracker , Ġfalse ) ĊĠĠĠĠĠĠĠ ĠdefaultValue Dict . put ( Lock Flag Level . App , ĠF . Access Triggers Tab , Ġfalse ) ĊĠĠĠĠĠĠĠ ĠdefaultValue Dict . put ( Lock Flag Level . App , ĠF . AddNew Trigger , Ġfalse ) ĊĠĠĠĠĠĠĠ ĠdefaultValue Dict . put ( Lock Flag Level . App , ĠF . Access Services Tab , Ġfalse ) ĊĠĠĠĠĠĠĠ ĠdefaultValue Dict . put ( Lock Flag Level . App , ĠF . Use Shortcut Panel , Ġtrue ) ĊĠĠĠĠĠĠĠ ĠdefaultValue Dict . put ( Lock Flag Level . App , ĠF . Use Screen Widget , Ġtrue ) ĊĊĠĠĠĠĠĠĠ ĠdefaultValue Dict . put ( Lock Flag Level . Tracker , ĠF . Visible , Ġtrue ) ĊĠĠĠĠĠĠĠ ĠdefaultValue Dict . put ( Lock Flag Level . Tracker , ĠF . Access Items , Ġtrue ) ĊĠĠĠĠĠĠĠ ĠdefaultValue Dict . put ( Lock Flag Level . Tracker , ĠF . Modify Items , Ġtrue ) ĊĠĠĠĠĠĠĠ ĠdefaultValue Dict . put ( Lock Flag Level . Tracker , ĠF . Access Visualization , Ġtrue ) ĊĠĠĠĠĠĠĠ ĠdefaultValue Dict . put ( Lock Flag Level . Tracker , ĠF . Manual Input , Ġtrue ) ĊĠĠĠĠĠĠĠ ĠdefaultValue Dict . put ( Lock Flag Level . Tracker , ĠF . Modify , Ġfalse ) ĊĠĠĠĠĠĠĠ ĠdefaultValue Dict . put ( Lock Flag Level . Tracker , ĠF . Delete , Ġfalse ) ĊĠĠĠĠĠĠĠ ĠdefaultValue Dict . put ( Lock Flag Level . Tracker , ĠF . Toggle Shortcut , Ġtrue ) ĊĠĠĠĠĠĠĠ ĠdefaultValue Dict . put ( Lock Flag Level . Tracker , ĠF . AddNew Fields , Ġfalse ) ĊĠĠĠĠĠĠĠ ĠdefaultValue Dict . put ( Lock Flag Level . Tracker , ĠF . Modify Rem inders , Ġtrue ) ĊĠĠĠĠĠĠĠ ĠdefaultValue Dict . put ( Lock Flag Level . Tracker , ĠF . AddNew Rem inders , Ġtrue ) ĊĠĠĠĠĠĠĠ ĠdefaultValue Dict . put ( Lock Flag Level . Tracker , ĠF . Edit Name , Ġfalse ) ĊĠĠĠĠĠĠĠ ĠdefaultValue Dict . put ( Lock Flag Level . Tracker , ĠF . Edit Color , Ġfalse ) ĊĠĠĠĠĠĠĠ ĠdefaultValue Dict . put ( Lock Flag Level . Tracker , ĠF . Re order Fields , Ġfalse ) ĊĊĠĠĠĠĠĠĠ ĠdefaultValue Dict . put ( Lock Flag Level . Field , ĠF . Modify , Ġfalse ) ĊĠĠĠĠĠĠĠ ĠdefaultValue Dict . put ( Lock Flag Level . Field , ĠF . Delete , Ġfalse ) ĊĠĠĠĠĠĠĠ ĠdefaultValue Dict . put ( Lock Flag Level . Field , ĠF . Toggle Visibility , Ġtrue ) ĊĠĠĠĠĠĠĠ ĠdefaultValue Dict . put ( Lock Flag Level . Field , ĠF . Edit Properties , Ġtrue ) ĊĠĠĠĠĠĠĠ ĠdefaultValue Dict . put ( Lock Flag Level . Field , ĠF . Edit Measure Factory , Ġfalse ) ĊĠĠĠĠĠĠĠ ĠdefaultValue Dict . put ( Lock Flag Level . Field , ĠF . Toggle Required , Ġfalse ) ĊĠĠĠĠĠĠĠ ĠdefaultValue Dict . put ( Lock Flag Level . Field , ĠF . Edit Name , Ġfalse ) ĊĊĠĠĠĠĠĠĠ ĠdefaultValue Dict . put ( Lock Flag Level . Reminder , ĠF . Visible , Ġtrue ) ĊĠĠĠĠĠĠĠ ĠdefaultValue Dict . put ( Lock Flag Level . Reminder , ĠF . Modify , Ġfalse ) ĊĠĠĠĠĠĠĠ ĠdefaultValue Dict . put ( Lock Flag Level . Reminder , ĠF . Delete , Ġfalse ) ĊĠĠĠĠĠĠĠ ĠdefaultValue Dict . put ( Lock Flag Level . Reminder , ĠF . Toggle Switch , Ġtrue ) ĊĠĠĠĠĠĠĠ ĠdefaultValue Dict . put ( Lock Flag Level . Reminder , ĠF . Edit Properties , Ġtrue ) ĊĊĊĠĠĠĠĠĠĠ ĠdefaultValue Dict . put ( Lock Flag Level . Trigger , ĠF . Visible , Ġtrue ) ĊĠĠĠĠĠĠĠ ĠdefaultValue Dict . put ( Lock Flag Level . Trigger , ĠF . Modify , Ġfalse ) ĊĠĠĠĠĠĠĠ ĠdefaultValue Dict . put ( Lock Flag Level . Trigger , ĠF . Delete , Ġfalse ) ĊĠĠĠĠĠĠĠ ĠdefaultValue Dict . put ( Lock Flag Level . Trigger , ĠF . Toggle Switch , Ġtrue ) ĊĠĠĠĠĠĠĠ ĠdefaultValue Dict . put ( Lock Flag Level . Trigger , ĠF . Modify Assigned Track ers , Ġtrue ) ĊĠĠĠĠĠĠĠ ĠdefaultValue Dict . put ( Lock Flag Level . Trigger , ĠF . Edit Properties , Ġtrue ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget DefaultValue ( level : ĠString , Ġflag : ĠString ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠdefaultValue Dict . get ( level , Ġflag ) !! ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġflag ( level : ĠString , Ġflag : ĠString , Ġproperties : ĠJsonObject ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( properties Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget DefaultValue ( level , Ġflag ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( properties . has ( flag )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproperties . getBoolean Compat ( flag ) !! ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġget DefaultValue ( level , Ġflag ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġgenerate Default Flags ( level : ĠString , Ġfill With : ĠBoolean ?): ĠJsonObject Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġobj Ġ= ĠJsonObject () ĊĠĠĠĠĠĠĠ Ġval Ġmap Ġ= ĠdefaultValue Dict . get With First Key ( level ) ĊĠĠĠĠĠĠĠ Ġmap ?. keys ?. forEach Ġ{ Ġflag Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġobj . addProperty ( flag , Ġfill With Ġ?: Ġmap [ flag ]) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġobj ĊĠĠĠ Ġ} Ċ }