package Ġman with android . learn it . helpers Ċ Ċ import Ġman with android . learn it . helpers . Linear Analysis Helper . linear D if Analysis Ċ import Ġman with android . learn it . models . Class Profile Ċ import Ġman with android . learn it . models . Lesson Result Ċ import Ġman with android . learn it . models . Program Ċ import Ġman with android . learn it . models . Subject Ċ Ċ /** Ċ Ġ* ĠCreated Ġby ĠR oi ĠAm iel Ġon Ġ 2 7 / 0 1 / 2 0 1 8 . Ċ Ġ*/ Ċ object ĠProgram Builder Helper Ġ{ ĊĊĠĠĠ Ġ/* ĊĠĠĠ Ġ* ĠAv il able ĠFunctions ĠFor ĠYou ĊĠĠĠ Ġ* ĊĠĠĠ Ġ* ĠUser Helper . get Connected User ( throw Error ) Ġ-> Ġreturn Ġthe Ġconnected Ġuser Ġobject ĊĠĠĠ Ġ* ĠĠ Ġif Ġthrow Error Ġtrue ' Ġthe Ġfunction Ġthrow Ġerror Ġif Ġthere Ġis Ġno Ġuser ĊĠĠĠ Ġ* ĠĠ ĠSo Ġuse ĠUser Helper . get Connected User ( true ) ĊĠĠĠ Ġ* ĊĠĠĠ Ġ* ĠUser Helper . get Program Of ( class Ġkey ) Ġ-> Ġreturn Ġthe Ġlast Ġprogram Ġof Ġclass Ġby Ġkey ĊĠĠĠ Ġ* ĊĠĠĠ Ġ* ĠThe Ġuser Ġobject Ġcontains Ġf ot Ġyou : ĊĠĠĠ Ġ* ĠĠ Ġclasses Profiles Ġ-> Ġmap Ġof Ġall Ġthe Ġprofiles Ġfor Ġeach Ġclass . Ġby Ġ< class Key : ĠString , Ġclass Ġprofile Ġobject > ĊĠĠĠ Ġ* ĠĠ Ġuser Extra Ġ-> Ġobject Ġwhich Ġcontains : ĊĠĠĠ Ġ* ĠĠĠĠĠĠ Ġold Less ons Programs Ġ-> Ġmap Ġof Ġprograms Ġhistory Ġfor Ġeach Ġclass Ġby Ġ< class Key : ĠString , ĠList < Program >> ĊĠĠĠ Ġ* ĠĠĠĠĠĠ Ġclasses Results Ġ-> Ġmap Ġof Ġclasses Ġres ual ts Ġhistory Ġfor Ġeach Ġclass Ġby Ġ< class Key : ĠString , ĠList < Class Res ual t >> ĊĠĠĠ Ġ* ĊĠĠĠ Ġ* ĊĠĠĠ Ġ* Ġ*/ ĊĊĠĠĠ Ġfun Ġbuild First Program ( class Key : ĠString , Ġclass Profile : ĠClass Profile , Ġsimilar Programs : ĠList < Program >? ): ĠProgram Ġ{ ĊĠĠĠĠĠĠĠ ĠUser Helper . get Connected User () ĊĊĠĠĠĠĠĠĠ Ġ// todo Ġadd Ġcontent ĊĊĠĠĠĠĠĠĠ Ġreturn ĠProgram () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġbuild Program ( class Key : ĠString , Ġlesson Result : ĠLess on Result ): ĠProgram Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ// Ġtodo ĠGet Ġparams ĊĠĠĠĠĠĠĠ Ġval Ġcurrent Program Ġ= ĠUser Helper . get Program Of ( class Key ) ĊĊĠĠĠĠĠĠĠ Ġvar Ġprograms History Ġ= ĠUser Helper . get Connected User ( true )?. user Extra ?. old Less ons Programs ! ![ class Key ] !! ĊĠĠĠĠĠĠĠ Ġprograms History Ġ= ĠMutable List ( programs History . size , Ġ{ Ġprograms History [ it ] Ġ}) ĊĊĠĠĠĠĠĠĠ Ġprograms History . add ( current Program ) ĊĊĠĠĠĠĠĠĠ Ġ// Ġtodo Ġan alys Ġdata ĊĠĠĠĠĠĠĠ Ġ// linear D if Analysis () ĊĊĊĠĠĠĠĠĠĠ Ġ// Ġtodo Ġbuild Ġprogram ĊĊĠĠĠĠĠĠĠ Ġ// Ġtodo Ġlog ĊĊĠĠĠĠĠĠĠ Ġreturn Ġcurrent Program ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġfit Program ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclass Key : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcurrent Program : ĠProgram , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġweeks Left : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsubjects Left : ĠList < Subject > Ġ= ĠClasses Helper . get Subject s Left For ( class Key )): ĠProgram Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ// Ġ!!! Ġdo Ġsmall Ġchanges Ġto Ġthe Ġprogram Ġ!!! ĊĊĠĠĠĠĠĠĠ Ġ// todo Ġadd Ġcontent ĊĊĠĠĠĠĠĠĠ Ġreturn Ġcurrent Program ĊĠĠĠ Ġ} Ċ Ċ }