package Ġdev . park ar . firebase demo Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . util . Log Ċ import Ġandroidx . activity . Component Activity Ċ import Ġcom . google . firebase . Firebase App Ċ import Ġcom . google . firebase . remote config . Firebase Remote Config Ċ import Ġdev . park ar . firebase demo . databinding . Main Binding Ċ import Ġdev . park ar . my application . Firebase Toggle Config Ċ import Ġdev . park ar . my application . Secondary Firebase Configuration Ċ import Ġdev . park ar . my application . Secondary Firebase Toggle Initializer Ċ Ċ class ĠMainActivity Ġ: ĠComponent Activity () Ġ{ ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġbinding Ġ: ĠMain Binding ĊĠĠĠ Ġprivate Ġval Ġsecondary Firebase Config Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ ĠFirebase Toggle Config ( secondary Toggle Initializer ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġsecondary Toggle Initializer Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ ĠSecondary Firebase Toggle Initializer ( this , ĠSecondary Firebase Configuration ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġprimary Remote Config Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ ĠFirebase Remote Config . getInstance () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġbinding Ġ= ĠMain Binding . inflate ( layout Inflater ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( binding . root ) ĊĠĠĠĠĠĠĠ Ġset Click Listeners () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset Click Listeners () Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding . init Primary . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFirebase App . initialize App ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprimary Remote Config . fetch And Activate () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add On Success Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d (" Primary ", Ġ" Is Ġactivate Ġsuccess Ġ: Ġ$ it ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}. add On Failure Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e (" Primary ", Ġ" Init Ġfailed ", Ġit ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġbinding . init Secondary . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsecondary Toggle Initializer . init If Required () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġbinding . fetch Primary . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġvalue Ġ= Ġprimary Remote Config . getString (" primary _ key _ 1 ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . primaryKey . text = Ġ" Primary Ġvalue Ġ= Ġ'$ value '" ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġbinding . fetch Secondary . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġvalue Ġ= Ġsecondary Firebase Config . getString (" secondary _ key _ 1 ", Ġ" Not Ġfound ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . secondary Key . text = Ġ" Secondary Ġvalue Ġ= Ġ'$ value '" ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ