Merge "Adding a utility method to show Assist session" into pi-dev
diff --git a/packages/SystemUI/shared/src/com/android/systemui/shared/system/ActivityManagerWrapper.java b/packages/SystemUI/shared/src/com/android/systemui/shared/system/ActivityManagerWrapper.java
index 6aa2754..107249b 100644
--- a/packages/SystemUI/shared/src/com/android/systemui/shared/system/ActivityManagerWrapper.java
+++ b/packages/SystemUI/shared/src/com/android/systemui/shared/system/ActivityManagerWrapper.java
@@ -44,8 +44,10 @@
import android.graphics.Rect;
import android.os.Bundle;
import android.os.Handler;
+import android.os.IBinder;
import android.os.Looper;
import android.os.RemoteException;
+import android.os.ServiceManager;
import android.os.UserHandle;
import android.provider.Settings;
import android.util.Log;
@@ -53,6 +55,8 @@
import android.view.IRecentsAnimationRunner;
import android.view.RemoteAnimationTarget;
+
+import com.android.internal.app.IVoiceInteractionManagerService;
import com.android.systemui.shared.recents.model.Task;
import com.android.systemui.shared.recents.model.Task.TaskKey;
import com.android.systemui.shared.recents.model.ThumbnailData;
@@ -432,4 +436,21 @@
return false;
}
}
+
+ /**
+ * Shows a voice session identified by {@code token}
+ * @return true if the session was shown, false otherwise
+ */
+ public boolean showVoiceSession(IBinder token, Bundle args, int flags) {
+ IVoiceInteractionManagerService service = IVoiceInteractionManagerService.Stub.asInterface(
+ ServiceManager.getService(Context.VOICE_INTERACTION_MANAGER_SERVICE));
+ if (service == null) {
+ return false;
+ }
+ try {
+ return service.showSessionFromSession(token, args, flags);
+ } catch (RemoteException e) {
+ return false;
+ }
+ }
}