// ĠCopyright Ġ( c ) Ġ 2 0 1 9 ĠF RC ĠTeam Ġ 1 6 7 8 : ĠC itr us ĠCirc uits Ċ package Ġcom . f rc 1 6 7 8 . pit _ collection Ċ Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . View Ċ import Ġandroid . view . WindowManager Ċ import Ġandroid . widget . RadioButton Ċ import Ġandroidx . core . widget . add TextChanged Listener Ċ import Ġcom . google . android . material . sn ackbar . Snackbar Ċ import Ġkotlinx . android . synt hetic . main . collection _ subject ive _ activity .* Ċ import Ġkotlinx . android . synt hetic . main . collection _ objective _ activity . btn _ save _ button Ċ import Ġkotlinx . android . synt hetic . main . collection _ objective _ activity . tv _ team _ number Ċ import Ġjava . io . File Ċ import Ġandroid . widget . Radio Group Ċ import Ġandroidx . core . app . Component Activity . Extra Data Ċ import Ġandroidx . core . content . Context Compat . getSystem Service Ċ import Ġandroid . icu . lang . U Character . G rap heme Cluster Break . T Ċ import Ġandroid . util . Log Ċ import Ġandroid . widget . Compound Button ĊĊ Ċ class ĠCollection Subject ive Activity Ġ: ĠCollection Activity () Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġteam _ number : ĠInt ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġc lim ber _ strap _ installation _ difficulty : ĠInt ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġc lim ber _ strap _ installation _ notes : ĠString ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . collection _ subject ive _ activity ) ĊĠĠĠĠĠĠĠ Ġset Toolbar Text ( action Bar , Ġsupport ActionBar ) ĊĊĠĠĠĠĠĠĠ Ġthis . window . set Soft Input Mode ( WindowManager . LayoutParams . SOFT _ INPUT _ STATE _ ALWAYS _ HIDDEN ) ĊĊĠĠĠĠĠĠĠ Ġsubject ive Notes Entered () ĊĊĠĠĠĠĠĠĠ Ġteam _ number Ġ= ĠInteger . parseInt ( intent ?. getString Extra (" team Number "). toString ()) ĊĠĠĠĠĠĠĠ Ġtv _ team _ number . text Ġ= Ġ"$ team _ number " ĊĊĠĠĠĠĠĠĠ Ġsave Button () ĊĠĠĠĠĠĠĠ Ġpopulate Screen () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġpopulate Screen () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( File ("/ storage / em ulated / 0 / Download /${ team _ number }_ subj _ pit . json "). exists ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġjson File Ġ= Ġsub j Json File Read ( team _ number ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( json File . cli m ber _ strap _ installation _ difficulty ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġradio _ one . isChecked Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġc lim ber _ strap _ installation _ difficulty Ġ= Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġradio _ group _ two . clear Check () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 2 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġradio _ two . isChecked Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġc lim ber _ strap _ installation _ difficulty Ġ= Ġ 2 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġradio _ group _ two . clear Check () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 3 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġradio _ three . isChecked Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġc lim ber _ strap _ installation _ difficulty Ġ= Ġ 3 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġradio _ group _ two . clear Check () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 4 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġradio _ four . isChecked Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġc lim ber _ strap _ installation _ difficulty Ġ= Ġ 4 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġradio _ group _ two . clear Check () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 5 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġradio _ five . isChecked Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġc lim ber _ strap _ installation _ difficulty Ġ= Ġ 5 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġradio _ group _ two . clear Check () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 6 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġradio _ six . isChecked Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġc lim ber _ strap _ installation _ difficulty Ġ= Ġ 6 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġradio _ group _ one . clear Check () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 7 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġradio _ se ven . isChecked Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġc lim ber _ strap _ installation _ difficulty Ġ= Ġ 7 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġradio _ group _ one . clear Check () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 8 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġradio _ eight . isChecked Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġc lim ber _ strap _ installation _ difficulty Ġ= Ġ 8 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġradio _ group _ one . clear Check () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 9 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġradio _ n ine . isChecked Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġc lim ber _ strap _ installation _ difficulty Ġ= Ġ 9 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġradio _ group _ one . clear Check () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 0 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġradio _ ten . isChecked Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġc lim ber _ strap _ installation _ difficulty Ġ= Ġ 1 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġradio _ group _ one . clear Check () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġet _ subject ive _ notes . setText ( json File . cli m ber _ strap _ installation _ notes ?. replace (" \"", Ġ"")) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġon RadioButton Clicked ( view : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( view Ġis ĠRadio Button ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠIs Ġthe Ġbutton Ġnow Ġchecked ? ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġchecked Ġ= Ġview . isChecked ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠCheck Ġwhich Ġradio Ġbutton Ġwas Ġclicked ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( view . getId ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . radio _ one Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( checked ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġc lim ber _ strap _ installation _ difficulty Ġ= Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġradio _ group _ two . clear Check () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . radio _ two Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( checked ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġc lim ber _ strap _ installation _ difficulty Ġ= Ġ 2 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġradio _ group _ two . clear Check () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . radio _ three Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( checked ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġc lim ber _ strap _ installation _ difficulty Ġ= Ġ 3 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġradio _ group _ two . clear Check () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . radio _ four Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( checked ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġc lim ber _ strap _ installation _ difficulty Ġ= Ġ 4 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġradio _ group _ two . clear Check () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . radio _ five Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( checked ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġc lim ber _ strap _ installation _ difficulty Ġ= Ġ 5 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġradio _ group _ two . clear Check () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . radio _ six Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( checked ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġc lim ber _ strap _ installation _ difficulty Ġ= Ġ 6 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġradio _ group _ one . clear Check () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . radio _ se ven Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( checked ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġc lim ber _ strap _ installation _ difficulty Ġ= Ġ 7 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġradio _ group _ one . clear Check () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . radio _ eight Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( checked ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġc lim ber _ strap _ installation _ difficulty Ġ= Ġ 8 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġradio _ group _ one . clear Check () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . radio _ n ine Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( checked ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġc lim ber _ strap _ installation _ difficulty Ġ= Ġ 9 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġradio _ group _ one . clear Check () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . radio _ ten Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( checked ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġc lim ber _ strap _ installation _ difficulty Ġ= Ġ 1 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġradio _ group _ one . clear Check () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġsubject ive Notes Entered () Ġ{ ĊĠĠĠĠĠĠĠ Ġet _ subject ive _ notes . add TextChanged Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġc lim ber _ strap _ installation _ notes Ġ= Ġet _ subject ive _ notes . text . toString () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// S aves Ġdata Ġinto Ġa ĠJSON Ġfile ĊĠĠĠ Ġprivate Ġfun Ġsave Button () Ġ{ ĊĠĠĠĠĠĠĠ Ġbtn _ save _ button . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠIf Ġnumber Ġof Ġmot ors Ġedit Text Ġis Ġempty , Ġshow ĠSn ackbar Ġas Ġa Ġreminder ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( cli m ber _ strap _ installation _ difficulty Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġc lim ber Str ap Installation Difficulty Sn ack Ġ= ĠSn ackbar . make ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Please ĠEnter ĠA ĠC lim ber ĠInstallation ĠDiff iculty ĠValue ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSn ackbar . LENGTH _ SHORT ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġc lim ber Str ap Installation Difficulty Sn ack . show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsubject ive Information Ġ= ĠConstants . Data Subject ive ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġteam _ number , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġc lim ber _ strap _ installation _ difficulty , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġc lim ber _ strap _ installation _ notes ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġjson Data Ġ= Ġconvert ToJson ( subject ive Information ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfile _ name Ġ= Ġ"${ team _ number }_ subj _ pit " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwrite ToFile ( file _ name , Ġjson Data ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġelement Ġ= Ġteam _ number ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( this , ĠTeam List Activity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra (" team _ number ", Ġelement ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( intent ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }