diff options
author | Jorim Jaggi <jjaggi@google.com> | 2015-05-18 17:35:26 -0700 |
---|---|---|
committer | Jorim Jaggi <jjaggi@google.com> | 2015-05-18 21:39:05 -0700 |
commit | 9d91083034654b37461c891308a1d426054170a8 (patch) | |
tree | 4ff94f232c2820c929db20fff10718dda103b89f | |
parent | ae1eac53a77a8f1cd6f1df0f8628cc64439e6a22 (diff) | |
download | frameworks_base-9d91083034654b37461c891308a1d426054170a8.zip frameworks_base-9d91083034654b37461c891308a1d426054170a8.tar.gz frameworks_base-9d91083034654b37461c891308a1d426054170a8.tar.bz2 |
Add setting to disable assist data (1/2)
Bug: 20944446
Change-Id: I8050df3177b6d540829c3f0989a4e4b1381c87ec
3 files changed, 17 insertions, 1 deletions
diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java index ef0dc3e..37645b5 100644 --- a/core/java/android/provider/Settings.java +++ b/core/java/android/provider/Settings.java @@ -5417,6 +5417,14 @@ public final class Settings { public static final String EMERGENCY_ASSISTANCE_APPLICATION = "emergency_assistance_application"; /** + * Specifies whether the current app context on scren (assist data) will be sent to the + * assist application (active voice interaction service). + * + * @hide + */ + public static final String ASSIST_STRUCTURE_ENABLED = "assist_structure_enabled"; + + /** * Names of the packages that the current user has explicitly allowed to * see all of the user's notifications, separated by ':'. * diff --git a/core/java/com/android/internal/logging/MetricsConstants.java b/core/java/com/android/internal/logging/MetricsConstants.java index 65dc743..b9a75d3 100644 --- a/core/java/com/android/internal/logging/MetricsConstants.java +++ b/core/java/com/android/internal/logging/MetricsConstants.java @@ -208,6 +208,7 @@ public interface MetricsConstants { public static final int APPLICATIONS_USAGE_ACCESS_DETAIL = 183; public static final int APPLICATIONS_HIGH_POWER_APPS = 184; public static final int FUELGAUGE_HIGH_POWER_DETAILS = 185; + public static final int APPLICATIONS_MANAGE_ASSIST = 186; //aliases public static final int DEVICEINFO_STORAGE = DEVICEINFO_MEMORY; diff --git a/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionSessionConnection.java b/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionSessionConnection.java index 42eb6c3..58a8272 100644 --- a/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionSessionConnection.java +++ b/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionSessionConnection.java @@ -35,6 +35,7 @@ import android.os.IBinder; import android.os.RemoteException; import android.os.ServiceManager; import android.os.UserHandle; +import android.provider.Settings; import android.service.voice.IVoiceInteractionSession; import android.service.voice.IVoiceInteractionSessionService; import android.service.voice.VoiceInteractionService; @@ -190,7 +191,8 @@ final class VoiceInteractionSessionConnection implements ServiceConnection { mHaveAssistData = false; if ((flags&VoiceInteractionService.START_WITH_ASSIST) != 0) { if (mAppOps.noteOpNoThrow(AppOpsManager.OP_ASSIST_STRUCTURE, mCallingUid, - mSessionComponentName.getPackageName()) == AppOpsManager.MODE_ALLOWED) { + mSessionComponentName.getPackageName()) == AppOpsManager.MODE_ALLOWED + && isStructureEnabled()) { try { mAm.requestAssistContextExtras(ActivityManager.ASSIST_CONTEXT_FULL, mAssistReceiver); @@ -455,6 +457,11 @@ final class VoiceInteractionSessionConnection implements ServiceConnection { } } + private boolean isStructureEnabled() { + return Settings.Secure.getIntForUser(mContext.getContentResolver(), + Settings.Secure.ASSIST_STRUCTURE_ENABLED, 1, mUser) != 0; + } + public void dump(String prefix, PrintWriter pw) { pw.print(prefix); pw.print("mToken="); pw.println(mToken); pw.print(prefix); pw.print("mShown="); pw.println(mShown); |