package Ġcom . d mit ri . note Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . support . v 7 . app . AppCompatActivity Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . v 4 . app . Support Activity Ċ import Ġandroid . support . v 4 . app . Support Activity . Extra Data Ċ import Ġandroid . support . v 4 . content . Context Compat . getSystem Service Ċ import Ġandroid . icu . lang . U Character . G rap heme Cluster Break . T Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . Calendar View Ċ import Ġandroid . widget . Toast Ċ import Ġcom . google . gson . Gson Ċ import Ġkotlinx . android . synt hetic . main . activity _ main .* Ċ import Ġjava . io .* Ċ import Ġjava . util .* ĊĊĊ Ġclass ĠMainActivity Ġ: ĠAppCompatActivity () Ġ{ ĊĠĠĠ Ġvar ĠoutputStream : ĠFileOutputStream ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġfile InputStream : ĠFileInputStream ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġselected Date Ġ: String ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ main ) ĊĠĠĠĠĠĠĠ Ġadd Event Button . setOnClickListener { Save Note ()} ĊĠĠĠĠĠĠĠ Ġmain Calendar . setOn Date ChangeListener Ġ{ Ġview , Ġyear , Ġmonth , Ġday OfMonth Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠNote Ġthat Ġmonths Ġare Ġindexed Ġfrom Ġ 0 . ĠSo , Ġ 0 Ġmeans ĠJanuary , Ġ 1 Ġmeans Ġfe bruary , Ġ 2 Ġmeans Ġm arch Ġetc . ĊĠĠĠĠĠĠĠĠĠĠĠ Ġselected Date Ġ= Ġday OfMonth . toString () Ġ+ ( month Ġ+ Ġ 1 ). toString ()+ year . toString () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRead Note ( selected Date . toString ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĠĠ Ġprivate Ġfun ĠSave Note (){ ĊĠĠĠĠĠĠĠĠ Ġval Ġfile : ĠString ? Ġ= Ġselected Date ĊĠĠĠĠĠĠĠĠ Ġval Ġdate Ġ= ĠNote () ĊĠĠĠĠĠĠĠĠ Ġdate . Name Ġ= Ġselected Date ĊĠĠĠĠĠĠĠĠ Ġdate . Text Ġ= Ġnew Note . text . toString () ĊĠĠĠĠĠĠĠ Ġvar Ġgson Ġ= ĠGson () ĊĠĠĠĠĠĠĠ Ġvar Ġjson String Ġ= Ġgson . toJson ( date ) ĊĊĠĠĠĠĠĠĠ Ġval Ġfile OutputStream : File OutputStream ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfile OutputStream Ġ= Ġopen File Output ( file , ĠContext . MODE _ PRIVATE ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfile OutputStream . write ( json String . toByteArray ()) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( this @ MainActivity , Ġ" ÐĹ Ð°Ð¼ ÐµÑĤ ÐºÐ° ĠÑģÐ¾ Ñħ ÑĢÐ°Ð½ ÐµÐ½Ð° ", ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnew Note . setText ("") ĊĠĠĠĠĠĠĠ Ġ} catch Ġ( e : ĠException ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠĠ Ġprivate Ġfun ĠDelete File ( filename : String ){ ĊĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠ Ġdelete File ( filename ) ĊĠĠĠĠĠĠĠĠĠĠĠĠ Ġnote . visibility Ġ= ĠView . IN VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠ Ġdelete Button . visibility Ġ= ĠView . IN VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( this @ MainActivity , Ġ" ÐĹ Ð°Ð¼ ÐµÑĤ ÐºÐ° ĠÑĥ Ð´Ð°Ð» ÐµÐ½Ð° ", ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠ Ġcatch Ġ( ex : Exception ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠ Ġex . printStackTrace () ĊĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠ Ġ} ĊĠĠĠ Ġprivate Ġfun ĠRead Note ( filename : String ){ ĊĠĠĠĠĠĠĠ Ġtry { ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfile InputStream Ġ= Ġopen File Input ( filename ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġinput StreamReader Ġ= ĠInputStreamReader ( file InputStream ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbuffered Reader Ġ= ĠBufferedReader ( input StreamReader ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠstringBuilder : ĠStringBuilder Ġ= ĠStringBuilder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġtext : ĠString ? Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhile Ġ({ Ġtext Ġ= Ġbuffered Reader . readLine (); Ġtext Ġ} () Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstringBuilder . append ( text ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( string Builder Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġjson String Ġ: ĠString Ġ= ĠstringBuilder . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġgson Ġ= ĠGson () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnote Text : ĠNote Ġ= Ġgson . fromJson < Note >( json String , ĠNote :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnew Note . setText ("") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnote . setText ( note Text . Text ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnote . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdelete Button . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdelete Button . setOnClickListener Ġ{ Delete File ( note Text . Name )} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġcatch Ġ( ex : Exception ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġex . printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnote . visibility Ġ= ĠView . IN VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdelete Button . visibility Ġ= ĠView . IN VISIBLE ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊ Ċ } Ċ