package Ġcom . github . p ids am hai . covid 1 9 th ail and . ui . dialog Ċ Ċ import Ġandroid . content . SharedPreferences Ċ import Ġandroidx . compose . foundation . layout .* Ċ import Ġandroidx . compose . foundation . shape . Rounded Corner Shape Ċ import Ġandroidx . compose . material .* Ċ import Ġandroidx . compose . runtime .* Ċ import Ġandroidx . compose . ui . Alignment Ċ import Ġandroidx . compose . ui . Modifier Ċ import Ġandroidx . compose . ui . tool ing . preview . Preview Ċ import Ġandroidx . compose . ui . unit . dp Ċ import Ġandroidx . compose . ui . window . Dialog Ċ import Ġandroidx . core . content . edit Ċ import Ġorg . k oin . android x . compose . get Ċ import Ġorg . k oin . core . qual ifier . named Ċ Ċ const Ġval ĠUPDATE _ CHANNEL _ KEY Ġ= Ġ" UPDATE _ CHANNEL _ KEY " Ċ Ċ @ Composable Ċ fun ĠUpdate Channel Dialog Picker ( ĊĠĠĠ Ġshow Dialog : ĠBoolean Ġ= Ġfalse , ĊĠĠĠ Ġon Dismiss : Ġ() Ġ-> ĠUnit , ĊĠĠĠ Ġpref : ĠSharedPreferences Ġ= Ġget ( named (" default Pref ")) Ċ ) Ġ{ ĊĠĠĠ Ġval Ġsave Config : Ġ( Boolean ) Ġ-> ĠUnit Ġ= Ġ{ ĊĠĠĠĠĠĠĠ Ġpref . edit Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput Boolean ( UPDATE _ CHANNEL _ KEY , Ġit ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġon Dismiss () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġif Ġ( show Dialog ) Ġ{ ĊĠĠĠĠĠĠĠ ĠDialog ( on Dismiss Request Ġ= Ġ{ Ġon Dismiss () Ġ}) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDialog Content Content ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Dev Channel Ġ= Ġpref . getBoolean ( UPDATE _ CHANNEL _ KEY , Ġfalse ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Dismiss Ġ= Ġon Dismiss , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Save Ġ= Ġsave Config ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Preview Ċ @ Composable Ċ private Ġfun ĠDialog Content Content ( ĊĠĠĠ Ġis Dev Channel : ĠBoolean Ġ= Ġfalse , ĊĠĠĠ Ġon Dismiss : Ġ() Ġ-> ĠUnit Ġ= Ġ{ Ġ}, ĊĠĠĠ Ġon Save : Ġ( Boolean ) Ġ-> ĠUnit Ġ= Ġ{ Ġ} Ċ ) Ġ{ ĊĠĠĠ Ġvar Ġis Dev Channel Value Ġby Ġremember Ġ{ ĊĠĠĠĠĠĠĠ Ġmutable State Of ( is Dev Channel ) ĊĠĠĠ Ġ} ĊĠĠĠ ĠCard ( ĊĠĠĠĠĠĠĠ Ġshape Ġ= ĠRo unded Corner Shape ( 8 . dp ) ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ ĠColumn ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier . padding ( 2 4 . dp ) ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠText ( text Ġ= Ġ" Select Ġupdate Ġchannel ", Ġstyle Ġ= ĠMaterial Theme . typography . h 6 ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠColumn ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier . padding ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvertical Ġ= Ġ 1 6 . dp ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvertical Arrange ment Ġ= ĠArrange ment . spaced By ( 8 . dp ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRow ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvertical Alignment Ġ= ĠAlignment . Center Vert ically , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhorizontal Arrange ment Ġ= ĠArrange ment . spaced By ( 8 . dp ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRadio Button ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġselected Ġ= Ġ! is Dev Channel Value , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonClick Ġ= Ġ{ Ġis Dev Channel Value Ġ= Ġfalse Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠText ( text Ġ= Ġ" Stable ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRow ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvertical Alignment Ġ= ĠAlignment . Center Vert ically , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhorizontal Arrange ment Ġ= ĠArrange ment . spaced By ( 8 . dp ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRadio Button ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġselected Ġ= Ġis Dev Channel Value , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonClick Ġ= Ġ{ Ġis Dev Channel Value Ġ= Ġtrue Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠText ( text Ġ= Ġ" Dev ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRow ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier . fill Max Width (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhorizontal Arrange ment Ġ= ĠArrange ment . End ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠText Button ( onClick Ġ= Ġon Dismiss ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠText ( text Ġ= Ġ" CLOSE ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠText Button ( onClick Ġ= Ġ{ Ġon Save ( is Dev Channel Value ) Ġ}) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠText ( text Ġ= Ġ" SAVE ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }