package Ġcom . in z . z . note _ book . view . activity Ċ Ċ import Ġcom . in z . z . base . util . Base Tools Ċ import Ġcom . in z . z . base . util . L Ċ import Ġcom . in z . z . base . view . Abs Base Activity Ċ import Ġcom . in z . z . note _ book . R Ċ import Ġcom . in z . z . note _ book . bean . Note Info Ċ import Ġcom . in z . z . note _ book . database . controller . Note Info Controller Ċ import Ġkotlinx . android . synt hetic . main . note _ info _ add _ layout .* Ċ import Ġjava . util .* Ċ import Ġjava . util . concurrent . Executors Ċ import Ġjava . util . concurrent . Scheduled ExecutorService Ċ import Ġjava . util . concurrent . TimeUnit Ċ Ċ /** Ċ Ġ* Ġ æĸ° ç¬Ķ è®° Ċ Ġ* Ġ@ author ĠZ h eng lj Ċ Ġ* Ġ@ version Ġ 1 . 0 . 0 Ċ Ġ* ĠCreate Ġby Ġin z Ġin Ġ 2 0 1 9 / 1 0 / 2 5 Ġ 1 6 : 3 6 . Ċ Ġ*/ Ċ class ĠNew Note Activity Ġ: ĠAbs Base Activity () Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠTAG Ġ= Ġ" New Note Activity " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ ç¬Ķ è®° ID ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġvar Ġnote Info Id Ġ= Ġ"" ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ ç¬Ķ è®° ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġvar Ġnote Info : ĠNote Info ? Ġ= Ġnull ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ å·² ä¿ĿåŃĺ ç¬Ķ è®° åĨħå®¹ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġvar Ġold Note Content Ġ= Ġ"" ĊĠĠĠ Ġprivate Ġvar ĠexecutorService : ĠScheduled ExecutorService ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ ĠexecutorService Ġ= ĠExec utors . new Scheduled ThreadPool ( 3 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinit Window () Ġ{ ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Layout Id (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠR . layout . note _ info _ add _ layout ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun Ġinit View () Ġ{ ĊĠĠĠĠĠĠĠ Ġnote _ info _ add _ top _ finish _ tv . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnew Content Ġ= Ġnote _ info _ add _ content _ schedule _ layout . getContent () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! old Note Content . equals ( new Content )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( note Info Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnote Info !!. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnote Content Ġ= Ġnew Content ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġupdate Date Ġ= ĠDate () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsave Note Info ( note Info !! ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠL . w ( TAG , Ġ" note _ info Ġis Ġnull . Ġ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinit Data () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbundle Ġ= Ġintent . extras ĊĠĠĠĠĠĠĠ Ġif Ġ( bundle Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnote Info Id Ġ= Ġbundle . getString (" note Info Id ", Ġ"") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( note Info Id . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnote Info Ġ= ĠNote Info Controller . findById ( note Info Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnote Info ?. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnote _ info _ add _ top _ title _ tv . text Ġ= Ġnote Title ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnote _ info _ add _ content _ schedule _ layout . setContent ( note Content ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnote _ info _ add _ content _ top _ time _ tv . text Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBase Tools . getBase DateFormat (). format ( update Date ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġold Note Content Ġ= Ġnote Content ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ// Ġæ¯ı Ġ 5 ĠS Ġæ£Ģ æµĭ ä¸Ģæ¬¡ ĊĠĠĠĠĠĠĠ ĠexecutorService . schedule At Fixed Rate ( check Note Runnable , Ġ 5 , Ġ 5 , ĠTimeUnit . SECONDS ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Resume () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Resume () ĊĠĠĠĠĠĠĠ Ġval Ġn sl Height Ġ= Ġnote _ info _ add _ content _ content _ n sv . height ĊĠĠĠĠĠĠĠ Ġval Ġtop Height Ġ= Ġnote _ info _ add _ content _ top _ time _ tv . height ĊĊĠĠĠĠĠĠĠ ĠL . i ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTAG , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" on Resume Ġ: Ġ------ Ġ$ n sl Height Ġ-------- Ġ$ top Height Ġ----- Ġ${ window . attributes . height }" ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ ä¿ĿåŃĺ ç¬Ķ å½ķ ä¿¡æģ¯ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġsave Note Info ( note Info : ĠNote Info ) Ġ{ ĊĠĠĠĠĠĠĠ ĠNote Info Controller . update Note Info ( note Info ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġæ£Ģ æµĭ ç¬Ķ è®° çº¿ç¨ĭ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġvar Ġcheck Note Runnable Ġ= Ġobject Ġ: ĠRunnable Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġrun () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnote Info Ġ= ĠNote Info Controller . findById ( note Info Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠL . i ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTAG , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" note Info Ġ${ System . currentTimeMillis ()} Ġ-- Ġ${ note Info ?. note Content } Ġ+ Ġ{ ${ Thread . currentThread (). name }}" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }