File tree Expand file tree Collapse file tree
flipchatApp/src/main/kotlin/xyz/flipchat/app/beta Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -73,6 +73,13 @@ class BetaFlagController @Inject constructor(
7373 produceFile = { context.preferencesDataStoreFile(" beta-flags" ) }
7474 )
7575
76+ init {
77+ // reset launched flags
78+ BetaFlag .entries
79+ .filter { it.launched }
80+ .onEach { reset(it) }
81+ }
82+
7683 override fun set (flag : BetaFlag , value : Boolean ) {
7784 dataScope.launch(Dispatchers .IO ) {
7885 betaFlags.edit { prefs ->
@@ -109,6 +116,12 @@ class BetaFlagController @Inject constructor(
109116 BetaFlag .entries.map { BetaFeature (it, it.default) }
110117 )
111118
119+ override fun reset (flag : BetaFlag ) {
120+ dataScope.launch {
121+ betaFlags.edit { it.remove(flag.preferenceKey) }
122+ }
123+ }
124+
112125 override fun reset () {
113126 dataScope.launch {
114127 betaFlags.edit { it.clear() }
Original file line number Diff line number Diff line change @@ -8,6 +8,7 @@ interface BetaFlags {
88 suspend fun get (flag : BetaFlag ): Boolean
99 fun observe (flag : BetaFlag ): StateFlow <Boolean >
1010 fun observe (): StateFlow <List <BetaFeature >>
11+ fun reset (flag : BetaFlag )
1112 fun reset ()
1213}
1314
@@ -21,6 +22,7 @@ object NoOpBetaFlags: BetaFlags {
2122 override fun observe (): StateFlow <List <BetaFeature >> =
2223 MutableStateFlow (BetaFlag .entries.map { BetaFeature (it, it.default) })
2324
25+ override fun reset (flag : BetaFlag ) = Unit
2426 override fun reset () = Unit
2527
2628}
You can’t perform that action at this time.
0 commit comments