package Ġcom . example . guru _ hem j ee Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . database . Cursor Ċ import Ġandroid . database . sqlite . SQLite Database Ċ import Ġandroid . graphics . Port er D uff Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget .* Ċ import Ġandroidx . appcompat . widget . AppCompat Button Ċ import Ġandroidx . fragment . app . Fragment Transaction Ċ import Ġcom . github . mike phil . chart ing . animation . E asing Ċ import Ġcom . github . mike phil . chart ing . charts . Pie Chart Ċ import Ġcom . github . mike phil . chart ing . data . Pie Data Ċ import Ġcom . github . mike phil . chart ing . data . Pie DataSet Ċ import Ġcom . github . mike phil . chart ing . data . Pie Entry Ċ import Ġjava . math . BigInteger Ċ import Ġjava . time . Z onedDateTime Ċ import Ġjava . time . format . DateTime Formatter Ċ import Ġjava . util .* Ċ Ċ // ĠíĻ Ī ( MainActivity ) Ġ-> ĠSub MainActivity Ġ-> Ġë¶Ħ ìĦĿ Ġë¦¬ íı¬ íĬ¸ Ċ // ĠìĿ¼ ê°Ħ ë³Ħ Ġë¶Ħ ìĦĿ Ġë¦¬ íı¬ íĬ¸ ë¥¼ Ġë³´ ìĹ¬ ì£¼ ëĬĶ ĠFragment ĠíĻ Ķ ë©´ Ċ // Ġíķ´ëĭ¹ ĠëĤ ł ì§ ľ ìĹĲìĦľ ìĿĺ Ġëª© íĳľ ë³Ħ Ġì ´ Ŀ Ġìŀ ł ê¸Ī ìĭľ ê°Ħ / ì ´ Ŀ Ġìŀ ł ê¸Ī ìĭľ ê°Ħ Ġë¹Ħ ìľ ¨ ë¡ľ ĠíĨµ ê³Ħ ë¥¼ Ġë³´ ìĹ¬ ì¤Ģ ëĭ¤ . Ċ class ĠDaily Report Fragment Ġ: ĠFragment () Ġ{ ĊĊĠĠĠ Ġ// Ġdb ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġdb Manager : ĠDB Manager ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġsqlite : ĠSQLite Database ĊĊĠĠĠ Ġ// ĠìĿ¼ ê°Ħ , Ġì£¼ ê°Ħ , ĠìĽ Ķ ê°Ħ ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġreport Daily _ daily Button : ĠAppCompat Button ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġreport Daily _ weekly Button : ĠAppCompat Button ĊĠĠĠ Ġ// late init Ġvar Ġmonthly Btn : ĠAppCompat Button ĊĊĠĠĠ Ġ// Ġìĺ¤ ëĬ ĺ Ġë¦¬ íı¬ íĬ¸ ĠíĻ Ķ ë©´ ìľ¼ë¡ľ ĠìĿ´ë ı Ļ íķĺëĬĶ Ġëĭ ¬ ëł¥ Ġë²Ħ íĬ ¼ ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġreport Daily _ move Today Button : ĠImage Button ĊĊĠĠĠ Ġ// ĠëĤ ł ì§ ľ Ġ& Ġìĭľê°Ħ ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġreport Daily _ date Text view : ĠTextView ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġreport Daily _ total Time Text view : ĠTextView ĊĊĠĠĠ Ġ// ĠìĿ´ ìłĦ Ġ& Ġëĭ¤ìĿĮ Ġë²Ħ íĬ ¼ ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġreport Daily _ prev Button : ĠImage Button ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġreport Daily _ next Button : ĠImage Button ĊĊĠĠĠ Ġ// ĠíĮĮ ìĿ´ Ġì° ¨ íĬ¸ ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġreport Daily _ pie Chart : ĠP ie Chart ĊĊĠĠĠ Ġ// ĠìĦ¸ ë¶Ģ ëª© íĳľ Ġë¦¬ ìĬ¤íĬ¸ ë¥¼ ĠìłĢìŀ¥ íķł Ġë¦¬ ëĭĪ ìĸ´ Ġëł Ī ìĿ´ ìķĦ ìĽ ĥ ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġreport Daily _ report List Layout : ĠLinearLayout ĊĊĠĠĠ Ġ// Ġíħ į ìĬ¤íĬ¸ ë · ° ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġreport Daily _ no Goal Time TextView : ĠTextView ĊĊĠĠĠ Ġ// ĠíĺĦ ìŀ¬ ĠëĤ ł ì§ ľ ĊĠĠĠ Ġprivate Ġvar Ġnow Time Ġ= ĠZ onedDateTime . now () ĊĊĠĠĠ Ġ// ĠíĺĦ ìŀ¬ Ġíİ ĺìĿ´ ì§Ģ ìĹĲ Ġë³´ ìĹ¬ ì§Ģ ëĬĶ ĠëĤ ł ì§ ľ ĊĠĠĠ Ġprivate Ġvar Ġnow View Time Ġ= Ġnow Time ĊĊĠĠĠ Ġ// Ġ 2 ì°¨ ìĽĲ Ġë°° ìĹ´ ( ëĮĢ íĳľ ëª© íĳľ ) ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġbig Goal ArrayList : ĠArrayList < Mutable Map < String , ĠString >> ĊĠĠĠ Ġprivate Ġvar Ġis Big Goal Initial ised Ġ= Ġfalse ĊĊĠĠĠ Ġ// Ġ 2 ì°¨ ìĽĲ Ġë°° ìĹ´ ( ìĦ¸ ë¶Ģ ëª© íĳľ ) ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġdetail Goal ArrayList : ĠArrayList < Mutable Map < String , ĠString >> ĊĠĠĠ Ġprivate Ġvar Ġis Detail Goal Initialized Ġ= Ġfalse ĊĊĠĠĠ Ġ// ĠíĺĦ ìŀ¬ Ġë¦¬ íı¬ íĬ¸ ĠíĻ Ķ ë©´ Ġìĥģíĥľ ĊĠĠĠ Ġprivate Ġvar Ġreport S ate : ĠInt Ġ= Ġ 0 Ġ// Ġìĺ¤ ëĬ ĺ ĊĠĠĠ Ġprivate Ġvar Ġmain Activity Ġ: ĠSub MainActivity ? Ġ= Ġnull Ġ// ĠìĦľ ë¸Į Ġë©Ķ ìĿ¸ Ġìķ ¡ íĭ° ë¹Ħ íĭ° Ġë³ĢìĪĺ ĊĊĠĠĠ Ġoverride Ġfun Ġon Attach ( context : ĠContext ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Attach ( context ) ĊĊĠĠĠĠĠĠĠ Ġmain Activity Ġ= Ġcontext Ġas ĠSub MainActivity ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Detach () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Detach () ĊĊĠĠĠĠĠĠĠ Ġmain Activity Ġ= Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( in flater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ?): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠInf late Ġthe Ġlayout Ġfor Ġthis Ġfragment ĊĠĠĠĠĠĠĠ Ġvar Ġview : ĠView Ġ= Ġinflater . inflate ( R . layout . fragment _ daily _ report , Ġcontainer , Ġfalse ) ĊĊĠĠĠĠĠĠĠ Ġreport Daily _ daily Button Ġ= Ġview . findViewById ( R . id . report Daily _ daily Button ) ĊĠĠĠĠĠĠĠ Ġreport Daily _ weekly Button Ġ= Ġview . findViewById ( R . id . report Daily _ weekly Button ) ĊĠĠĠĠĠĠĠ Ġreport Daily _ move Today Button Ġ= Ġview . findViewById ( R . id . report Daily _ move Today Button ) ĊĠĠĠĠĠĠĠ Ġreport Daily _ date Text view Ġ= Ġview . findViewById ( R . id . report Daily _ date Text view ) ĊĠĠĠĠĠĠĠ Ġreport Daily _ total Time Text view Ġ= Ġview . findViewById ( R . id . report Daily _ total Time Text view ) ĊĠĠĠĠĠĠĠ Ġreport Daily _ prev Button Ġ= Ġview . findViewById ( R . id . report Daily _ prev Button ) ĊĠĠĠĠĠĠĠ Ġreport Daily _ next Button Ġ= Ġview . findViewById ( R . id . report Daily _ next Button ) ĊĠĠĠĠĠĠĠ Ġreport Daily _ pie Chart Ġ= Ġview . findViewById ( R . id . report Daily _ pie Chart ) ĊĠĠĠĠĠĠĠ Ġreport Daily _ report List Layout Ġ= Ġview . findViewById ( R . id . report Daily _ report List Layout ) ĊĠĠĠĠĠĠĠ Ġreport Daily _ no Goal Time TextView Ġ= Ġview . findViewById ( R . id . report Daily _ no Goal Time TextView ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠíĻ Ķ ë©´ ìĹĲ Ġìłĳ ìĨį íķł ĠëķĮ ë§ Īëĭ¤ Ġíķ Ń ìĥģ Ġëł Ī ìĿ´ ìķĦ ìĽ ĥ Ġì ´Ī ê¸° íĻĶ ĊĠĠĠĠĠĠĠ Ġreport Daily _ report List Layout . removeAll Views () ĊĊĠĠĠĠĠĠĠ Ġ// ĠëĮĢ íĳľ ëª© íĳľ Ġë¦¬ íı¬ íĬ¸ Ġdb ìĹĲ ĠìłĢìŀ¥ ëĲľ Ġê°Ĵ ĠìĿ ½ ìĸ´ ìĺ¤ ê¸° ( ëĮĢ íĳľ ëª© íĳľ Ġê°Ĵ , ĠëĮĢ íĳľ ëª© íĳľ Ġì ´ Ŀ ĠìĪĺ íĸī Ġìĭľê°Ħ , Ġìŀ ł ê¸Ī ĠëĤ ł ì§ ľ ) ĊĠĠĠĠĠĠĠ Ġdb Manager Ġ= ĠDB Manager ( context , Ġ" ham ster _ db ", Ġnull , Ġ 1 ) ĊĠĠĠĠĠĠĠ Ġsqlite Ġ= Ġdb Manager . readable Database ĊĠĠĠĠĠĠĠ Ġvar Ġcursor : ĠCursor ĊĠĠĠĠĠĠĠ Ġcursor Ġ= Ġsqlite . raw Query (" SELECT Ġ* ĠFROM Ġbig _ goal _ time _ report _ db ", Ġnull ) ĊĊĠĠĠĠĠĠĠ Ġ// Ġëª¨ëĵł Ġê°Ĵ ëĵ¤ Ġë°° ìĹ´ ìĹĲ ĠìłĢìŀ¥ ( ê° Ļ ìĿĢ ĠëĤ ł ì§ ľ ĠëĤ´ ìĹĲ Ġì¤ĳ ë³µ ê°Ĵ ĠìłĢìŀ¥ X ) ĊĠĠĠĠĠĠĠ Ġwhile Ġ( cursor . moveTo Next ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġstr _ big _ goal Ġ= Ġcursor . getString ( cursor . getColumnIndex (" big _ goal _ name ")). toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġbigint _ time Ġ= Ġcursor . getInt ( cursor . getColumnIndex (" total _ lock _ time ")). to BigInteger () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġstr _ date Ġ= Ġcursor . getString ( cursor . getColumnIndex (" lock _ date ")). toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġint _ color Ġ= Ġcursor . getInt ( cursor . getColumnIndex (" color ")). to BigInteger () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġë°° ìĹ´ ìĹĲ ĠìĿ ½ ìĸ´ ìĺ ¨ Ġê°Ĵ ĠìłĢìŀ¥ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġis Flag : ĠBoolean Ġ= Ġfalse Ġ// Ġì¤ĳ ë³µ ê°Ĵ ĠíĻķìĿ¸ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġdate 1 Ġ= Ġstr _ date . split (" Ġ") Ġ// ĠëĤ ł ì§ ľ ( 0 ) ìĻĢ Ġìĭľê°Ħ ( 1 ) Ġë¶Ħ ë¦¬ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif (! is Big Goal Initial ised ){ Ġ// ì²ĺ ìĿĮ Ġìŀħëł¥ ìĭľ ìĹĲëĬĶ Ġì ´Ī ê¸° íĻĶ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbig Goal ArrayList Ġ= Ġarray ListOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmutable Map Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" big _ goal _ name " Ġto Ġstr _ big _ goal , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" total _ lock _ time " Ġto Ġbigint _ time . toString (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" lock _ date " Ġto Ġdate 1 [ 0 ], ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" color " Ġto Ġint _ color . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Big Goal Initial ised Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{// ê° Ļ ìĿĢ ĠëĤ ł Ġê°ĻìĿĢ Ġëª© íĳľ ë¥¼ Ġëĭ ¬ ìĦ± íĸ Īëĭ¤ ë©´ Ġìĭľê°Ħ ë§Į Ġì¶Ķê°Ģ íķĺê³ł ĠìĥĪ ë¡ľ Ġì¶Ķê°Ģ ĠX ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġis Flag : ĠBoolean Ġ= Ġfalse Ġ// Ġì¤ĳ ë³µ ê°Ĵ ĠíĻķìĿ¸ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġi Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhile Ġ( i Ġ< Ġbig Goal ArrayList . size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ê¸° ì ¡´ ìĹĲ ĠìŀĪëĬĶ Ġëª© íĳľ ìĿ¸ ì§Ģ ĠíĻķìĿ¸ ( ìĿ´ ë¦Ħ ê³¼ Ġìĥ ī ìĥģ Ġëª¨ ëĳĲ Ġê³ł ëł¤ ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( big Goal ArrayList [ i ][" big _ goal _ name "] Ġ== Ġstr _ big _ goal Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbig Goal ArrayList [ i ][" color "] !!. to BigInteger () Ġ== Ġint _ color Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbig Goal ArrayList [ i ][" lock _ date "] Ġ== Ġdate 1 [ 0 ]) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbig Goal ArrayList [ i ][" total _ lock _ time "] Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( big Goal ArrayList [ i ][" total _ lock _ time "] ?. toInt () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ? . plus ( bigint _ time . toInt ())). toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Flag Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbreak ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġi ++ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! is Flag ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbig Goal ArrayList . add ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmutable Map Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" big _ goal _ name " Ġto Ġstr _ big _ goal , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" total _ lock _ time " Ġto Ġbigint _ time . toString (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" lock _ date " Ġto Ġdate 1 [ 0 ], ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" color " Ġto Ġint _ color . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġcursor . close () ĊĊĠĠĠĠĠĠĠ Ġ// ĠìĦ¸ ë¶Ģ ëª© íĳľ Ġë¦¬ íı¬ íĬ¸ Ġdb ìĹĲìĦľ ĠìłĢìŀ¥ ëĲľ Ġê°Ĵ ĠìĿ ½ ìĸ´ ìĺ¤ ê¸° ( ìĦ¸ ë¶Ģ ëª© íĳľ , Ġìŀ ł ê¸Ī ĠëĤ ł ì§ ľ ) ĊĠĠĠĠĠĠĠ Ġvar Ġcursor 3 : ĠCursor ĊĠĠĠĠĠĠĠ Ġcursor 3 Ġ= Ġsqlite . raw Query (" SELECT Ġ* ĠFROM Ġdetail _ goal _ time _ report _ db ", Ġnull ) ĊĊĠĠĠĠĠĠĠ Ġwhile Ġ( cursor 3 . moveTo Next ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġstr _ detail _ goal Ġ= Ġcursor 3 . getString ( cursor 3 . getColumnIndex (" detail _ goal _ name ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġstr _ date Ġ= Ġcursor 3 . getString ( cursor 3 . getColumnIndex (" lock _ date ")). toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġint _ icon Ġ= Ġcursor 3 . getInt ( cursor 3 . getColumnIndex (" icon ")). to BigInteger () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġint _ color Ġ= Ġcursor 3 . getInt ( cursor 3 . getColumnIndex (" color ")). to BigInteger () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġstr _ big _ goal Ġ= Ġcursor 3 . getString ( cursor 3 . getColumnIndex (" big _ goal _ name ")). toString () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġë°° ìĹ´ ìĹĲ ĠìĿ ½ ìĸ´ ìĺ ¨ Ġê°Ĵ ĠìłĢìŀ¥ Ġ( ê° Ļ ìĿĢ ĠëĤ ł ì§ ľ ĠëĤ´ ìĹĲ Ġì¤ĳ ë³µ ê°Ĵ ĠìłĢìŀ¥ X ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġis Flag : ĠBoolean Ġ= Ġfalse Ġ// Ġì¤ĳ ë³µ ê°Ĵ ĠíĻķìĿ¸ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġdate 1 Ġ= Ġstr _ date . split (" Ġ") Ġ// ĠëĤ ł ì§ ľ ( 0 ) ìĻĢ Ġìĭľê°Ħ ( 1 ) Ġë¶Ħ ë¦¬ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! is Detail Goal Initialized ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdetail Goal ArrayList Ġ= Ġarray ListOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmutable Map Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" detail _ goal _ name " Ġto Ġstr _ detail _ goal , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" lock _ date " Ġto Ġdate 1 [ 0 ], ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" icon " Ġto Ġint _ icon . toString (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" color " Ġto Ġint _ color . toString (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" big _ goal _ name " Ġto Ġstr _ big _ goal ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Detail Goal Initialized Ġ= Ġtrue ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġis Flag : ĠBoolean Ġ= Ġfalse Ġ// Ġì¤ĳ ë³µ ê°Ĵ ĠíĻķìĿ¸ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġi Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ê¸° ì ¡´ ìĹĲ Ġê°Ĵ ìĿ´ ĠìĹĨ ìĿĦ ĠëķĮ ë§Į ĠìĥĪ ë¡ľ Ġì¶Ķê°Ģ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhile Ġ( i Ġ< Ġdetail Goal ArrayList . size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( detail Goal ArrayList [ i ][" detail _ goal _ name "] Ġ== Ġstr _ detail _ goal ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ&& Ġdetail Goal ArrayList [ i ][" lock _ date "] Ġ== Ġdate 1 [ 0 ]) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Flag Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbreak ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġi ++ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! is Flag ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdetail Goal ArrayList . add ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmutable Map Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" detail _ goal _ name " Ġto Ġstr _ detail _ goal , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" lock _ date " Ġto Ġdate 1 [ 0 ], ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" icon " Ġto Ġint _ icon . toString (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" color " Ġto Ġint _ color . toString (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" big _ goal _ name " Ġto Ġstr _ big _ goal ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġcursor 3 . close () ĊĠĠĠĠĠĠĠ Ġdb Manager . close () ĊĠĠĠĠĠĠĠ Ġsqlite . close () ĊĊĠĠĠĠĠĠĠ Ġ// ĠìľĦ ìł ¯ ìĹĲ Ġê°Ĵ Ġìłģìļ© íķĺê¸° ( ëĤ ł ì§ ľ , Ġì ´ Ŀ ĠìĪĺ íĸī Ġìĭľê°Ħ ) Ġ- Ġìĺ¤ ëĬ ĺ ê¸° ì¤Ģ ĊĠĠĠĠĠĠĠ Ġif Ġ( report S ate Ġ== Ġ 0 ) Ġ{ Ġ// Ġìĺ¤ ëĬ ĺ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreport Daily _ report List Layout . removeAll Views () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġday Report ( now Time ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Ġëĭ ¬ ëł¥ Ġë²Ħ íĬ ¼ Ġíģ ´ ë¦ Ń ĠìĿ´ë ² ¤íĬ¸ ĊĠĠĠĠĠĠĠ Ġreport Daily _ move Today Button . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠíĺĦ ìŀ¬ ĠëĤ ł ì§ ľ ìĿĺ Ġë¦¬ íı¬ íĬ¸ ë¥¼ Ġë³´ ìĹ¬ ì£¼ ê¸° ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreport Daily _ report List Layout . removeAll Views () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreport S ate Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnow View Time Ġ= Ġnow Time ĠĠ Ġ// Ġìĺ¤ ëĬ ĺ ĠëĤ ł ì§ ľ ë¡ľ Ġìŀ¬ ìĦ ¤ ìłķ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġday Report ( now View Time ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// ĠìĿ´ ìłĦ Ġë²Ħ íĬ ¼ Ġíģ ´ ë¦ Ń ĠìĿ´ë ² ¤íĬ¸ ĊĠĠĠĠĠĠĠ Ġreport Daily _ prev Button . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠìĿ´ ìłĦ ĠëĤ ł ì§ ľ ìĿĺ Ġë¦¬ íı¬ íĬ¸ Ġë³´ ìĹ¬ ì£¼ ê¸° ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreport Daily _ report List Layout . removeAll Views () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreport S ate -- ĠĠĠ Ġ// Ġíİ ĺìĿ´ ì§Ģ Ġìĥģíĥľ Ġê° Ĳ ìĨĮ ( ìĿ´ ìłĦ Ġíİ ĺìĿ´ ì§Ģ ë¡ľ ĠìĿ´ë ı Ļ íķ¨ ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnow View Time Ġ= Ġnow View Time . minus Days ( 1 ) Ġ Ġ// Ġíķĺ ë£ ¨ Ġë¹ ¼ ê¸° ĊĠĠĠĠĠĠĠĠĠĠĠ Ġday Report ( now View Time ) Ġ// ĠíĺĦ ìŀ¬ Ġìĥģíĥľ ìĹĲ Ġë§ ŀ ì¶ ° ìĦľ ĠëĤ ł ì§ ľ ĠìłĦ ëĭ ¬ ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Ġëĭ¤ìĿĮ Ġë²Ħ íĬ ¼ Ġíģ ´ ë¦ Ń ĠìĿ´ë ² ¤íĬ¸ ĊĠĠĠĠĠĠĠ Ġreport Daily _ next Button . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠíĺĦ ìŀ¬ Ġë¦¬ íı¬ íĬ¸ ë¥¼ Ġë³´ ê³ł ĠìŀĪëĭ¤ ë©´ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( report S ate Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( context , Ġ" íĺĦ ìŀ¬ ĠíĻ Ķ ë©´ ìĿ´ Ġê°Ģ ìŀ¥ Ġìµľ ìĭł Ġë¦¬ íı¬ íĬ¸ ĠíĻ Ķ ë©´ ìŀħëĭĪëĭ¤ .", ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ Ġ// Ġëĭ¤ìĿĮ ĠëĤ ł ì§ ľ ìĿĺ Ġë¦¬ íı¬ íĬ¸ Ġë³´ ìĹ¬ ì£¼ ê¸° ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreport Daily _ report List Layout . removeAll Views () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreport S ate ++ ĠĠĠ Ġ// Ġíİ ĺìĿ´ ì§Ģ Ġìĥģíĥľ Ġì ¦ Ŀ ê°Ģ ( ëĭ¤ ìĿĮ Ġíİ ĺìĿ´ ì§Ģ ë¡ľ ĠìĿ´ë ı Ļ íķ¨ ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnow View Time Ġ= Ġnow View Time . plus Days ( 1 ) Ġ// Ġíķĺ ë£ ¨ ĠëįĶ íķĺê¸° ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġday Report ( now View Time ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// ĠìĿ¼ ê°Ħ Ġë²Ħ íĬ ¼ Ġíģ ´ ë¦ Ń ĠìĿ´ë ² ¤íĬ¸ ĊĠĠĠĠĠĠĠ Ġreport Daily _ daily Button . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgo Daily Report () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Ġì£¼ ê°Ħ Ġë²Ħ íĬ ¼ Ġíģ ´ ë¦ Ń ĠìĿ´ë ² ¤íĬ¸ ĊĠĠĠĠĠĠĠ Ġreport Daily _ weekly Button . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgo Week ly Report () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġview ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠDaily Report Fragment ë¡ľ ĠíĻ Ķ ë©´ ĠìłĦ íĻĺ ĊĠĠĠ Ġprivate Ġfun Ġgo Daily Report () Ġ{ ĊĠĠĠĠĠĠĠ Ġmain Activity ?. support FragmentManager ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ? . beginTransaction () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ? . replace ( R . id . fragment _ main , ĠDaily Report Fragment ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ? . set Transition ( Fragment Transaction . TRANS IT _ FRAGMENT _ OPEN ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ? . commit () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠWeek ly Report Frag m net ë¡ľ ĠíĻ Ķ ë©´ ĠìłĦ íĻĺ ĊĠĠĠ Ġprivate Ġfun Ġgo Week ly Report () Ġ{ ĊĠĠĠĠĠĠĠ Ġmain Activity ?. support FragmentManager ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ? . beginTransaction () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ? . replace ( R . id . fragment _ main , ĠWeek ly Report Fragment ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ? . set Transition ( Fragment Transaction . TRANS IT _ FRAGMENT _ OPEN ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ? . commit () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠMonth ly Report fragment ë¡ľ ĠíĻ Ķ ë©´ ìĿĦ ĠìłĦ íĻĺ íķĺëĬĶ Ġíķ¨ìĪĺ Ċ // ĠĠĠ Ġprivate Ġfun Ġgo Monthly Report () Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġmain Activity ?. support FragmentManager Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ? . beginTransaction () Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ? . replace ( R . id . fragment _ main , ĠMonth ly Report Fragment ()) Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ? . set Transition ( Fragment Transaction . TRANS IT _ FRAGMENT _ OPEN ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ? . commit () Ċ // ĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠíĮĮ ìĿ´ ì°¨ íĬ¸ ĠìĦ¸ íĮ ħ Ġíķ¨ìĪĺ ĊĠĠĠ Ġprivate Ġfun Ġdaily Pie Chart ( move Date : ĠString ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġreport Daily _ pie Chart . set Use Percent Values ( true ) Ġ// Ġ 1 0 0 % ë² Ķ ìľĦ ë¡ľ Ġê³Ħ ìĤ° ĊĊĠĠĠĠĠĠĠ Ġ// Ġëį°ìĿ´íĦ° ( ìĭľ ê°Ħ , ĠëĮĢ íĳľ ëª© íĳľ ) Ġìŀħëł¥ ĊĠĠĠĠĠĠĠ Ġval Ġentry Ġ= ĠArrayList < Pie Entry >() ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġbig Goal ArrayList . size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( big Goal ArrayList [ i ][" lock _ date "] Ġ== Ġmove Date ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentry . add ( Pie Entry ( big Goal ArrayList [ i ][" total _ lock _ time "] !!. toFloat (), Ġ"")) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// ĠìķĦ ìĿ´ íħľ Ġë² Ķ ìľĦ ë³Ħ Ġìĥ ī ìĥģ ĊĠĠĠĠĠĠĠ Ġval Ġitem color Ġ= ĠArrayList < Int >() ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġbig Goal ArrayList . size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( big Goal ArrayList [ i ][" lock _ date "] Ġ== Ġmove Date ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem color . add ( big Goal ArrayList [ i ][" color "] !!. toInt ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġpie DataSet Ġ= ĠP ie DataSet ( entry , Ġ"") ĊĠĠĠĠĠĠĠ Ġpie DataSet . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcolors Ġ= Ġitem color ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue TextColor Ġ= ĠR . color . Black ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Text Size Ġ= Ġ 1 6 f ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġpie Data Ġ= ĠP ie Data ( pie DataSet ) ĊĠĠĠĠĠĠĠ Ġreport Daily _ pie Chart . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdata Ġ= Ġpie Data ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdescription . isEnabled Ġ= Ġfalse Ġ// Ġê·¸ ëŀĺ íĶĦ ìĿ´ ë¦Ħ Ġë Ŀ Ħ ìļ° ê¸° X ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Rotation Enabled Ġ= Ġfalse Ġ// Ġìķ ł ëĭĪ ë© Ķ ìĿ´ ìħĺ Ġí ļ¨ ê³¼ X ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlegend . isEnabled Ġ= Ġfalse Ġ// Ġx - value ê°Ĵ ĠìķĪ ë³´ ìĿ´ ê²Į ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Touch Enabled ( false ) Ġ// Ġì° ¨ íĬ¸ Ġíģ ´ ë¦ Ń X ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Entry Label Color ( R . color . Black ) Ġ// Ġì° ¨ íĬ¸ ĠëĤ´ Ġê¸ Ģ ì Ķ ¨ Ġìĥ ī ê¹ Ķ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġanimate Y ( 1 4 0 0 , ĠE asing . E ase InOut Quad ) Ġ// Ġìµľ ì ´Ī Ġìķ ł ëĭĪ ë© Ķ ìĿ´ ìħĺ O ĊĠĠĠĠĠĠĠĠĠĠĠ Ġanimate () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠëĤ ł ì§ ľ ìĹĲ ĠëĶ° ë¥¸ Ġë¦¬ íı¬ íĬ¸ ĊĠĠĠ Ġprivate Ġfun Ġday Report ( move Time : ĠZ onedDateTime ) Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġmove Date Ġ= Ġmove Time . format ( DateTime Formatter . of Pattern (" yyyy - MM - dd - E ")) Ġ// Ġëħ Ħ ëıĦ , ĠìĽ Ķ , ĠìĿ¼ , ĠìļĶ ìĿ¼ ĊĠĠĠĠĠĠĠ Ġval Ġsplit Date Ġ= Ġmove Date . split ('- ') Ġ// Ġëħ Ħ ëıĦ , ĠìĽ Ķ , ĠìĿ¼ , ĠìļĶ ìĿ¼ ĊĠĠĠĠĠĠĠ Ġreport Daily _ date Text view . text Ġ= Ġsplit Date [ 1 ] Ġ+ Ġ" ìĽĶ Ġ" Ġ+ Ġsplit Date [ 2 ] Ġ+ Ġ" ìĿ¼ Ġ" Ġ+ Ġsplit Date [ 3 ] Ġ+ Ġ" ìļĶ ìĿ¼ " ĊĊĠĠĠĠĠĠĠ Ġvar Ġtotal Milli : ĠBigInteger Ġ= ĠBigInteger . ZERO ĊĠĠĠĠĠĠĠ Ġif ( is Big Goal Initial ised ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġbig Goal ArrayList . size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( big Goal ArrayList [ i ][" lock _ date "] Ġ== Ġmove Date ) Ġ{ Ġ// Ġíķ´ëĭ¹ ĠëĤ ł ì§ ľ ê°Ĵ ìĿĺ Ġìĭľê°Ħ ë§Į Ġê°Ģ ìł¸ ìĻĢ ìĦľ Ġìłģìļ© ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtotal Milli Ġ+= Ġbig Goal ArrayList [ i ][" total _ lock _ time "] !!. to BigInteger () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġvar Ġinteger _ hour : ĠLong Ġ= Ġ( total Milli . to Long () Ġ/ Ġ( 1 0 0 0 Ġ* Ġ 6 0 Ġ* Ġ 6 0 )) Ġ% Ġ 2 4 ĊĠĠĠĠĠĠĠ Ġvar Ġinteger _ min : ĠLong Ġ= Ġ( total Milli . to Long () Ġ/ Ġ( 1 0 0 0 Ġ* Ġ 6 0 )) Ġ% Ġ 6 0 ĊĠĠĠĠĠĠĠ Ġreport Daily _ total Time Text view . text Ġ= Ġinteger _ hour . toString () Ġ+ Ġ" ìĭľ ê°Ħ Ġ" Ġ+ Ġinteger _ min . toString () Ġ+ Ġ" ë¶Ħ " ĊĊĠĠĠĠĠĠĠ Ġ// ĠíĮĮ ìĿ´ ì°¨ íĬ¸ ĠìĦ¸ íĮ ħ ĊĠĠĠĠĠĠĠ Ġvar Ġis Pie Flag Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġif ( is Big Goal Initial ised ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġbig Goal ArrayList . size ) Ġ{ Ġ// Ġíķ´ëĭ¹ ĠëĤ ł ì§ ľ ìĻĢ Ġê´Ģ ëł¨ íķľ Ġê°Ĵ ìĿ´ Ġ 1 ê°ľ ëĿ¼ ëıĦ ĠìŀĪëĭ¤ ë©´ ĠíĮĮ ìĿ´ ì°¨ íĬ¸ ĠìĥĿìĦ± ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( big Goal ArrayList [ i ][" lock _ date "] Ġ== Ġmove Date ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdaily Pie Chart ( move Date ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreport Daily _ pie Chart . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreport Daily _ no Goal Time TextView . visibility Ġ= ĠView . IN VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Pie Flag Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbreak ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ(! is Pie Flag ) Ġ{ Ġ// ĠìĿ¼ ì¹ĺ íķĺëĬĶ ĠëĤ ł ì§ ľ Ġê°Ĵ ìĿ´ ĠìĹĨ ëĭ¤ ë©´ ĠíĮĮ ìĿ´ ì°¨ íĬ¸ ĠìĪ ¨ ê¸° ê¸° ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreport Daily _ pie Chart . visibility Ġ= ĠView . IN VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreport Daily _ no Goal Time TextView . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// ĠëıĻ ìłģ Ġë · ° ë¥¼ ĠíĻľ ìļ© íķľ Ġëª© íĳľ Ġë¦¬ ìĬ¤íĬ¸ Ġë§Įëĵ¤ ê¸° ĊĠĠĠĠĠĠĠ Ġif Ġ( is Big Goal Initial ised ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġbig Goal ArrayList . size ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠëıĻ ìłģ Ġë · ° ĠìĥĿìĦ± ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġview : ĠView Ġ= Ġlayout Inflater . inflate ( R . layout . container _ goal _ daily _ big _ goal , Ġreport Daily _ report List Layout , Ġfalse ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠìķĦ ìĿ´ ì ½ ĺ ê³¼ ĠëĮĢ íĳľ Ġëª© íĳľ ĠëıĻ ìłģ Ġê°Ŀì²´ ĠìĥĿìĦ± ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġbig Goal Color : ĠImageView Ġ= Ġview . findViewById ( R . id . container _ big Goal Color ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġbig Goal Title TextView : ĠTextView Ġ= Ġview . findViewById ( R . id . container _ big Ga ol TextView ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġbig Goal Time TextView : ĠTextView Ġ= Ġview . findViewById ( R . id . container _ big Goal Time ) ĊĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġê°Ĵ Ġíķł ëĭ¹ íķĺê¸° ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( big Goal ArrayList [ i ][" lock _ date "] Ġ== Ġmove Date ) Ġ{ Ġ// Ġíķ´ëĭ¹ ĠëĤ ł ì§ ľ ìĿĺ Ġê°Ĵ ìĿ´ ëĿ¼ ë©´ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbig Goal Color . setColor Filter ( big Goal ArrayList [ i ][" color "] !!. toInt (), ĠPort er D uff . Mode . SRC _ IN ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbig Goal Title TextView . text Ġ= Ġbig Goal ArrayList [ i ][" big _ goal _ name "] ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġtotal Milli Ġ= Ġbig Goal ArrayList [ i ][" total _ lock _ time "] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġinteger _ hour : ĠInt Ġ= Ġ(( total Milli !!. to Long () Ġ/ Ġ( 1 0 0 0 Ġ* Ġ 6 0 Ġ* Ġ 6 0 )) Ġ% Ġ 2 4 ). toInt () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġinteger _ min : ĠInt Ġ= Ġ(( total Milli !!. to Long () Ġ/ Ġ( 1 0 0 0 Ġ* Ġ 6 0 )) Ġ% Ġ 6 0 ). toInt () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( integer _ hour Ġ== Ġ 0 Ġ&& Ġinteger _ min Ġ== Ġ 0 ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġinteger _ sec : ĠInt Ġ= Ġ( total Milli !!. to Long () Ġ/ Ġ( 1 0 0 0 )% 6 0 ). toInt () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbig Goal Time TextView . text Ġ= Ġinteger _ hour . toString () Ġ+ Ġ" ìĭľ ê°Ħ Ġ" Ġ+ Ġinteger _ min . toString () Ġ+ Ġ" ë¶Ħ Ġ" Ġ+ Ġinteger _ sec +" ì ´Ī " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbig Goal Time TextView . text Ġ= Ġinteger _ hour . toString () Ġ+ Ġ" ìĭľ ê°Ħ Ġ" Ġ+ Ġinteger _ min . toString () Ġ+ Ġ" ë¶Ħ " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġëł Ī ìĿ´ ìķĦ ìĽ ĥ ìĹĲ Ġê°Ŀì²´ Ġì¶Ķê°Ģ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreport Daily _ report List Layout . addView ( view ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ìķĦ ëŀĺ ìĹĲ ĠìĦ¸ ë¶Ģ Ġëª© íĳľ Ġë¶ Ļ ìĿ´ ê¸° ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif ( is Detail Goal Initialized ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( j Ġin Ġ 0 Ġuntil Ġdetail Goal ArrayList . size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠëıĻ ìłģ Ġë · ° ĠìĥĿìĦ± ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġview : ĠView Ġ= Ġlayout Inflater . inflate ( R . layout . container _ goal _ daily _ detail _ goal , Ġreport Daily _ report List Layout , Ġfalse ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠìķĦ ìĿ´ ì ½ ĺ ê³¼ ĠìĦ¸ ë¶Ģ ëª© íĳľ ĠëıĻ ìłģ Ġê°Ŀì²´ ĠìĥĿìĦ± ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġdaily Icon Img : ĠImageView Ġ= Ġview . findViewById ( R . id . container _ report Daily _ detail Goal Icon ImageView ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġdaily Detail Text view : ĠTextView Ġ= Ġview . findViewById ( R . id . container _ report Daily _ detail Goal TextView ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġê°Ĵ Ġíķł ëĭ¹ íķĺê¸° ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( detail Goal ArrayList [ j ][" big _ goal _ name "] Ġ== Ġbig Goal ArrayList [ i ][" big _ goal _ name "] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ&& Ġdetail Goal ArrayList [ j ][" lock _ date "] Ġ== Ġmove Date ) Ġ{ Ġ// Ġíķ´ëĭ¹ ĠëĤ ł ì§ ľ ìĿĺ Ġê°Ĵ , Ġíķ´ëĭ¹ ĠëĮĢ íĳľ Ġëª© íĳľ ĠìĤ ° íķĺ ĠìĦ¸ ë¶Ģ Ġëª© íĳľ ëĿ¼ ë©´ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdaily Icon Img . setImage Resource ( detail Goal ArrayList [ j ][" icon "] !!. toInt ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdaily Icon Img . setColor Filter ( detail Goal ArrayList [ j ][" color "] !!. toInt (), ĠPort er D uff . Mode . SRC _ IN ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdaily Detail Text view . text Ġ= Ġdetail Goal ArrayList [ j ][" detail _ goal _ name "] ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġëł Ī ìĿ´ ìķĦ ìĽ ĥ ìĹĲ Ġê°Ŀì²´ Ġì¶Ķê°Ģ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreport Daily _ report List Layout . addView ( view ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĊĊĠĠĠ Ġ} Ċ }