package Ġcom . e uro bond . features . times heet . presentation Ċ Ċ import Ġandroid . Manifest Ċ import Ġandroid . annotation . Suppress Lint Ċ import Ġandroid . app . Activity Ċ import Ġandroid . app . Time Picker Dialog Ċ import Ġandroid . content . Context Ċ import Ġandroid . os . Build Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . os . Handler Ċ import Ġandroidx . annotation . Requires Api Ċ import Ġcom . google . android . material . text field . TextInput Layout Ċ import Ġandroidx . appcompat . widget . AppCompat ImageView Ċ import Ġandroidx . recyclerview . widget . Linear LayoutManager Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġandroid . text . TextUtils Ċ import Ġandroid . util . Log Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . Motion Event Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . ImageView Ċ import Ġandroid . widget . Relative Layout Ċ import Ġcom . bump tech . glide . G lide Ċ import Ġcom . bump tech . glide . request . RequestOptions Ċ import Ġcom . e uro bond . R Ċ import Ġcom . e uro bond . app . App Database Ċ import Ġcom . e uro bond . app . Network Constant Ċ import Ġcom . e uro bond . app . Pref Ċ import Ġcom . e uro bond . app . domain .* Ċ import Ġcom . e uro bond . app . utils . App Utils Ċ import Ġcom . e uro bond . app . utils . Permission Utils Ċ import Ġcom . e uro bond . app . utils . Process Image Utils _ v 1 Ċ import Ġcom . e uro bond . base . Base Response Ċ import Ġcom . e uro bond . base . presentation . Base Activity Ċ import Ġcom . e uro bond . base . presentation . Base Fragment Ċ import Ġcom . e uro bond . features . dashboard . presentation . Dashboard Activity Ċ import Ġcom . e uro bond . features . re im bur sement . presentation . Date Adapter Ċ import Ġcom . e uro bond . features . times heet . api . Time Sheet Repo Provider Ċ import Ġcom . e uro bond . features . times heet . model .* Ċ import Ġcom . e uro bond . widgets . App Custom EditText Ċ import Ġcom . e uro bond . widgets . App Custom TextView Ċ import Ġcom . el vis he w . x log . X Log Ċ import Ġcom . pn ik osis . material ish progress . Progress Wheel Ċ import Ġio . reactivex . android . schedul ers . Android Schedulers Ċ import Ġio . reactivex . schedul ers . Schedulers Ċ import Ġorg . jetbrains . ank o . do Async Ċ import Ġorg . jetbrains . ank o . ui Thread Ċ import Ġjava . io . File Ċ import Ġjava . util .* Ċ Ċ /** Ċ Ġ* ĠCreated Ġby ĠSa ik at Ġon Ġ 2 9 - Apr - 2 0 . Ċ Ġ*/ Ċ class ĠAdd Time Sheet Fragment Ġ: ĠBase Fragment (), ĠDate Adapter . on Pet Selected Listener , ĠView . OnClickListener Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar ĠmContext : ĠContext ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġselect _ date _ tv : ĠApp Custom TextView ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġrv Date List : ĠRecyclerView ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġtv _ supervisor _ name : ĠApp Custom TextView ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġtv _ client _ header : ĠApp Custom TextView ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġtv _ client _ dropdown : ĠApp Custom TextView ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġiv _ client _ dropdown _ icon : ĠImageView ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġtv _ project _ header : ĠApp Custom TextView ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġtv _ project _ dropdown : ĠApp Custom TextView ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġiv _ project _ dropdown _ icon : ĠImageView ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġtv _ activity _ header : ĠApp Custom TextView ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġtv _ activity _ dropdown : ĠApp Custom TextView ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġiv _ activity _ dropdown _ icon : ĠImageView ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġtv _ product _ header : ĠApp Custom TextView ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġtv _ product _ dropdown : ĠApp Custom TextView ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġiv _ product _ dropdown _ icon : ĠImageView ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġet _ time : ĠApp Custom EditText ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġet _ comment : ĠApp Custom EditText ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġsubmit _ button _ TV : ĠApp Custom TextView ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġprogress _ wheel : ĠProgress Wheel ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġrl _ add _ times heet _ main : ĠRelative Layout ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġiv _ client _ cross _ icon : ĠAppCompat ImageView ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġiv _ project _ cross _ icon : ĠAppCompat ImageView ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġiv _ product _ cross _ icon : ĠAppCompat ImageView ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġtil _ time : ĠText Input Layout ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġtil _ comment : ĠText Input Layout ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġtv _ time : ĠApp Custom TextView ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġet _ h rs : ĠApp Custom EditText ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġet _ mins : ĠApp Custom EditText ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġiv _ upload _ photo : ĠImageView ĊĊĠĠĠ Ġprivate Ġvar Ġdate Adapter : ĠDate Adapter ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġselected Date : ĠDate ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġdate Ġ= Ġ"" ĊĠĠĠ Ġprivate Ġvar Ġpicker : ĠTime Picker Dialog ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġm Client _ list : ĠArrayList < Client List Entity >? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġm Project _ list : ĠArrayList < Project List Entity >? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġm Product _ list : ĠArrayList < Time sheet Product List Entity >? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġm Activity _ list : ĠArrayList < Activity List Entity >? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar ĠclientId Ġ= Ġ"" ĊĠĠĠ Ġprivate Ġvar ĠprojectId Ġ= Ġ"" ĊĠĠĠ Ġprivate Ġvar ĠproductId Ġ= Ġ"" ĊĠĠĠ Ġprivate Ġvar Ġactivity Id Ġ= Ġ"" ĊĠĠĠ Ġprivate Ġvar Ġtimes heet Selected Date Ġ= Ġ"" ĊĠĠĠ Ġprivate Ġvar Ġpermission Utils : ĠPermission Utils ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġimage Path Ġ= Ġ"" ĊĊĠĠĠ Ġprivate Ġval Ġdate List Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ ĠArrayList < Date >() ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġfun Ġnew Instance ( date : ĠAny ): ĠAdd Time Sheet Fragment Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfragment Ġ= ĠAdd Time Sheet Fragment () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( date Ġis ĠString ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbundle Ġ= ĠBundle () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbundle . put Serializable (" date ", Ġdate ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfragment . arguments Ġ= Ġbundle ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfragment ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Attach ( context : ĠContext ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Attach ( context ) ĊĠĠĠĠĠĠĠ ĠmContext Ġ= Ġcontext ĊĊĠĠĠĠĠĠĠ Ġtimes heet Selected Date Ġ= Ġarguments ?. getString (" date "). toString () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( in flater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĠsavedInstanceState : ĠBundle ?): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate View ( in flater , Ġcontainer , ĠsavedInstanceState ) ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= Ġinflater . inflate ( R . layout . fragment _ add _ times heet , Ġcontainer , Ġfalse ) ĊĊĠĠĠĠĠĠĠ Ġinit View ( view ) ĊĠĠĠĠĠĠĠ Ġset Date Data ( Pref . times heet _ past _ days ) ĊĠĠĠĠĠĠĠ ĠsetData () ĊĊĠĠĠĠĠĠĠ Ġm Client _ list Ġ= ĠApp Database . get DBInstance ()?. client Dao ()?. getAll () Ġas ĠArrayList < Client List Entity >? ĊĠĠĠĠĠĠĠ Ġm Project _ list Ġ= ĠApp Database . get DBInstance ()?. project Dao ()?. getAll () Ġas ĠArrayList < Project List Entity >? ĊĠĠĠĠĠĠĠ Ġm Product _ list Ġ= ĠApp Database . get DBInstance ()?. product Dao ()?. getAll () Ġas ĠArrayList < Time sheet Product List Entity >? ĊĠĠĠĠĠĠĠ Ġm Activity _ list Ġ= ĠApp Database . get DBInstance ()?. activity Dao ()?. getAll () Ġas ĠArrayList < Activity List Entity >? ĊĊĊĠĠĠĠĠĠĠ Ġreturn Ġview ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit View ( view : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠ Ġview . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġselect _ date _ tv Ġ= ĠfindViewById ( R . id . select _ date _ tv ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrv Date List Ġ= ĠfindViewById ( R . id . rv Date List ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ supervisor _ name Ġ= ĠfindViewById ( R . id . tv _ supervisor _ name ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ client _ header Ġ= ĠfindViewById ( R . id . tv _ client _ header ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ client _ dropdown Ġ= ĠfindViewById ( R . id . tv _ client _ dropdown ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġiv _ client _ dropdown _ icon Ġ= ĠfindViewById ( R . id . iv _ client _ dropdown _ icon ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ project _ header Ġ= ĠfindViewById ( R . id . tv _ project _ header ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ project _ dropdown Ġ= ĠfindViewById ( R . id . tv _ project _ dropdown ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġiv _ project _ dropdown _ icon Ġ= ĠfindViewById ( R . id . iv _ project _ dropdown _ icon ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ activity _ header Ġ= ĠfindViewById ( R . id . tv _ activity _ header ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ activity _ dropdown Ġ= ĠfindViewById ( R . id . tv _ activity _ dropdown ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġiv _ activity _ dropdown _ icon Ġ= ĠfindViewById ( R . id . iv _ activity _ dropdown _ icon ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ product _ header Ġ= ĠfindViewById ( R . id . tv _ product _ header ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ product _ dropdown Ġ= ĠfindViewById ( R . id . tv _ product _ dropdown ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġiv _ product _ dropdown _ icon Ġ= ĠfindViewById ( R . id . iv _ product _ dropdown _ icon ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġet _ time Ġ= ĠfindViewById ( R . id . et _ time ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġet _ comment Ġ= ĠfindViewById ( R . id . et _ comment ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsubmit _ button _ TV Ġ= ĠfindViewById ( R . id . submit _ button _ TV ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprogress _ wheel Ġ= ĠfindViewById ( R . id . progress _ wheel ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrl _ add _ times heet _ main Ġ= ĠfindViewById ( R . id . rl _ add _ times heet _ main ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġiv _ client _ cross _ icon Ġ= ĠfindViewById ( R . id . iv _ client _ cross _ icon ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġiv _ project _ cross _ icon Ġ= ĠfindViewById ( R . id . iv _ project _ cross _ icon ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġiv _ product _ cross _ icon Ġ= ĠfindViewById ( R . id . iv _ product _ cross _ icon ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtil _ time Ġ= ĠfindViewById ( R . id . til _ time ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtil _ comment Ġ= ĠfindViewById ( R . id . til _ comment ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ time Ġ= ĠfindViewById ( R . id . tv _ time ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġet _ h rs Ġ= ĠfindViewById ( R . id . et _ h rs ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġet _ mins Ġ= ĠfindViewById ( R . id . et _ mins ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġiv _ upload _ photo Ġ= ĠfindViewById ( R . id . iv _ upload _ photo ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġprogress _ wheel . stop Spin ning () ĊĊĠĠĠĠĠĠĠ Ġrv Date List . layout Manager Ġ= ĠLinearLayoutManager ( mContext , ĠLinearLayoutManager . HORIZONTAL , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġdate Adapter Ġ= ĠDate Adapter ( mContext , Ġtrue , Ġthis ) ĊĠĠĠĠĠĠĠ Ġrv Date List . adapter Ġ= Ġdate Adapter ĊĊĊĠĠĠĠĠĠĠ Ġrl _ add _ times heet _ main . setOnClickListener ( null ) ĊĠĠĠĠĠĠĠ Ġsubmit _ button _ TV . setOnClickListener ( this ) ĊĠĠĠĠĠĠĠ Ġtv _ client _ dropdown . setOnClickListener ( this ) ĊĠĠĠĠĠĠĠ Ġiv _ client _ dropdown _ icon . setOnClickListener ( this ) ĊĠĠĠĠĠĠĠ Ġtv _ project _ dropdown . setOnClickListener ( this ) ĊĠĠĠĠĠĠĠ Ġiv _ project _ dropdown _ icon . setOnClickListener ( this ) ĊĠĠĠĠĠĠĠ Ġiv _ activity _ dropdown _ icon . setOnClickListener ( this ) ĊĠĠĠĠĠĠĠ Ġtv _ activity _ dropdown . setOnClickListener ( this ) ĊĠĠĠĠĠĠĠ Ġtv _ product _ dropdown . setOnClickListener ( this ) ĊĠĠĠĠĠĠĠ Ġiv _ product _ dropdown _ icon . setOnClickListener ( this ) ĊĠĠĠĠĠĠĠ Ġiv _ product _ cross _ icon . setOnClickListener ( this ) ĊĠĠĠĠĠĠĠ Ġiv _ client _ cross _ icon . setOnClickListener ( this ) ĊĠĠĠĠĠĠĠ Ġiv _ project _ cross _ icon . setOnClickListener ( this ) ĊĠĠĠĠĠĠĠ Ġiv _ upload _ photo . setOnClickListener ( this ) ĊĊĠĠĠĠĠĠĠ Ġ/* et _ time . setOn Touch Listener ( View . On Touch Listener Ġ{ Ġv , Ġevent Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( event ?. action Ġ== ĠMotion Event . ACTION _ UP ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Timer () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn @ On Touch Listener Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠĠĠĠĠ Ġ}) */ ĊĊĠĠĠĠĠĠĠ Ġet _ comment . setOn Touch Listener ( View . On Touch Listener Ġ{ Ġv , Ġevent Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġv . parent . request Dis allow Intercept Touch Event ( true ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( event . action Ġand ĠMotion Event . ACTION _ MASK ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMotion Event . ACTION _ UP Ġ-> Ġv . parent . request Dis allow Intercept Touch Event ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Suppress Lint (" SetText I 1 8 n ") ĊĠĠĠ Ġprivate Ġfun Ġset Date Data ( times heet _ past _ days : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcalendar Ġ= ĠCalendar . getInstance ( Locale . EN GL ISH ) ĊĠĠĠĠĠĠĠ Ġ// calendar . add ( Calendar . DAY _ OF _ YEAR , Ġ- 1 ) ĊĠĠĠĠĠĠĠ Ġval Ġtoday Date Ġ= Ġcalendar . time ĊĠĠĠĠĠĠĠ Ġdate List . add ( today Date ) ĊĊĠĠĠĠĠĠĠ Ġselected Date Ġ= Ġtoday Date ĊĠĠĠĠĠĠĠ Ġdate Ġ= ĠApp Utils . get Formatted Date For Api ( selected Date !! ) ĊĊĠĠĠĠĠĠĠ Ġval Ġlast Past Day Ġ= Ġtimes heet _ past _ days !!. toInt () Ġ- Ġ 1 ĊĊĠĠĠĠĠĠĠ Ġselect _ date _ tv . text Ġ= Ġ" Select ĠDate Ġ( You Ġcan Ġadd ĠTime sheet Ġfor Ġ$ times heet _ past _ days Ġdays Ġonly )" ĊĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 1 .. last Past Day ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcalendar . add ( Calendar . DAY _ OF _ YEAR , Ġ- 1 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnext Date Ġ= Ġcalendar . time ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdate List . add ( next Date ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġvar Ġselected Index Ġ= Ġ- 1 ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġdate List . indices ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( App Utils . get Formatted Date For Api ( date List [ i ]) Ġ== Ġtimes heet Selected Date ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġselected Index Ġ= Ġi ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdate Ġ= Ġtimes heet Selected Date ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbreak ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( selectedIndex Ġ== Ġ- 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdate Adapter ?. refresh Adapter ( date List ) ĊĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdate Adapter ?. refresh Adapter ( date List , Ġselected Index ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠsetData () Ġ{ ĊĠĠĠĠĠĠĠ ĠPref . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ supervisor _ name . text Ġ= Ġsupervisor _ name ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ client _ header . text Ġ= Ġclient _ text ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ product _ header . text Ġ= Ġproduct _ text ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ activity _ header . text Ġ= Ġactivity _ text ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ project _ header . text Ġ= Ġproject _ text ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtil _ time . hint Ġ= Ġtime _ text ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtil _ comment . hint Ġ= Ġcomment _ text ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ time . text Ġ= Ġtime _ text ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsubmit _ button _ TV . text Ġ= Ġsubmit _ text ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Date Item Click ( pos : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġselected Date Ġ= Ġdate List [ pos ] ĊĠĠĠĠĠĠĠ Ġdate Ġ= ĠApp Utils . get Formatted Date For Api ( selected Date !! ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Requires Api ( Build . VERSION _ CODES . LO L LI POP ) ĊĠĠĠ Ġoverride Ġfun ĠonClick ( v : ĠView ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( v ?. id ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . submit _ button _ TV Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcheck Validation () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . iv _ client _ dropdown _ icon Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( m Client _ list Ġ!= Ġnull Ġ&& Ġm Client _ list ?. size !! Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠClient List Dialog . newInstance ( m Client _ list , Ġ{ Ġclient Ġ-> ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ client _ dropdown . text Ġ= Ġclient . client _ name ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠclientId Ġ= Ġclient . client _ id !! ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġiv _ client _ cross _ icon . visibility Ġ= ĠView . VISIBLE ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}). show ( fragment Manager !! , Ġ"") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( mContext Ġas ĠDashboard Activity ). show Sn ack Message ( getString ( R . string . no _ data _ available )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . tv _ client _ dropdown Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( m Client _ list Ġ!= Ġnull Ġ&& Ġm Client _ list ?. size !! Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠClient List Dialog . newInstance ( m Client _ list , Ġ{ Ġclient Ġ-> ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ client _ dropdown . text Ġ= Ġclient . client _ name ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠclientId Ġ= Ġclient . client _ id !! ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġiv _ client _ cross _ icon . visibility Ġ= ĠView . VISIBLE ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}). show ( fragment Manager !! , Ġ"") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( mContext Ġas ĠDashboard Activity ). show Sn ack Message ( getString ( R . string . no _ data _ available )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . iv _ project _ dropdown _ icon Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( m Project _ list Ġ!= Ġnull Ġ&& Ġm Project _ list ?. size !! Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠProject List Dialog . newInstance ( m Project _ list , Ġ{ Ġproject Ġ-> ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ project _ dropdown . text Ġ= Ġproject . project _ name ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠprojectId Ġ= Ġproject . project _ id !! ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġiv _ project _ cross _ icon . visibility Ġ= ĠView . VISIBLE ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}). show ( fragment Manager !! , Ġ"") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( mContext Ġas ĠDashboard Activity ). show Sn ack Message ( getString ( R . string . no _ data _ available )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . tv _ project _ dropdown Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( m Project _ list Ġ!= Ġnull Ġ&& Ġm Project _ list ?. size !! Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠProject List Dialog . newInstance ( m Project _ list , Ġ{ Ġproject Ġ-> ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ project _ dropdown . text Ġ= Ġproject . project _ name ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠprojectId Ġ= Ġproject . project _ id !! ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġiv _ project _ cross _ icon . visibility Ġ= ĠView . VISIBLE ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}). show ( fragment Manager !! , Ġ"") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( mContext Ġas ĠDashboard Activity ). show Sn ack Message ( getString ( R . string . no _ data _ available )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . iv _ activity _ dropdown _ icon Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( m Activity _ list Ġ!= Ġnull Ġ&& Ġm Activity _ list ?. size !! Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠActivity List Dialog . newInstance ( m Activity _ list , Ġ{ Ġactivity Ġ-> ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ activity _ dropdown . text Ġ= Ġactivity . activity _ name ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġactivity Id Ġ= Ġactivity . activity _ id !! ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġiv _ project _ cross _ icon . visibility Ġ= ĠView . VISIBLE ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}). show ( fragment Manager !! , Ġ"") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( mContext Ġas ĠDashboard Activity ). show Sn ack Message ( getString ( R . string . no _ data _ available )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . tv _ activity _ dropdown Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( m Activity _ list Ġ!= Ġnull Ġ&& Ġm Activity _ list ?. size !! Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠActivity List Dialog . newInstance ( m Activity _ list , Ġ{ Ġactivity Ġ-> ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ activity _ dropdown . text Ġ= Ġactivity . activity _ name ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġactivity Id Ġ= Ġactivity . activity _ id !! ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}). show ( fragment Manager !! , Ġ"") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( mContext Ġas ĠDashboard Activity ). show Sn ack Message ( getString ( R . string . no _ data _ available )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . iv _ product _ dropdown _ icon Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( m Product _ list Ġ!= Ġnull Ġ&& Ġm Product _ list ?. size !! Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠProduct List Dialog . newInstance ( m Product _ list , Ġ{ Ġproduct Ġ-> ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ product _ dropdown . text Ġ= Ġproduct . product _ name ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠproductId Ġ= Ġproduct . product _ id !! ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġiv _ product _ cross _ icon . visibility Ġ= ĠView . VISIBLE ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}). show ( fragment Manager !! , Ġ"") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( mContext Ġas ĠDashboard Activity ). show Sn ack Message ( getString ( R . string . no _ data _ available )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . tv _ product _ dropdown Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( m Product _ list Ġ!= Ġnull Ġ&& Ġm Product _ list ?. size !! Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠProduct List Dialog . newInstance ( m Product _ list , Ġ{ Ġproduct Ġ-> ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ product _ dropdown . text Ġ= Ġproduct . product _ name ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠproductId Ġ= Ġproduct . product _ id !! ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġiv _ product _ cross _ icon . visibility Ġ= ĠView . VISIBLE ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}). show ( fragment Manager !! , Ġ"") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( mContext Ġas ĠDashboard Activity ). show Sn ack Message ( getString ( R . string . no _ data _ available )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . iv _ project _ cross _ icon Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ project _ dropdown . text Ġ= Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠprojectId Ġ= Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġiv _ project _ cross _ icon . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . iv _ client _ cross _ icon Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ client _ dropdown . text Ġ= Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠclientId Ġ= Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġiv _ client _ cross _ icon . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . iv _ product _ cross _ icon Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ product _ dropdown . text Ġ= Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠproductId Ġ= Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġiv _ product _ cross _ icon . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . iv _ upload _ photo Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Build . VERSION . SDK _ INT Ġ>= ĠBuild . VERSION _ CODES . M ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinit Permission Check () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( mContext Ġas ĠDashboard Activity ). capture Image () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit Permission Check () Ġ{ ĊĠĠĠĠĠĠĠ Ġpermission Utils Ġ= ĠPermission Utils ( mContext Ġas ĠActivity , Ġobject Ġ: ĠPermission Utils . On Permission Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Permission Granted () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( mContext Ġas ĠDashboard Activity ). capture Image () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Permission Not Granted () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( mContext Ġas ĠDashboard Activity ). show Sn ack Message ( getString ( R . string . accept _ permission )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ}, ĠarrayOf < String >( Manifest . permission . CAMERA , ĠManifest . permission . READ _ EXTERNAL _ STORAGE , ĠManifest . permission . WRITE _ EXTERNAL _ STORAGE )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġon Request Permission ( request Code : ĠInt , Ġpermissions : ĠArray < String >, Ġgrant Results : ĠInt Array ) Ġ{ ĊĠĠĠĠĠĠĠ Ġpermission Utils ?. on Request Permissions Result ( request Code , Ġpermissions , Ġgrant Results ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Image ( filePath : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġfile Ġ= ĠFile ( filePath ) ĊĠĠĠĠĠĠĠ Ġvar Ġnew File : ĠFile ? Ġ= Ġnull ĊĊĠĠĠĠĠĠĠ Ġprogress _ wheel . spin () ĊĠĠĠĠĠĠĠ Ġdo Async Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġprocess Image Ġ= ĠProcess Image Utils _ v 1 ( mContext , Ġfile , Ġ 5 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnew File Ġ= Ġprocess Image . Process Image () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġui Thread Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( new File Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠX Log . e (" ========= Image Ġfrom Ġnew Ġtechnique ======== ==" ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtimes heet Pic ( new File !!. length (), Ġnew File ?. absolute Path !! ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠImage Ġcompression ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠfileSize Ġ= ĠApp Utils . get Compress Image ( filePath ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtimes heet Pic ( file Size , ĠfilePath ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġtimes heet Pic ( file Size : ĠLong , ĠfilePath : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠfileSize In KB Ġ= ĠfileSize Ġ/ Ġ 1 0 2 4 ĊĠĠĠĠĠĠĠ ĠLog . e (" Add ĠTime sheet ", Ġ" image Ġfile Ġsize Ġafter Ġcompression ==== => Ġ$ file Size In KB ĠKB ") ĊĊĠĠĠĠĠĠĠ Ġprogress _ wheel . stop Spin ning () ĊĊĠĠĠĠĠĠĠ Ġimage Path Ġ= ĠfilePath ĊĠĠĠĠĠĠĠ ĠG lide . with ( mContext ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. load ( filePath ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. apply ( RequestOptions . placeholder Of ( R . drawable . ic _ upload _ icon ). error ( R . drawable . ic _ upload _ icon )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. into ( iv _ upload _ photo ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġprivate Ġfun Ġcheck Validation () Ġ{ ĊĠĠĠĠĠĠĠ ĠApp Utils . hide Soft Keyboard (( mContext Ġas ĠDashboard Activity )) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( TextUtils . isEmpty ( activity Id )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( mContext Ġas ĠDashboard Activity ). show Sn ack Message ( getString ( R . string . error _ select _ activity )) ĊĠĠĠĠĠĠĠ Ġ/* else Ġif Ġ( TextUtils . isEmpty ( et _ time . text . toString (). trim ())) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( mContext Ġas ĠDashboard Activity ). show Sn ack Message ( getString ( R . string . error _ enter _ time )) ĊĠĠĠĠĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! et _ time . text . toString (). trim (). contains (".") Ġ&& Ġ! et _ time . text . toString (). trim (). contains (" :" )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġet _ time . text . toString (). trim (). toInt () Ġ== Ġ 0 Ġ-> Ġ( mContext Ġas ĠDashboard Activity ). show Sn ack Message ( getString ( R . string . error _ enter _ valid _ time )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġet _ time . text . toString (). trim (). toInt () Ġ> Ġ 5 Ġ-> Ġ( mContext Ġas ĠDashboard Activity ). show Sn ack Message ( getString ( R . string . error _ enter _ valid _ time )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġedit Time Sheet () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( et _ time . text . toString (). trim (). contains (". ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġhour Ġ= Ġet _ time . text . toString (). trim (). substring ( 0 , Ġet _ time . text . toString (). trim (). indexOf (". ")) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhour . toInt () Ġ== Ġ 0 Ġ-> Ġ( mContext Ġas ĠDashboard Activity ). show Sn ack Message ( getString ( R . string . error _ enter _ valid _ time )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhour . toInt () Ġ> Ġ 5 Ġ-> Ġ( mContext Ġas ĠDashboard Activity ). show Sn ack Message ( getString ( R . string . error _ enter _ valid _ time )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġedit Time Sheet () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( et _ time . text . toString (). trim (). contains (" :" )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġhour Ġ= Ġet _ time . text . toString (). trim (). substring ( 0 , Ġet _ time . text . toString (). trim (). indexOf (" :" )) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhour . toInt () Ġ== Ġ 0 Ġ-> Ġ( mContext Ġas ĠDashboard Activity ). show Sn ack Message ( getString ( R . string . error _ enter _ valid _ time )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhour . toInt () Ġ> Ġ 5 Ġ-> Ġ( mContext Ġas ĠDashboard Activity ). show Sn ack Message ( getString ( R . string . error _ enter _ valid _ time )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġedit Time Sheet () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}*/ ĊĠĠĠĠĠĠĠ Ġelse Ġif Ġ( TextUtils . isEmpty ( et _ h rs . text . toString (). trim ())) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( mContext Ġas ĠDashboard Activity ). show Sn ack Message ( getString ( R . string . error _ enter _ h rs )) ĊĠĠĠĠĠĠĠ Ġelse Ġif Ġ( TextUtils . isEmpty ( et _ mins . text . toString (). trim ())) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( mContext Ġas ĠDashboard Activity ). show Sn ack Message ( getString ( R . string . error _ enter _ mins )) ĊĠĠĠĠĠĠĠ Ġelse Ġif Ġ( et _ h rs . text . toString (). trim (). toInt () Ġ> Ġ 2 3 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( mContext Ġas ĠDashboard Activity ). show Sn ack Message ( getString ( R . string . error _ enter _ valid _ h rs )) ĊĠĠĠĠĠĠĠ Ġelse Ġif Ġ( et _ mins . text . toString (). trim (). toInt () Ġ> Ġ 5 9 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( mContext Ġas ĠDashboard Activity ). show Sn ack Message ( getString ( R . string . error _ enter _ valid _ mins )) ĊĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd Time Sheet () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġadd Time Sheet () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġtime Sheet Entity Ġ= ĠTime sheet List Entity () ĊĠĠĠĠĠĠĠ Ġval Ġm Date Ġ= Ġdate ĊĠĠĠĠĠĠĠ ĠApp Database . get DBInstance ()?. times heet Dao ()?. insert All ( time Sheet Entity . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtimes heet _ id Ġ= ĠPref . user _ id Ġ+ Ġ"_ times heet _" Ġ+ ĠSystem . currentTimeMillis () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdate Ġ= Ġm Date ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclient _ id Ġ= ĠclientId ĊĠĠĠĠĠĠĠĠĠĠĠ Ġproject _ id Ġ= ĠprojectId ĊĠĠĠĠĠĠĠĠĠĠĠ Ġactivity _ id Ġ= Ġactivity Id ĊĠĠĠĠĠĠĠĠĠĠĠ Ġproduct _ id Ġ= ĠproductId ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġh rs Ġ= Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġmins Ġ= Ġ"" ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġh rs Ġ= Ġif Ġ( et _ h rs . text . toString (). trim (). length Ġ== Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" 0 " Ġ+ Ġet _ h rs . text . toString (). trim () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġet _ h rs . text . toString (). trim () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġmins Ġ= Ġif Ġ( et _ mins . text . toString (). trim (). length Ġ== Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" 0 " Ġ+ Ġet _ mins . text . toString (). trim () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġet _ mins . text . toString (). trim () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtime Ġ= Ġh rs Ġ+ Ġ":" Ġ+ Ġmins ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcomments Ġ= Ġet _ comment . text . toString (). trim () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Uploaded Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstatus Ġ= ĠgetString ( R . string . pending ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclient _ name Ġ= Ġtv _ client _ dropdown . text . toString (). trim () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġactivity _ name Ġ= Ġtv _ activity _ dropdown . text . toString (). trim () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġproject _ name Ġ= Ġtv _ project _ dropdown . text . toString (). trim () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġproduct _ name Ġ= Ġtv _ product _ dropdown . text . toString (). trim () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġimage Ġ= Ġimage Path ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġ( mContext Ġas ĠDashboard Activity ). is Time sheet Added Edited Ġ= Ġtrue ĊĊĠĠĠĠĠĠĠ Ġif Ġ(! App Utils . is Online ( mContext )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( mContext Ġas ĠDashboard Activity ). show Sn ack Message (" Time sheet Ġadded Ġsuccessfully ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( mContext Ġas ĠDashboard Activity ). on Back Pressed () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠX Log . d (" ============== Add ĠTime sheet ĠInput ĠParams Ġ( Add ĠTime sheet ) ================ === =") ĊĠĠĠĠĠĠĠ ĠX Log . d (" user _ id ====== => Ġ" Ġ+ ĠPref . user _ id ) ĊĠĠĠĠĠĠĠ ĠX Log . d (" session _ token ====== => Ġ" Ġ+ ĠPref . session _ token ) ĊĠĠĠĠĠĠĠ ĠX Log . d (" date ====== => Ġ" Ġ+ Ġtime Sheet Entity . date ) ĊĠĠĠĠĠĠĠ ĠX Log . d (" client _ id ====== => Ġ" Ġ+ Ġtime Sheet Entity . client _ id ) ĊĠĠĠĠĠĠĠ ĠX Log . d (" project _ id ====== => Ġ" Ġ+ Ġtime Sheet Entity . project _ id ) ĊĠĠĠĠĠĠĠ ĠX Log . d (" activity _ id ====== => Ġ" Ġ+ Ġtime Sheet Entity . activity _ id ) ĊĠĠĠĠĠĠĠ ĠX Log . d (" product _ id ====== => Ġ" Ġ+ Ġtime Sheet Entity . product _ id ) ĊĠĠĠĠĠĠĠ ĠX Log . d (" time ====== => Ġ" Ġ+ Ġtime Sheet Entity . time ) ĊĠĠĠĠĠĠĠ ĠX Log . d (" comments ====== => Ġ" Ġ+ Ġtime Sheet Entity . comments ) ĊĠĠĠĠĠĠĠ ĠX Log . d (" times heet _ id ====== => Ġ" Ġ+ Ġtime Sheet Entity . times heet _ id ) ĊĠĠĠĠĠĠĠ ĠX Log . d (" image ====== => Ġ" Ġ+ Ġtime Sheet Entity . image ) ĊĠĠĠĠĠĠĠ ĠX Log . d (" ================================================================ ========== =") ĊĊĠĠĠĠĠĠĠ Ġvar Ġcomment Ġ= Ġ"" ĊĊĠĠĠĠĠĠĠ Ġif Ġ(! TextUtils . isEmpty ( et _ comment . text . toString (). trim ())) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcomment Ġ= Ġet _ comment . text . toString (). trim () ĊĊĠĠĠĠĠĠĠ Ġval Ġadd In tp ut Ġ= ĠAdd Time Sheet Input Model ( Pref . session _ token !! , ĠPref . user _ id !! , Ġdate , ĠclientId , ĠprojectId , Ġactivity Id , ĠproductId , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġet _ h rs . text . toString (). trim () Ġ+ Ġ":" Ġ+ Ġet _ mins . text . toString (). trim (), Ġcomment , Ġtime Sheet Entity . times heet _ id !! ) ĊĊĊĠĠĠĠĠĠĠ Ġprogress _ wheel . spin () ĊĠĠĠĠĠĠĠ Ġif Ġ( TextUtils . isEmpty ( time Sheet Entity . image )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrepository Ġ= ĠTime Sheet Repo Provider . time Sheet Repo Provider () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBase Activity . composite Disposable . add ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrepository . add Time Sheet ( add In tp ut ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. observe On ( Android Schedulers . main Thread ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe On ( Schedulers . io ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ({ Ġresult Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresponse Ġ= Ġresult Ġas ĠBase Response ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠX Log . d (" ADD ĠTIM ES HE ET : Ġ" Ġ+ Ġ" RESPONSE Ġ: Ġ" Ġ+ Ġresponse . status Ġ+ Ġ"\ n " Ġ+ Ġ" Time Ġ: Ġ" Ġ+ ĠApp Utils . getCurrent DateTime () Ġ+ Ġ", ĠUSER Ġ:" Ġ+ ĠPref . user _ name Ġ+ Ġ", MESSAGE Ġ: Ġ" Ġ+ Ġresponse . message ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprogress _ wheel . stop Spin ning () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( response . status Ġ== ĠNetwork Constant . SUCCESS ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ/* ( mContext Ġas ĠDashboard Activity ). is Time sheet Added Edited Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠHandler (). post Delayed ( Runnable Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( mContext Ġas ĠDashboard Activity ). on Back Pressed () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, Ġ 5 0 0 ) */ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠApp Database . get DBInstance ()?. times heet Dao ()?. update Is Uploaded ( true , Ġtime Sheet Entity . times heet _ id !! ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( mContext Ġas ĠDashboard Activity ). show Sn ack Message ( response . message !! ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( mContext Ġas ĠDashboard Activity ). on Back Pressed () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( mContext Ġas ĠDashboard Activity ). show Sn ack Message (" Time sheet Ġadded Ġsuccessfully ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( mContext Ġas ĠDashboard Activity ). on Back Pressed () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, Ġ{ Ġerror Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprogress _ wheel . stop Spin ning () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠX Log . d (" ADD ĠTIM ES HE ET : Ġ" Ġ+ Ġ" ERROR Ġ: Ġ" Ġ+ Ġ"\ n " Ġ+ Ġ" Time Ġ: Ġ" Ġ+ ĠApp Utils . getCurrent DateTime () Ġ+ Ġ", ĠUSER Ġ:" Ġ+ ĠPref . user _ name Ġ+ Ġ", MESSAGE Ġ: Ġ" Ġ+ Ġerror . localized Message ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġerror . printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( mContext Ġas ĠDashboard Activity ). show Sn ack Message (" Time sheet Ġadded Ġsuccessfully ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( mContext Ġas ĠDashboard Activity ). on Back Pressed () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrepository Ġ= ĠTime Sheet Repo Provider . time Sheet Image Repo Provider () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBase Activity . composite Disposable . add ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrepository . add Time sheet With Image ( add In tp ut , Ġtime Sheet Entity . image !! , ĠmContext ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. observe On ( Android Schedulers . main Thread ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe On ( Schedulers . io ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ({ Ġresult Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresponse Ġ= Ġresult Ġas ĠBase Response ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠX Log . d (" ADD ĠTIM ES HE ET : Ġ" Ġ+ Ġ" RESPONSE Ġ: Ġ" Ġ+ Ġresponse . status Ġ+ Ġ"\ n " Ġ+ Ġ" Time Ġ: Ġ" Ġ+ ĠApp Utils . getCurrent DateTime () Ġ+ Ġ", ĠUSER Ġ:" Ġ+ ĠPref . user _ name Ġ+ Ġ", MESSAGE Ġ: Ġ" Ġ+ Ġresponse . message ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprogress _ wheel . stop Spin ning () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( response . status Ġ== ĠNetwork Constant . SUCCESS ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ/* ( mContext Ġas ĠDashboard Activity ). is Time sheet Added Edited Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠHandler (). post Delayed ( Runnable Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( mContext Ġas ĠDashboard Activity ). on Back Pressed () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, Ġ 5 0 0 ) */ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠApp Database . get DBInstance ()?. times heet Dao ()?. update Is Uploaded ( true , Ġtime Sheet Entity . times heet _ id !! ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( mContext Ġas ĠDashboard Activity ). show Sn ack Message ( response . message !! ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( mContext Ġas ĠDashboard Activity ). on Back Pressed () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( mContext Ġas ĠDashboard Activity ). show Sn ack Message (" Time sheet Ġadded Ġsuccessfully ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( mContext Ġas ĠDashboard Activity ). on Back Pressed () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, Ġ{ Ġerror Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprogress _ wheel . stop Spin ning () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠX Log . d (" ADD ĠTIM ES HE ET : Ġ" Ġ+ Ġ" ERROR Ġ: Ġ" Ġ+ Ġ"\ n " Ġ+ Ġ" Time Ġ: Ġ" Ġ+ ĠApp Utils . getCurrent DateTime () Ġ+ Ġ", ĠUSER Ġ:" Ġ+ ĠPref . user _ name Ġ+ Ġ", MESSAGE Ġ: Ġ" Ġ+ Ġerror . localized Message ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġerror . printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( mContext Ġas ĠDashboard Activity ). show Sn ack Message (" Time sheet Ġadded Ġsuccessfully ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( mContext Ġas ĠDashboard Activity ). on Back Pressed () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }