Merge "Disable the legacy TV VIS launch path" into rvc-dev
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/tv/TvStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/tv/TvStatusBar.java
index 02ae1f8..3df1c11 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/tv/TvStatusBar.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/tv/TvStatusBar.java
@@ -20,18 +20,21 @@
import android.content.Intent;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
+import android.os.Bundle;
import android.os.RemoteException;
import android.os.ServiceManager;
import android.os.UserHandle;
import com.android.internal.statusbar.IStatusBarService;
import com.android.systemui.SystemUI;
+import com.android.systemui.assist.AssistManager;
import com.android.systemui.statusbar.CommandQueue;
import com.android.systemui.statusbar.tv.micdisclosure.AudioRecordingDisclosureBar;
import javax.inject.Inject;
import javax.inject.Singleton;
+import dagger.Lazy;
/**
* Status bar implementation for "large screen" products that mostly present no on-screen nav.
@@ -49,11 +52,14 @@
"com.android.tv.action.OPEN_NOTIFICATIONS_PANEL";
private final CommandQueue mCommandQueue;
+ private final Lazy<AssistManager> mAssistManagerLazy;
@Inject
- public TvStatusBar(Context context, CommandQueue commandQueue) {
+ public TvStatusBar(Context context, CommandQueue commandQueue,
+ Lazy<AssistManager> assistManagerLazy) {
super(context);
mCommandQueue = commandQueue;
+ mAssistManagerLazy = assistManagerLazy;
}
@Override
@@ -84,4 +90,9 @@
mContext.startActivityAsUser(intent, UserHandle.CURRENT);
}
}
+
+ @Override
+ public void startAssist(Bundle args) {
+ mAssistManagerLazy.get().startAssist(args);
+ }
}
diff --git a/services/core/java/com/android/server/search/SearchManagerService.java b/services/core/java/com/android/server/search/SearchManagerService.java
index 1494edf..fea68d3 100644
--- a/services/core/java/com/android/server/search/SearchManagerService.java
+++ b/services/core/java/com/android/server/search/SearchManagerService.java
@@ -266,69 +266,13 @@
@Override
public void launchAssist(int userHandle, Bundle args) {
- if ((mContext.getResources().getConfiguration().uiMode
- & Configuration.UI_MODE_TYPE_MASK) == Configuration.UI_MODE_TYPE_TELEVISION) {
- // On TV, use legacy handling until assistants are implemented in the proper way.
- launchLegacyAssist(null, userHandle, args);
- } else {
- StatusBarManagerInternal statusBarManager =
- LocalServices.getService(StatusBarManagerInternal.class);
- if (statusBarManager != null) {
- statusBarManager.startAssist(args);
- }
+ StatusBarManagerInternal statusBarManager =
+ LocalServices.getService(StatusBarManagerInternal.class);
+ if (statusBarManager != null) {
+ statusBarManager.startAssist(args);
}
}
- // Check and return VIS component
- private ComponentName getLegacyAssistComponent(int userHandle) {
- try {
- userHandle = ActivityManager.handleIncomingUser(Binder.getCallingPid(),
- Binder.getCallingUid(), userHandle, true, false, "getLegacyAssistComponent",
- null);
- PackageManager pm = mContext.getPackageManager();
- Intent intentAssistProbe = new Intent(VoiceInteractionService.SERVICE_INTERFACE);
- List<ResolveInfo> infoListVis = pm.queryIntentServicesAsUser(intentAssistProbe,
- PackageManager.MATCH_SYSTEM_ONLY, userHandle);
- if (infoListVis == null || infoListVis.isEmpty()) {
- return null;
- } else {
- ResolveInfo rInfo = infoListVis.get(0);
- return new ComponentName(
- rInfo.serviceInfo.applicationInfo.packageName,
- rInfo.serviceInfo.name);
-
- }
- } catch (Exception e) {
- Log.e(TAG, "Exception in getLegacyAssistComponent: " + e);
- }
- return null;
- }
-
- private boolean launchLegacyAssist(String hint, int userHandle, Bundle args) {
- ComponentName comp = getLegacyAssistComponent(userHandle);
- if (comp == null) {
- return false;
- }
- long ident = Binder.clearCallingIdentity();
- try {
- Intent intent = new Intent(VoiceInteractionService.SERVICE_INTERFACE);
- intent.setComponent(comp);
-
- IActivityTaskManager am = ActivityTaskManager.getService();
- if (args != null) {
- args.putInt(Intent.EXTRA_KEY_EVENT, android.view.KeyEvent.KEYCODE_ASSIST);
- }
- intent.putExtras(args);
-
- return am.launchAssistIntent(intent, ActivityManager.ASSIST_CONTEXT_BASIC, hint,
- userHandle, args);
- } catch (RemoteException e) {
- } finally {
- Binder.restoreCallingIdentity(ident);
- }
- return true;
- }
-
@Override
public void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
if (!DumpUtils.checkDumpPermission(mContext, TAG, pw)) return;