package Ġorg . me ch d ancer . tower re pression . table Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . preference . Preference Manager Ċ import Ġandroid . support . design . widget . Snackbar Ċ import Ġandroid . support . v 4 . app . Fragment Ċ import Ġandroid . support . v 4 . widget . Swipe Refresh Layout Ċ import Ġandroid . util . Log Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġcom . bin . david . form . core . Smart Table Ċ import Ġorg . green robot . event bus . EventBus Ċ import Ġorg . green robot . event bus . Subscribe Ċ import Ġorg . green robot . event bus . Thread Mode Ċ import Ġorg . jetbrains . ank o . find Ċ import Ġorg . jetbrains . ank o . support . v 4 . UI Ċ import Ġorg . me ch d ancer . tower re pression . Cube Color Ċ import Ġorg . me ch d ancer . tower re pression . event . Clear Event Ċ import Ġorg . me ch d ancer . tower re pression . event . Field Event Ċ import Ġorg . me ch d ancer . tower re pression . event . Table Refresh Request Ċ Ċ @ Suppress (" UNUSED _ PARAMETER ") Ċ class ĠTable Fragment Ġ: ĠFragment () Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġbonus Table : ĠSmart Table < Bonus Data > ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġblock Table : ĠSmart Table < Block Data > ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġscore Table : ĠSmart Table < Score Data > ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġswipe Refresh Layout : ĠSw ipe Refresh Layout ĊĊĠĠĠ Ġprivate Ġval Ġteam ĊĠĠĠĠĠĠĠ Ġget () Ġ= ĠPreference Manager . getDefault SharedPreferences ( context ). getString (" team ", Ġ"") Ġ?: Ġ"" ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( in flater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĠsavedInstanceState : ĠBundle ?): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ ĠLog . i ( java Class . name , Ġ" åĪĽå»º å¸ĥå±Ģ ") ĊĠĠĠĠĠĠĠ Ġval Ġui Ġ= ĠUI Ġ{ ĠTable UI (). create View ( this ) Ġ}. view ĊĠĠĠĠĠĠĠ Ġbonus Table Ġ= Ġui . find ( Table UI . TABLE _ B ON US _ ID ) ĊĠĠĠĠĠĠĠ Ġblock Table Ġ= Ġui . find ( Table UI . TABLE _ BLOCK _ ID ) ĊĠĠĠĠĠĠĠ Ġscore Table Ġ= Ġui . find ( Table UI . TABLE _ SCORE _ ID ) ĊĠĠĠĠĠĠĠ Ġswipe Refresh Layout Ġ= Ġui . find ( Table UI . SW I PE _ LAYOUT _ ID ) ĊĠĠĠĠĠĠĠ Ġswipe Refresh Layout . setOn Refresh Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . i ( java Class . name , Ġ" å¼Ģå§ĭ ä¸ĭ æĭī åĪ·æĸ° ï¼Į åĲĳ äºĭä»¶ æĢ» çº¿ æİ¨ éĢģ è¡¨ æł¼ åĪ·æĸ° è¯·æ±Ĥ ") ĊĠĠĠĠĠĠĠĠĠĠĠ ĠEvent Bus . getDefault (). post ( Table Refresh Request ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSn ackbar . make ( block Table , Ġ" åĪ·æĸ° æĪĲåĬŁ ", ĠSn ackbar . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠEvent Bus . getDefault (). register ( this ) ĊĠĠĠĠĠĠĠ Ġon Clear ( Clear Event ) ĊĠĠĠĠĠĠĠ Ġreturn Ġui ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy () Ġ{ ĊĠĠĠĠĠĠĠ ĠLog . i ( java Class . name , Ġ" éĶĢ æ¯ ģ ") ĊĠĠĠĠĠĠĠ ĠEvent Bus . getDefault (). unregister ( this ) ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Subscribe ( thread Mode Ġ= ĠThread Mode . MAIN ) ĊĠĠĠ Ġfun Ġon Field Update ( event : ĠField Event ) Ġ{ ĊĠĠĠĠĠĠĠ ĠLog . i ( java Class . name , Ġ" æĶ¶ åĪ° åľº åľ° æķ°æį® ï¼Į ç»ĺ åĪ¶ è¡¨ æł¼ ") ĊĠĠĠĠĠĠĠ ĠLog . d ( java Class . name , Ġevent . toString ()) ĊĠĠĠĠĠĠĠ Ġwith ( event ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġred Orange Bonus Ġ= Ġto wer Data [ Cube Color . Orange . index ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġred Green Bonus Ġ= Ġto wer Data [ Cube Color . Green . index ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġred Pur ple Bonus Ġ= Ġto wer Data [ Cube Color . Pur ple . index ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġred Orange Count Ġ= Ġzone Data [ Cube Color . Orange . index ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġred Green Count Ġ= Ġzone Data [ Cube Color . Green . index ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġred Pur ple Count Ġ= Ġzone Data [ Cube Color . Pur ple . index ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġred Orange Score Ġ= Ġred Orange Count Ġ* Ġ( red Orange Bonus Ġ+ Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġred Green Score Ġ= Ġred Green Count Ġ* Ġ( red Green Bonus Ġ+ Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġred Pur ple Score Ġ= Ġred Pur ple Count Ġ* Ġ( red Pur ple Bonus Ġ+ Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġred Total Bonus Ġ= Ġred Orange Bonus Ġ+ Ġred Green Bonus Ġ+ Ġred Pur ple Bonus ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġred Total Count Ġ= Ġzone Data . take ( 3 ). sum () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġred Total Score Ġ= Ġred Orange Score Ġ+ Ġred Green Score Ġ+ Ġred Pur ple Score ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġblue Orange Bonus Ġ= Ġto wer Data [ Cube Color . Orange . index ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġblue Green Bonus Ġ= Ġto wer Data [ Cube Color . Green . index ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġblue Pur ple Bonus Ġ= Ġto wer Data [ Cube Color . Pur ple . index ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġblue Orange Count Ġ= Ġzone Data [ Cube Color . Orange . index Ġ+ Ġ 3 ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġblue Green Count Ġ= Ġzone Data [ Cube Color . Green . index Ġ+ Ġ 3 ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġblue Pur ple Count Ġ= Ġzone Data [ Cube Color . Pur ple . index Ġ+ Ġ 3 ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġblue Orange Score Ġ= Ġblue Orange Count Ġ* Ġ( blue Orange Bonus Ġ+ Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġblue Green Score Ġ= Ġblue Green Count Ġ* Ġ( blue Green Bonus Ġ+ Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġblue Pur ple Score Ġ= Ġblue Pur ple Count Ġ* Ġ( blue Pur ple Bonus Ġ+ Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġblue Total Bonus Ġ= Ġblue Orange Bonus Ġ+ Ġblue Green Bonus Ġ+ Ġblue Pur ple Bonus ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġblue Total Count Ġ= Ġzone Data . take Last ( 3 ). sum () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġblue Total Score Ġ= Ġblue Orange Score Ġ+ Ġblue Green Score Ġ+ Ġblue Pur ple Score ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġadapt Team ( int : ĠInt ) Ġ= Ġ( if Ġ( team Ġ== Ġ" èĵĿ æĸ¹ ") Ġ- 1 Ġelse Ġ 1 ) Ġ* Ġint ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġd Orange Bonus Ġ= Ġadapt Team ( red Orange Bonus Ġ- Ġblue Orange Bonus ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġd Green Bonus Ġ= Ġadapt Team ( red Green Bonus Ġ- Ġblue Green Bonus ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġd Pur ple Bonus Ġ= Ġadapt Team ( red Pur ple Bonus Ġ- Ġblue Pur ple Bonus ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġd Orange Count Ġ= Ġadapt Team ( red Orange Count Ġ- Ġblue Orange Count ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġd Green Count Ġ= Ġadapt Team ( red Green Count Ġ- Ġblue Green Count ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġd Pur ple Count Ġ= Ġadapt Team ( red Pur ple Count Ġ- Ġblue Pur ple Count ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġd Orange Score Ġ= Ġadapt Team ( red Orange Score Ġ- Ġblue Orange Score ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġd Green Score Ġ= Ġadapt Team ( red Green Score Ġ- Ġblue Green Score ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġd Pur ple Score Ġ= Ġadapt Team ( red Pur ple Score Ġ- Ġblue Pur ple Score ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġd Total Bonus Ġ= Ġadapt Team ( red Total Bonus Ġ- Ġblue Total Bonus ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġd Total Count Ġ= Ġadapt Team ( red Total Count Ġ- Ġblue Total Count ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġd Total Score Ġ= Ġadapt Team ( red Total Score Ġ- Ġblue Total Score ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġred Team Bonus Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠB onus Data ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" çº¢ æĸ¹ ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġred Orange Bonus , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġred Green Bonus , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġred Pur ple Bonus , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġred Total Bonus ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġred Team Block Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBlock Data ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" çº¢ æĸ¹ ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġred Orange Count , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġred Green Count , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġred Pur ple Count , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġred Total Count ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġred Team Score Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠScore Data ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" çº¢ æĸ¹ ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġred Orange Score , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġred Green Score , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġred Pur ple Score , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġred Total Score ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġblue Team Bonus Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠB onus Data ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" èĵĿ æĸ¹ ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġblue Orange Bonus , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġblue Green Bonus , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġblue Pur ple Bonus , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġblue Total Bonus ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġblue Team Block Ġ= ĠBlock Data ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" èĵĿ æĸ¹ ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġblue Orange Count , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġblue Green Count , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġblue Pur ple Count , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġblue Total Count ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġblue Team Score Ġ= ĠScore Data ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" èĵĿ æĸ¹ ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġblue Orange Score , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġblue Green Score , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġblue Pur ple Score , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġblue Total Score ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġd Name Ġ= Ġif Ġ( team Ġ== Ġ" èĵĿ æĸ¹ ") Ġ" èĵĿ æĸ¹ - çº¢ æĸ¹ " Ġelse Ġ" çº¢ æĸ¹ - èĵĿ æĸ¹ " ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġd Team Bonus Ġ= ĠB onus Data ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġd Name , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġd Orange Bonus , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġd Green Bonus , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġd Pur ple Bonus , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġd Total Bonus ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġd Team Block Ġ= ĠBlock Data ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġd Name , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġd Orange Count , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġd Green Count , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġd Pur ple Count , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġd Total Count ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġd Team Score Ġ= ĠScore Data ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġd Name , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġd Orange Score , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġd Green Score , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġd Pur ple Score , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġd Total Score ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbonus Table . setData ( mutable ListOf ( red Team Bonus , Ġblue Team Bonus , Ġd Team Bonus )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġblock Table . setData ( mutable ListOf ( red Team Block , Ġblue Team Block , Ġd Team Block )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġscore Table . setData ( mutable ListOf ( red Team Score , Ġblue Team Score , Ġd Team Score )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġswipe Refresh Layout . is Refresh ing Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Subscribe ĊĠĠĠ Ġfun Ġon Clear ( event : ĠClear Event ) Ġ{ ĊĠĠĠĠĠĠĠ ĠLog . i ( java Class . name , Ġ" æĶ¶ åĪ° æ¸ħ ç©º äºĭä»¶ ") ĊĠĠĠĠĠĠĠ Ġon Field Update ( Field Event . empty ()) ĊĠĠĠ Ġ} Ċ }