Merge "Add a killswitch for AudioRecordingDisclosureBar" into rvc-dev am: 0b513c34e2

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11797129

Change-Id: I2c20ce966b3d8a2779a3d58e59a0f6810ee727aa
This commit is contained in:
Robin Lee
2020-06-09 22:18:45 +00:00
committed by Automerger Merge Worker

View File

@@ -29,6 +29,8 @@ import android.content.Context;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
import android.graphics.PixelFormat;
import android.provider.Settings;
import android.text.TextUtils;
import android.util.ArraySet;
import android.util.Log;
import android.view.Gravity;
@@ -63,6 +65,9 @@ public class AudioRecordingDisclosureBar implements
// CtsSystemUiHostTestCases:TvMicrophoneCaptureIndicatorTest
private static final String LAYOUT_PARAMS_TITLE = "MicrophoneCaptureIndicator";
private static final String EXEMPT_PACKAGES_LIST = "sysui_mic_disclosure_exempt";
private static final String FORCED_PACKAGES_LIST = "sysui_mic_disclosure_forced";
@Retention(RetentionPolicy.SOURCE)
@IntDef(prefix = {"STATE_"}, value = {
STATE_NOT_SHOWN,
@@ -134,6 +139,8 @@ public class AudioRecordingDisclosureBar implements
mExemptPackages = new ArraySet<>(
Arrays.asList(mContext.getResources().getStringArray(
R.array.audio_recording_disclosure_exempt_apps)));
mExemptPackages.addAll(Arrays.asList(getGlobalStringArray(EXEMPT_PACKAGES_LIST)));
mExemptPackages.removeAll(Arrays.asList(getGlobalStringArray(FORCED_PACKAGES_LIST)));
mAudioActivityObservers = new AudioActivityObserver[]{
new RecordAudioAppOpObserver(mContext, this),
@@ -141,6 +148,11 @@ public class AudioRecordingDisclosureBar implements
};
}
private String[] getGlobalStringArray(String setting) {
String result = Settings.Global.getString(mContext.getContentResolver(), setting);
return TextUtils.isEmpty(result) ? new String[0] : result.split(",");
}
@UiThread
@Override
public void onAudioActivityStateChange(boolean active, String packageName) {