package Ġjournal er . ol lie . study . journal er . fragment ĊĊ Ċ import Ġandroid . animation . Animator Set Ċ import Ġandroid . animation . Object Animator Ċ import Ġandroid . app . Activity Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . design . widget . Floating ActionButton Ċ import Ġandroid . support . v 7 . app . AlertDialog Ċ import Ġandroid . util . Log Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . view . animation . Accel erate Interpolator Ċ import Ġandroid . view . animation . Bo unce Interpolator Ċ import Ġjournal er . ol lie . study . journal er . R Ċ import Ġjournal er . ol lie . study . journal er . activity . Note Activity Ċ import Ġjournal er . ol lie . study . journal er . activity . Todo Activity Ċ import Ġjournal er . ol lie . study . journal er . model . MODE Ċ import Ġjava . text . SimpleDateFormat Ċ import Ġjava . util .* ĊĊ Ċ class ĠItems Fragment Ġ: ĠBase Fragment () Ġ{ ĊĠĠĠ Ġoverride Ġval Ġlog Tag Ġ= Ġ" ITEMS ĠFR AG MENT " ĊĠĠĠ Ġoverride Ġfun Ġget Layout (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠR . layout . fragment _ items ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval ĠNOTE _ REQUEST Ġ= Ġ 0 ĊĠĠĠ Ġprivate Ġval ĠTODO _ REQUEST Ġ= Ġ 1 ĊĊĠĠĠ Ġprivate Ġfun Ġanimate ( btn : ĠFloating ActionButton , Ġexpand : ĠBoolean Ġ= Ġtrue ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġanimation 1 Ġ= ĠObject Animator . of Float ( btn , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" scale X ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( expand ) Ġ 1 . 5 f Ġelse Ġ 1 . 0 f ) ĊĠĠĠĠĠĠĠ Ġanimation 1 . duration Ġ= Ġ 2 0 0 0 ĊĠĠĠĠĠĠĠ Ġanimation 1 . interpol ator Ġ= ĠBo unce Interpolator () ĊĊĠĠĠĠĠĠĠ Ġval Ġanimation 2 Ġ= ĠObject Animator . of Float ( btn , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" scale Y ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( expand ) Ġ 1 . 5 f Ġelse Ġ 1 . 0 f ) ĊĠĠĠĠĠĠĠ Ġanimation 2 . duration Ġ= Ġ 2 0 0 0 ĊĠĠĠĠĠĠĠ Ġanimation 2 . interpol ator Ġ= ĠBo unce Interpolator () ĊĊĠĠĠĠĠĠĠ Ġval Ġanimation 3 Ġ= ĠObject Animator . of Float ( btn , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" alpha ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( expand ) Ġ 0 . 3 f Ġelse Ġ 1 . 0 f ) ĊĠĠĠĠĠĠĠ Ġanimation 3 . duration Ġ= Ġ 5 0 0 ĊĠĠĠĠĠĠĠ Ġanimation 3 . interpol ator Ġ= ĠAccel erate Interpolator () ĊĊĠĠĠĠĠĠĠ Ġval Ġset Ġ= ĠAn imator Set () ĊĠĠĠĠĠĠĠ Ġset . play ( animation 1 ). with ( animation 2 ). before ( animation 3 ) ĊĠĠĠĠĠĠĠ Ġset . start () ĊĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , ĊĠĠĠĠĠĠĠ Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= Ġinflater . inflate ( get Layout (), Ġcontainer , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġvar Ġbtn Ġ= Ġview . findViewById < Floating ActionButton >( R . id . new _ item ) ĊĠĠĠĠĠĠĠ Ġbtn . setOnClickListener Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġanimate ( btn ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġitems Ġ= ĠarrayOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠgetString ( R . string . todos ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠgetString ( R . string . notes ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbuilder Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAlertDialog . Builder ( this @ Items Fragment . context !! ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setTitle ( R . string . choose _ a _ type ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Cancel able ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setOn Cancel Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġanimate ( btn , Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Items ( items ) Ġ{ Ġ_, Ġwhich Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( which ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 -> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġopen Create Todo () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġopen Create Note () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> ĠLog . v ( log Tag , Ġ" Unknown Ġoptions Ġselected Ġ[ Ġ$ which Ġ] ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . show () ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġview ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġopen Create Note () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( context , ĠNote Activity :: class . java ) ĊĠĠĠĠĠĠĠ Ġval Ġdata Ġ= ĠBundle () ĊĠĠĠĠĠĠĠ Ġdata . put Int ( MODE . EXTRA _ KEY , ĠMODE . CREATE . mode ) ĊĠĠĠĠĠĠĠ Ġintent . put Extras ( data ) ĊĠĠĠĠĠĠĠ ĠstartActivity For Result ( intent , ĠNOTE _ REQUEST ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġopen Create Todo () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdate Ġ= ĠDate ( System . currentTimeMillis ()) ĊĠĠĠĠĠĠĠ Ġval ĠdateFormat Ġ= ĠSimpleDateFormat (" MMM Ġdd ĠYYYY ", ĠLocale . EN GL ISH ) ĊĠĠĠĠĠĠĠ Ġval Ġtime Format Ġ= ĠSimpleDateFormat (" MM : HH ", ĠLocale . EN GL ISH ) ĊĊĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( context , ĠTodo Activity :: class . java ) ĊĠĠĠĠĠĠĠ Ġval Ġdata Ġ= ĠBundle () ĊĠĠĠĠĠĠĠ Ġdata . put Int ( MODE . EXTRA _ KEY , ĠMODE . CREATE . mode ) ĊĠĠĠĠĠĠĠ Ġdata . putString ( Todo Activity . EXTRA _ DATE , ĠdateFormat . format ( date )) ĊĠĠĠĠĠĠĠ Ġdata . putString ( Todo Activity . EXTRA _ TIME , Ġtime Format . format ( date )) ĊĠĠĠĠĠĠĠ Ġintent . put Extras ( data ) ĊĠĠĠĠĠĠĠ ĠstartActivity For Result ( intent , ĠTODO _ REQUEST ) ĊĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Activity Result ( request Code : ĠInt , ĠresultCode : ĠInt , Ġdata : ĠIntent ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Activity Result ( request Code , ĠresultCode , Ġdata ) ĊĠĠĠĠĠĠĠ Ġwhen Ġ( request Code ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTODO _ REQUEST Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( result Code Ġ== ĠActivity . RESULT _ OK ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . i ( log Tag , Ġ" We Ġcreated Ġnew ĠTODO .") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . w ( log Tag , Ġ" We Ġdidn 't Ġcreate Ġnew ĠTODO .") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠNOTE _ REQUEST Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( result Code Ġ== ĠActivity . RESULT _ OK ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . i ( log Tag , Ġ" We Ġcreated Ġnew ĠNOTE .") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . w ( log Tag , Ġ" We Ġdidn 't Ġcreate Ġnew ĠNOTE .") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊ Ċ } Ċ