Add Feature Flag for Hearing Aid Profile

Using the Settings App-Developer Options-Feature Flag, allow the user to
enable or disable the Hearing Aid Profile.

Test: Manual testing using Settings App
Change-Id: I16b51d7feabc914219c24731eb39a23bd1782571
This commit is contained in:
Stanley Tng
2018-06-20 15:32:02 -07:00
parent 636cc6caf9
commit 068c2547f6
4 changed files with 245 additions and 2 deletions

View File

@@ -18,25 +18,38 @@ package com.android.settings.development.featureflags;
import android.content.Context;
import android.util.FeatureFlagUtils;
import android.util.Log;
import androidx.preference.SwitchPreference;
public class FeatureFlagPreference extends SwitchPreference {
private final String mKey;
private final boolean mIsPersistent;
public FeatureFlagPreference(Context context, String key) {
super(context);
mKey = key;
setKey(key);
setTitle(key);
setCheckedInternal(FeatureFlagUtils.isEnabled(context, mKey));
mIsPersistent = FeatureFlagPersistent.isPersistent(key);
boolean isFeatureEnabled;
if (mIsPersistent) {
isFeatureEnabled = FeatureFlagPersistent.isEnabled(context, key);
} else {
isFeatureEnabled = FeatureFlagUtils.isEnabled(context, key);
}
setCheckedInternal(isFeatureEnabled);
}
@Override
public void setChecked(boolean isChecked) {
setCheckedInternal(isChecked);
FeatureFlagUtils.setEnabled(getContext(), mKey, isChecked);
if (mIsPersistent) {
FeatureFlagPersistent.setEnabled(getContext(), mKey, isChecked);
} else {
FeatureFlagUtils.setEnabled(getContext(), mKey, isChecked);
}
}
private void setCheckedInternal(boolean isChecked) {