From 5067909efa1a89b9704cb12ab1ecb57f00bfad48 Mon Sep 17 00:00:00 2001 From: Sunny Goyal Date: Wed, 4 Apr 2018 14:41:07 -0700 Subject: [PATCH] Adding a utility method to show Assist session Bug: 72122079 Test: Verified the library works with launcher Change-Id: Ic1e9131687ea85fdcce16c71054ce7940c190504 --- .../shared/system/ActivityManagerWrapper.java | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) 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 6aa27542da9a0..107249b01a1dc 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.Bitmap; 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.IRecentsAnimationController; 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 @@ public class ActivityManagerWrapper { 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; + } + } }