Merge "Add a killswitch for AudioRecordingDisclosureBar" into rvc-dev
This commit is contained in:
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user