summaryrefslogtreecommitdiff
path: root/java/src-debug/com
diff options
context:
space:
mode:
author Oli Thompson <olit@google.com> 2023-01-30 10:03:07 +0000
committer Oli Thompson <olit@google.com> 2023-01-30 10:05:08 +0000
commit6e245878978627b8741c219597c4a02609543969 (patch)
treee35138ff91c9c174256597550da335cfec6bfe34 /java/src-debug/com
parent33bb96bf4da9ad037d1184c644fd9c26db569ded (diff)
Revert "Feature flags support in Chooser"
This reverts commit 33bb96bf4da9ad037d1184c644fd9c26db569ded. Reason for revert: DroidMonitor-triggered revert due to breakage https://android-build.googleplex.com/builds/quarterdeck?branch=git_master&target=bramble-user&lkgb=9536619&lkbb=9537444&fkbb=9536627 , bug b/267135531 BUG: b/267135531 Change-Id: I73f5b6c66e27dd0e5a628034604e80523f2acf99
Diffstat (limited to 'java/src-debug/com')
-rw-r--r--java/src-debug/com/android/intentresolver/flags/DebugFeatureFlagRepository.kt85
-rw-r--r--java/src-debug/com/android/intentresolver/flags/FeatureFlagRepositoryFactory.kt30
2 files changed, 0 insertions, 115 deletions
diff --git a/java/src-debug/com/android/intentresolver/flags/DebugFeatureFlagRepository.kt b/java/src-debug/com/android/intentresolver/flags/DebugFeatureFlagRepository.kt
deleted file mode 100644
index a85e0971..00000000
--- a/java/src-debug/com/android/intentresolver/flags/DebugFeatureFlagRepository.kt
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * Copyright (C) 2022 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.intentresolver.flags
-
-import android.util.SparseBooleanArray
-import androidx.annotation.GuardedBy
-import com.android.systemui.flags.BooleanFlag
-import com.android.systemui.flags.FlagManager
-import com.android.systemui.flags.ReleasedFlag
-import com.android.systemui.flags.UnreleasedFlag
-import javax.annotation.concurrent.ThreadSafe
-
-@ThreadSafe
-internal class DebugFeatureFlagRepository(
- private val flagManager: FlagManager,
- private val deviceConfig: DeviceConfigProxy,
-) : FeatureFlagRepository {
- @GuardedBy("self")
- private val cache = SparseBooleanArray()
-
- override fun isEnabled(flag: UnreleasedFlag): Boolean = isFlagEnabled(flag)
-
- override fun isEnabled(flag: ReleasedFlag): Boolean = isFlagEnabled(flag)
-
- private fun isFlagEnabled(flag: BooleanFlag): Boolean {
- synchronized(cache) {
- val idx = cache.indexOfKey(flag.id)
- if (idx >= 0) return cache.valueAt(idx)
- }
- val flagValue = readFlagValue(flag)
- synchronized(cache) {
- val idx = cache.indexOfKey(flag.id)
- // the first read saved in the cache wins
- if (idx >= 0) return cache.valueAt(idx)
- cache.put(flag.id, flagValue)
- }
- return flagValue
- }
-
- private fun readFlagValue(flag: BooleanFlag): Boolean {
- val localOverride = runCatching {
- flagManager.isEnabled(flag.id)
- }.getOrDefault(null)
- val remoteOverride = deviceConfig.isEnabled(flag)
-
- // Only check for teamfood if the default is false
- // and there is no server override.
- if (remoteOverride == null
- && !flag.default
- && localOverride == null
- && !flag.isTeamfoodFlag
- && flag.teamfood
- ) {
- return flagManager.isTeamfoodEnabled
- }
- return localOverride ?: remoteOverride ?: flag.default
- }
-
- companion object {
- // keep in sync with com.android.systemui.flags.Flags
- private const val TEAMFOOD_FLAG_ID = 1
-
- private val BooleanFlag.isTeamfoodFlag: Boolean
- get() = id == TEAMFOOD_FLAG_ID
-
- private val FlagManager.isTeamfoodEnabled: Boolean
- get() = runCatching {
- isEnabled(TEAMFOOD_FLAG_ID) ?: false
- }.getOrDefault(false)
- }
-}
diff --git a/java/src-debug/com/android/intentresolver/flags/FeatureFlagRepositoryFactory.kt b/java/src-debug/com/android/intentresolver/flags/FeatureFlagRepositoryFactory.kt
deleted file mode 100644
index 4ddb0447..00000000
--- a/java/src-debug/com/android/intentresolver/flags/FeatureFlagRepositoryFactory.kt
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Copyright (C) 2022 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.intentresolver.flags
-
-import android.content.Context
-import android.os.Handler
-import android.os.Looper
-import com.android.systemui.flags.FlagManager
-
-class FeatureFlagRepositoryFactory {
- fun create(context: Context): FeatureFlagRepository =
- DebugFeatureFlagRepository(
- FlagManager(context, Handler(Looper.getMainLooper())),
- DeviceConfigProxy(),
- )
-}