diff options
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/statusbar/tv/micdisclosure/AudioRecordingDisclosureBar.java | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/tv/micdisclosure/AudioRecordingDisclosureBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/tv/micdisclosure/AudioRecordingDisclosureBar.java index 914868301d72..8b85a0961463 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/tv/micdisclosure/AudioRecordingDisclosureBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/tv/micdisclosure/AudioRecordingDisclosureBar.java @@ -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) { |