package Ġcom . ti ixel . period ict able prof essor . ui Ċ Ċ import Ġandroid . content . Activity NotFoundException Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . net . Uri Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . v 4 . app . Fragment Ċ import Ġandroid . support . v 4 . view . Gravity Compat Ċ import Ġandroid . support . v 7 . app . AppCompatActivity Ċ import Ġandroid . view . MenuItem Ċ import Ġandroid . view . View Ċ import Ġcom . mike pen z . about libraries . Lib s Ċ import Ġcom . mike pen z . about libraries . Lib s Builder Ċ import Ġcom . mike pen z . about libraries . Lib s Configuration Ċ import Ġcom . mike pen z . about libraries . entity . Library Ċ import Ġcom . mike pen z . about libraries . ui . Lib s Fragment Ċ import Ġcom . mike pen z . google _ material _ type face _ library . Google Material Ċ import Ġcom . mike pen z . icon ics . Icon ics Drawable Ċ import Ġcom . ti ixel . period ict able prof essor . R Ċ import Ġcom . ti ixel . period ict able prof essor . ui . element list . Element Table Fragment Ċ import Ġcom . ti ixel . period ict able prof essor . ui . statistics . Statistics Fragment Ċ import Ġcom . ti ixel . period ict able prof essor . ui . study . Study Fragment Ċ import Ġcom . ti ixel . period ict able prof essor . ui . tutorial . Tutorial Ċ import Ġdagger . android . Android Injection Ċ import Ġkotlinx . android . synt hetic . main . main _ layout _ drawer .* Ċ Ċ class ĠMainActivity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġdefault Fragment Class Ġ= ĠStudy Fragment :: class . java ĊĠĠĠ Ġlateinit Ġvar Ġactive Fragment Class : ĠClass < out ĠAny > ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠShow Ġtutorial ĊĠĠĠĠĠĠĠ Ġval Ġshared Pref Ġ= Ġget SharedPreferences ( Tutorial . tutorial SharedPreferences File , ĠContext . MODE _ PRIVATE ) ĊĠĠĠĠĠĠĠ Ġval Ġtutorial Completed Ġ= Ġshared Pref . getBoolean ( Tutorial . tutorial Completed SharedPreferences Key , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġif Ġ(! tutorial Completed ) ĠstartActivity ( Intent ( this , ĠTutorial :: class . java )) ĊĊĠĠĠĠĠĠĠ ĠAndroid Injection . inject ( this ) ĊĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . main _ layout _ drawer ) ĊĊĠĠĠĠĠĠĠ Ġset Support ActionBar ( toolbar ) ĊĠĠĠĠĠĠĠ Ġsupport ActionBar ?. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Display Home As Up Enabled ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Home As Up Indicator ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIcon ics Drawable ( this @ MainActivity ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. icon ( Google Material . Icon . gmd _ menu ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. color ( Color . WHITE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. size Dp ( 2 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġmain _ layout _ drawer . set Navigation ItemSelected Listener Ġ{ Ġmenu Item Ġ-> ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( menuItem . itemId Ġ== ĠR . id . nav _ tutorial ) ĠstartActivity ( Intent ( this , ĠTutorial :: class . java )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġselect Drawer Item ( menuItem ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn @ set Navigation ItemSelected Listener Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġsaved Active Fragment Ġ= ĠsavedInstanceState ?. getString (" active _ fragment _ class ") ?. let Ġ{ ĠClass . forName ( it ) Ġ} ĊĠĠĠĠĠĠĠ Ġreplace Fragment ( default Fragment Class ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Save InstanceState ( out State : ĠBundle ) Ġ{ ĊĠĠĠĠĠĠĠ Ġout State . putString (" active _ fragment _ class ", Ġactive Fragment Class . name ) ĊĠĠĠĠĠĠĠ Ġsuper . on Save InstanceState ( out State ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Support Navigate Up (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġdrawer _ layout . open Drawer ( Gravity Compat . START ) ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġselect Drawer Item ( menuItem : ĠMenuItem ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġfragment Class Ġ= Ġwhen Ġ( menuItem . itemId ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . nav _ study Ġ-> ĠStudy Fragment :: class . java ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . nav _ statistics Ġ-> ĠStatistics Fragment :: class . java ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . nav _ periodic _ table Ġ-> ĠElement Table Fragment :: class . java ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . nav _ about Ġ-> ĠLib s Fragment :: class . java ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġdefault Fragment Class ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreplace Fragment ( fragment Class ) ĊĊĠĠĠĠĠĠĠ Ġmenu Item . isChecked Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġtitle Ġ= Ġif Ġ( fragment Class Ġ== Ġdefault Fragment Class ) ĠgetString ( R . string . app _ name ) Ġelse Ġmenu Item . title ĊĊĠĠĠĠĠĠĠ Ġdrawer _ layout . close Draw ers () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġreplace Fragment ( fragment Class : ĠClass < out ĠAny >) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġactive Fragment Class Ġ= Ġfragment Class ĊĊĠĠĠĠĠĠĠ Ġval Ġfragment Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( fragment Class Ġ== ĠLib s Fragment :: class . java ) Ġget About Fragment () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġfragment Class . newInstance () Ġas ĠFragment ĊĊĠĠĠĠĠĠĠ Ġsupport FragmentManager . beginTransaction (). replace ( R . id . content _ frame , Ġfragment ). commit () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget About Fragment () Ġ: ĠFragment Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġlibs Listener Ġ= Ġobject Ġ: ĠLib s Configuration . Lib s Listener Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Extra Clicked ( v : ĠView ?, Ġspecial Button : ĠLib s . Special Button ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( special Button ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLib s . Special Button . SPECIAL 1 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġapp PackageName Ġ= ĠpackageName ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( Intent ( Intent . ACTION _ VIEW , ĠUri . parse (" market :// details ? id =$ app PackageName "))) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠActivity NotFoundException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( Intent ( Intent . ACTION _ VIEW , ĠUri . parse (" https :// play . google . com / store / apps / details ? id =$ app PackageName "))) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLib s . Special Button . SPECIAL 2 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( Intent ( Intent . ACTION _ VIEW , ĠUri . parse (" https :// https :// github . com / T ii X el / periodic - table - prof essor "))) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġreturn Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Icon Clicked ( v : ĠView ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Library Bottom Clicked ( v : ĠView ?, Ġlibrary : ĠLibrary ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Library Author Clicked ( v : ĠView ?, Ġlibrary : ĠLibrary ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Library Content Clicked ( v : ĠView ?, Ġlibrary : ĠLibrary ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Icon Long Clicked ( v : ĠView ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Library Author Long Clicked ( v : ĠView ?, Ġlibrary : ĠLibrary ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Library Bottom Long Clicked ( v : ĠView ?, Ġlibrary : ĠLibrary ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Library Content Long Clicked ( v : ĠView ?, Ġlibrary : ĠLibrary ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn ĠLib s Builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Activity Theme ( R . style . App Theme ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Activity Style ( Lib s . Activity Style . LIGHT _ DARK _ TOOL BAR ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Activity Title ( getString ( R . string . app _ name )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. with About AppName ( getString ( R . string . app _ name )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. with About Description ( getString ( R . string . app _ description )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. with About Icon Shown ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. with About Version Shown ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Listener ( libs Listener ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. with About Special 1 (" Play ĠStore ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. with About Special 2 (" GitHub ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. with About Special 3 (" Data ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. with About Special 3 Description ("< b > Data Ġsources </ b >< br >< br >" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"- ĠMemory Ġpeg Ġsystem : ĠJohn ĠP . ĠPr att 's Ġwebsite < br >< br >" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"- ĠElements Ġchemical Ġand Ġphysical Ġdata : Ġmen de le ev Ġpython Ġpackage Ġdatabase ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. with License Shown ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. support Fragment () ĊĠĠĠ Ġ} Ċ } Ċ