package Ġcom . example . te ach om atic 3 0 0 0 . ui . E instell ungen Ċ Ċ import Ġandroid . app . DatePicker Dialog Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Build Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . Button Ċ import Ġandroid . widget . Switch Ċ import Ġandroid . widget . TextView Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . annotation . Requires Api Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġcom . example . te ach om atic 3 0 0 0 . MainActivity Ċ import Ġcom . example . te ach om atic 3 0 0 0 . R Ċ import Ġcom . example . te ach om atic 3 0 0 0 . database . Data Base Helper Ċ import Ġjava . time . LocalDateTime Ċ import Ġjava . time . format . DateTime Formatter Ċ import Ġjava . util .* Ċ Ċ class ĠE instell ungen Fragment Ġ: ĠFragment () Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġdb : ĠData Base Helper ĊĊĠĠĠ Ġ@ Requires Api ( Build . VERSION _ CODES . O ) ĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġroot Ġ= Ġinflater . inflate ( R . layout . fragment _ e instell ungen , Ġcontainer , Ġfalse ) ĊĊĠĠĠĠĠĠĠ Ġdb Ġ= ĠData Base Helper ( root . context ) ĊĊĠĠĠĠĠĠĠ Ġval Ġhelper : ĠTextView Ġ= Ġroot . findViewById ( R . id . helper ) ĊĠĠĠĠĠĠĠ Ġval Ġautomatic Date Ġ= ĠLocalDateTime . now () ĊĠĠĠĠĠĠĠ Ġval Ġan onym izer : ĠButton Ġ= Ġroot . findViewById ( R . id . anon ym izer ) ĊĊĠĠĠĠĠĠĠ Ġhelper . text Ġ Ġ= Ġautomatic Date . format ( DateTime Formatter . of Pattern (" dd . MM . yyyy ")). toString () ĊĠĠĠĠĠĠĠ Ġhelper . text Ġ= Ġdb . get Datum Human () ĊĊĠĠĠĠĠĠĠ Ġ// Ġimport Ġswitch ĊĠĠĠĠĠĠĠ Ġval Ġdate Reg ulator : ĠSwitch Ġ= Ġroot . findViewById ( R . id . date _ reg ulator ) ĊĠĠĠĠĠĠĠ Ġif ( db . get Datum () ! ="- 1 "){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdate Reg ulator . toggle () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġdate Reg ulator . setOn Checked ChangeListener (){ _, isChecked -> ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġif Ġswitch Ġis Ġturned Ġoff , Ġuse Ġautomatic Ġdate Ġfrom Ġphone ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! isChecked ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdb . update Datum ("- 1 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhelper . text Ġ= Ġdb . get Datum Human () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ Ġ// Ġif Ġswitch Ġis Ġturned Ġon , Ġuser Ġcan Ġchoose Ġdate Ġmanually ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġc Ġ= ĠCalendar . getInstance () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġyear Ġ= Ġc . get ( Calendar . YEAR ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmonth Ġ= Ġc . get ( Calendar . MONTH ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġday Ġ= Ġc . get ( Calendar . DAY _ OF _ MONTH ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġshow Ġa Ġcalendar , Ġwhere Ġyou Ġcan Ġpick Ġthe Ġdate Ġmanually ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdate Picker Ġ= ĠDate Picker Dialog ( this . require Context (), ĠDate Picker Dialog . On Date Set Listener ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ view , Ġmanual Year , Ġmanual Month , Ġmanual Day Ġ-> ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġcreate Ġstring Ġfor Ġthe Ġmanual Ġdate ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠstringBuilder Ġ= ĠStringBuilder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( manual Day Ġ< Ġ 1 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstringBuilder . append (" 0 "). append ( manual Day ). append (".") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstringBuilder . append ( manual Day ). append (".") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( manual Month + 1 Ġ< Ġ 1 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstringBuilder . append (" 0 "). append ( manual Month + 1 ). append (".") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstringBuilder . append ( manual Month + 1 ). append (".") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstringBuilder . append ( manual Year ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdb . update Datum ( string Builder . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhelper . text Ġ= Ġdb . get Datum Human () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, Ġyear , Ġmonth , Ġday ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġwhen Ġcancel Ġis Ġclicked , Ġreset Ġthe Ġswitch Ġto Ġ 0 Ġand Ġshow Ġautomatic Ġdate ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdate Picker . setOn Cancel Listener { ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdate Reg ulator . toggle () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdb . update Datum ("- 1 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhelper . text Ġ= Ġdb . get Datum Human () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdate Picker . show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġan onym izer . setOnClickListener (){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdb . anon ym ize Current Students () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( root . context , ĠR . string . settings _ anon ym ize _ students , ĠToast . LENGTH _ LONG ). show () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġlanguage Reg ulator : ĠSwitch Ġ= Ġroot . findViewById ( R . id . language _ reg ulator ) ĊĊĠĠĠĠĠĠĠ Ġif ( db . get Language () ! =" en "){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlanguage Reg ulator . toggle () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġlanguage Reg ulator . setOn Checked ChangeListener (){ _, isChecked -> ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġif Ġswitch Ġis Ġturned Ġoff , Ġuse Ġenglish Ġlanguage ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! isChecked ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdb . update Language (" en ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ Ġ// Ġif Ġswitch Ġis Ġturned Ġon , Ġuse Ġch inese Ġlanguage ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdb . update Language (" zh ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( root . context , ĠMainActivity :: class . java ). apply Ġ{} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( intent ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġroot ĊĠĠĠ Ġ} Ċ }