package Ġcom . fp li u . new ton . font . config . ui Ċ Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . TextView Ċ import Ġcom . fp li u . new ton . font . config . api . Font Config Factory Ċ import Ġcom . fp li u . new ton . font . config . api . create Type face Ċ import Ġcom . fp li u . new ton . font . config . ui . entity . Font Ċ import Ġcom . fp li u . new ton . ui . base . Base Activity Ċ import Ġcom . jak ew h art on . r xb ind ing 3 . view . click s Ċ import Ġcom . uber . aut od is pose . auto Disposable Ċ import Ġkotlinx . android . synt hetic . main . font _ config _ activity .* Ċ import Ġkotlin . system . exit Process Ċ Ċ class ĠFont Config Activity Ġ: ĠBase Activity () Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠKEY _ FONT Ġ= Ġ" font " ĊĊĠĠĠĠĠĠĠ Ġfun Ġstart ( activity : ĠBase Activity , Ġfont : ĠFont ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠIntent ( activity , ĠFont Config Activity :: class . java ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput Extra ( KEY _ FONT , Ġfont ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}. let Ġ{ Ġactivity . startActivity ( it ) Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġfont : ĠFont ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġfont Ġ= Ġif Ġ( savedInstanceState Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent ?. get Parcelable Extra ( KEY _ FONT ) Ġ?: ĠFont () ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠsavedInstanceState . get Parcelable ( KEY _ FONT ) Ġ?: ĠFont () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĊĠĠĠĠĠĠĠ Ġtitle Ġ= Ġfont . name ĊĊĠĠĠĠĠĠĠ Ġadd ContentView ( R . layout . font _ config _ activity ) ĊĊĠĠĠĠĠĠĠ ĠlistOf ( findViewById ( R . id . base _ view _ head _ title ), Ġapply Btn , Ġtv 1 , Ġtv 2 , Ġtv 3 ). forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . type face Ġ= Ġcreate Type face ( font . type , Ġfont . path ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġuri Ġ= Ġ"${ font . type }:${ font . path }" ĊĠĠĠĠĠĠĠ Ġval Ġfont Setting Ġ= ĠFont Config Factory . getInstance ( application Context ) ĊĠĠĠĠĠĠĠ Ġif Ġ( font Setting . getCurrent Font Uri () Ġ== Ġuri ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapply Btn . visibility Ġ= ĠView . IN VISIBLE ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapply Btn . click s (). auto Disposable ( dispose On Destroy ()). subscribe Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfont Setting . change Font ( uri ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexit Process ( 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }