summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDianne Hackborn <hackbod@google.com>2015-06-16 18:12:31 -0700
committerDianne Hackborn <hackbod@google.com>2015-06-16 18:12:31 -0700
commit216f5c33472bf4014cb1951deeb2b7c09f4cae37 (patch)
treeb0a00a0cf1242d97c955876df1bec6e0eda9f931
parentece811dac9a2784b4a2937a4ece75b58d0db9e8b (diff)
downloadframeworks_base-216f5c33472bf4014cb1951deeb2b7c09f4cae37.zip
frameworks_base-216f5c33472bf4014cb1951deeb2b7c09f4cae37.tar.gz
frameworks_base-216f5c33472bf4014cb1951deeb2b7c09f4cae37.tar.bz2
Bring back screenshot API.
Change-Id: Ia6bdfa300398d39119239f6a88c9992673edb3e0
-rw-r--r--api/current.txt2
-rw-r--r--api/system-current.txt2
-rw-r--r--core/java/android/service/voice/VoiceInteractionSession.java2
-rw-r--r--services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionSessionConnection.java14
4 files changed, 9 insertions, 11 deletions
diff --git a/api/current.txt b/api/current.txt
index 29fc7b1..e8a796a 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -28908,6 +28908,7 @@ package android.service.voice {
method public void onDestroy();
method public boolean[] onGetSupportedCommands(java.lang.String[]);
method public void onHandleAssist(android.os.Bundle, android.app.assist.AssistStructure, android.app.assist.AssistContent);
+ method public void onHandleScreenshot(android.graphics.Bitmap);
method public void onHide();
method public boolean onKeyDown(int, android.view.KeyEvent);
method public boolean onKeyLongPress(int, android.view.KeyEvent);
@@ -28930,6 +28931,7 @@ package android.service.voice {
method public void startVoiceActivity(android.content.Intent);
field public static final int SHOW_SOURCE_ASSIST_GESTURE = 4; // 0x4
field public static final int SHOW_WITH_ASSIST = 1; // 0x1
+ field public static final int SHOW_WITH_SCREENSHOT = 2; // 0x2
}
public static final class VoiceInteractionSession.AbortVoiceRequest extends android.service.voice.VoiceInteractionSession.Request {
diff --git a/api/system-current.txt b/api/system-current.txt
index 4b4a77c..d84de71 100644
--- a/api/system-current.txt
+++ b/api/system-current.txt
@@ -31045,6 +31045,7 @@ package android.service.voice {
method public void onDestroy();
method public boolean[] onGetSupportedCommands(java.lang.String[]);
method public void onHandleAssist(android.os.Bundle, android.app.assist.AssistStructure, android.app.assist.AssistContent);
+ method public void onHandleScreenshot(android.graphics.Bitmap);
method public void onHide();
method public boolean onKeyDown(int, android.view.KeyEvent);
method public boolean onKeyLongPress(int, android.view.KeyEvent);
@@ -31067,6 +31068,7 @@ package android.service.voice {
method public void startVoiceActivity(android.content.Intent);
field public static final int SHOW_SOURCE_ASSIST_GESTURE = 4; // 0x4
field public static final int SHOW_WITH_ASSIST = 1; // 0x1
+ field public static final int SHOW_WITH_SCREENSHOT = 2; // 0x2
}
public static final class VoiceInteractionSession.AbortVoiceRequest extends android.service.voice.VoiceInteractionSession.Request {
diff --git a/core/java/android/service/voice/VoiceInteractionSession.java b/core/java/android/service/voice/VoiceInteractionSession.java
index d5ee7e7..0367cfc 100644
--- a/core/java/android/service/voice/VoiceInteractionSession.java
+++ b/core/java/android/service/voice/VoiceInteractionSession.java
@@ -80,7 +80,6 @@ public class VoiceInteractionSession implements KeyEvent.Callback, ComponentCall
public static final int SHOW_WITH_ASSIST = 1<<0;
/**
- * @hide
* Flag received in {@link #onShow}: originator requested that the session be started with
* a screen shot of the currently focused activity.
*/
@@ -1162,7 +1161,6 @@ public class VoiceInteractionSession implements KeyEvent.Callback, ComponentCall
onHandleAssist(data);
}
- /** @hide */
public void onHandleScreenshot(Bitmap screenshot) {
}
diff --git a/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionSessionConnection.java b/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionSessionConnection.java
index 0b430ca..47a230a 100644
--- a/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionSessionConnection.java
+++ b/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionSessionConnection.java
@@ -180,8 +180,6 @@ final class VoiceInteractionSessionConnection implements ServiceConnection {
public boolean showLocked(Bundle args, int flags,
IVoiceInteractionSessionShowCallback showCallback) {
- // For now we never allow screenshots.
- flags &= ~VoiceInteractionSession.SHOW_WITH_SCREENSHOT;
if (mBound) {
if (!mFullyBound) {
mFullyBound = mContext.bindServiceAsUser(mBindIntent, mFullConnection,
@@ -190,13 +188,15 @@ final class VoiceInteractionSessionConnection implements ServiceConnection {
new UserHandle(mUser));
}
mShown = true;
+ boolean allDataEnabled = Settings.Secure.getIntForUser(mContext.getContentResolver(),
+ Settings.Secure.ASSIST_STRUCTURE_ENABLED, 1, mUser) != 0;
mShowArgs = args;
mShowFlags = flags;
mHaveAssistData = false;
if ((flags& VoiceInteractionSession.SHOW_WITH_ASSIST) != 0) {
if (mAppOps.noteOpNoThrow(AppOpsManager.OP_ASSIST_STRUCTURE, mCallingUid,
mSessionComponentName.getPackageName()) == AppOpsManager.MODE_ALLOWED
- && isStructureEnabled()) {
+ && allDataEnabled) {
try {
mAm.requestAssistContextExtras(ActivityManager.ASSIST_CONTEXT_FULL,
mAssistReceiver);
@@ -212,7 +212,8 @@ final class VoiceInteractionSessionConnection implements ServiceConnection {
mHaveScreenshot = false;
if ((flags& VoiceInteractionSession.SHOW_WITH_SCREENSHOT) != 0) {
if (mAppOps.noteOpNoThrow(AppOpsManager.OP_ASSIST_SCREENSHOT, mCallingUid,
- mSessionComponentName.getPackageName()) == AppOpsManager.MODE_ALLOWED) {
+ mSessionComponentName.getPackageName()) == AppOpsManager.MODE_ALLOWED
+ && allDataEnabled) {
try {
mIWindowManager.requestAssistScreenshot(mScreenshotReceiver);
} catch (RemoteException e) {
@@ -466,11 +467,6 @@ final class VoiceInteractionSessionConnection implements ServiceConnection {
mService = null;
}
- 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);