Loading services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerService.java +33 −24 Original line number Original line Diff line number Diff line Loading @@ -562,11 +562,10 @@ public class VoiceInteractionManagerService extends SystemService { } } void switchImplementationIfNeededLocked(boolean force) { void switchImplementationIfNeededLocked(boolean force) { if (!mCurUserSupported || mTemporarilyDisabled) { if (!mCurUserSupported) { if (DEBUG_USER) { if (DEBUG_USER) { Slog.d(TAG, "switchImplementationIfNeeded(): skipping: force= " + force Slog.d(TAG, "switchImplementationIfNeeded(): skipping: force= " + force + "mCurUserSupported=" + mCurUserSupported + "mCurUserSupported=" + mCurUserSupported); + "mTemporarilyDisabled=" + mTemporarilyDisabled); } } if (mImpl != null) { if (mImpl != null) { mImpl.shutdownLocked(); mImpl.shutdownLocked(); Loading Loading @@ -1048,13 +1047,16 @@ public class VoiceInteractionManagerService extends SystemService { if (DEBUG) Slog.d(TAG, "setDisabled(): already " + disabled); if (DEBUG) Slog.d(TAG, "setDisabled(): already " + disabled); return; return; } } Slog.i(TAG, "setDisabled(): changing to " + disabled); final long caller = Binder.clearCallingIdentity(); try { mTemporarilyDisabled = disabled; mTemporarilyDisabled = disabled; switchImplementationIfNeeded(/* force= */ false); if (mTemporarilyDisabled) { } finally { Slog.i(TAG, "setDisabled(): temporarily disabling and hiding current session"); Binder.restoreCallingIdentity(caller); try { hideCurrentSession(); } catch (RemoteException e) { Log.w(TAG, "Failed to call hideCurrentSession", e); } } else { Slog.i(TAG, "setDisabled(): re-enabling"); } } } } } } Loading Loading @@ -1508,12 +1510,20 @@ public class VoiceInteractionManagerService extends SystemService { public boolean showSessionForActiveService(Bundle args, int sourceFlags, public boolean showSessionForActiveService(Bundle args, int sourceFlags, IVoiceInteractionSessionShowCallback showCallback, IBinder activityToken) { IVoiceInteractionSessionShowCallback showCallback, IBinder activityToken) { enforceCallingPermission(Manifest.permission.ACCESS_VOICE_INTERACTION_SERVICE); enforceCallingPermission(Manifest.permission.ACCESS_VOICE_INTERACTION_SERVICE); if (DEBUG_USER) Slog.d(TAG, "showSessionForActiveService()"); synchronized (this) { synchronized (this) { if (mImpl == null) { if (mImpl == null) { Slog.w(TAG, "showSessionForActiveService without running voice interaction" Slog.w(TAG, "showSessionForActiveService without running voice interaction" + "service"); + "service"); return false; return false; } } if (mTemporarilyDisabled) { Slog.i(TAG, "showSessionForActiveService(): ignored while temporarily " + "disabled"); return false; } final long caller = Binder.clearCallingIdentity(); final long caller = Binder.clearCallingIdentity(); try { try { return mImpl.showSessionLocked(args, return mImpl.showSessionLocked(args, Loading @@ -1530,7 +1540,7 @@ public class VoiceInteractionManagerService extends SystemService { @Override @Override public void hideCurrentSession() throws RemoteException { public void hideCurrentSession() throws RemoteException { enforceCallingPermission(Manifest.permission.ACCESS_VOICE_INTERACTION_SERVICE); enforceCallingPermission(Manifest.permission.ACCESS_VOICE_INTERACTION_SERVICE); synchronized (this) { if (mImpl == null) { if (mImpl == null) { return; return; } } Loading @@ -1547,7 +1557,6 @@ public class VoiceInteractionManagerService extends SystemService { Binder.restoreCallingIdentity(caller); Binder.restoreCallingIdentity(caller); } } } } } @Override @Override public void launchVoiceAssistFromKeyguard() { public void launchVoiceAssistFromKeyguard() { Loading services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerServiceShellCommand.java +1 −0 Original line number Original line Diff line number Diff line Loading @@ -71,6 +71,7 @@ final class VoiceInteractionManagerServiceShellCommand extends ShellCommand { pw.println(""); pw.println(""); pw.println(" hide"); pw.println(" hide"); pw.println(" Hides the current session"); pw.println(" Hides the current session"); pw.println(""); pw.println(" disable [true|false]"); pw.println(" disable [true|false]"); pw.println(" Temporarily disable (when true) service"); pw.println(" Temporarily disable (when true) service"); pw.println(""); pw.println(""); Loading Loading
services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerService.java +33 −24 Original line number Original line Diff line number Diff line Loading @@ -562,11 +562,10 @@ public class VoiceInteractionManagerService extends SystemService { } } void switchImplementationIfNeededLocked(boolean force) { void switchImplementationIfNeededLocked(boolean force) { if (!mCurUserSupported || mTemporarilyDisabled) { if (!mCurUserSupported) { if (DEBUG_USER) { if (DEBUG_USER) { Slog.d(TAG, "switchImplementationIfNeeded(): skipping: force= " + force Slog.d(TAG, "switchImplementationIfNeeded(): skipping: force= " + force + "mCurUserSupported=" + mCurUserSupported + "mCurUserSupported=" + mCurUserSupported); + "mTemporarilyDisabled=" + mTemporarilyDisabled); } } if (mImpl != null) { if (mImpl != null) { mImpl.shutdownLocked(); mImpl.shutdownLocked(); Loading Loading @@ -1048,13 +1047,16 @@ public class VoiceInteractionManagerService extends SystemService { if (DEBUG) Slog.d(TAG, "setDisabled(): already " + disabled); if (DEBUG) Slog.d(TAG, "setDisabled(): already " + disabled); return; return; } } Slog.i(TAG, "setDisabled(): changing to " + disabled); final long caller = Binder.clearCallingIdentity(); try { mTemporarilyDisabled = disabled; mTemporarilyDisabled = disabled; switchImplementationIfNeeded(/* force= */ false); if (mTemporarilyDisabled) { } finally { Slog.i(TAG, "setDisabled(): temporarily disabling and hiding current session"); Binder.restoreCallingIdentity(caller); try { hideCurrentSession(); } catch (RemoteException e) { Log.w(TAG, "Failed to call hideCurrentSession", e); } } else { Slog.i(TAG, "setDisabled(): re-enabling"); } } } } } } Loading Loading @@ -1508,12 +1510,20 @@ public class VoiceInteractionManagerService extends SystemService { public boolean showSessionForActiveService(Bundle args, int sourceFlags, public boolean showSessionForActiveService(Bundle args, int sourceFlags, IVoiceInteractionSessionShowCallback showCallback, IBinder activityToken) { IVoiceInteractionSessionShowCallback showCallback, IBinder activityToken) { enforceCallingPermission(Manifest.permission.ACCESS_VOICE_INTERACTION_SERVICE); enforceCallingPermission(Manifest.permission.ACCESS_VOICE_INTERACTION_SERVICE); if (DEBUG_USER) Slog.d(TAG, "showSessionForActiveService()"); synchronized (this) { synchronized (this) { if (mImpl == null) { if (mImpl == null) { Slog.w(TAG, "showSessionForActiveService without running voice interaction" Slog.w(TAG, "showSessionForActiveService without running voice interaction" + "service"); + "service"); return false; return false; } } if (mTemporarilyDisabled) { Slog.i(TAG, "showSessionForActiveService(): ignored while temporarily " + "disabled"); return false; } final long caller = Binder.clearCallingIdentity(); final long caller = Binder.clearCallingIdentity(); try { try { return mImpl.showSessionLocked(args, return mImpl.showSessionLocked(args, Loading @@ -1530,7 +1540,7 @@ public class VoiceInteractionManagerService extends SystemService { @Override @Override public void hideCurrentSession() throws RemoteException { public void hideCurrentSession() throws RemoteException { enforceCallingPermission(Manifest.permission.ACCESS_VOICE_INTERACTION_SERVICE); enforceCallingPermission(Manifest.permission.ACCESS_VOICE_INTERACTION_SERVICE); synchronized (this) { if (mImpl == null) { if (mImpl == null) { return; return; } } Loading @@ -1547,7 +1557,6 @@ public class VoiceInteractionManagerService extends SystemService { Binder.restoreCallingIdentity(caller); Binder.restoreCallingIdentity(caller); } } } } } @Override @Override public void launchVoiceAssistFromKeyguard() { public void launchVoiceAssistFromKeyguard() { Loading
services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerServiceShellCommand.java +1 −0 Original line number Original line Diff line number Diff line Loading @@ -71,6 +71,7 @@ final class VoiceInteractionManagerServiceShellCommand extends ShellCommand { pw.println(""); pw.println(""); pw.println(" hide"); pw.println(" hide"); pw.println(" Hides the current session"); pw.println(" Hides the current session"); pw.println(""); pw.println(" disable [true|false]"); pw.println(" disable [true|false]"); pw.println(" Temporarily disable (when true) service"); pw.println(" Temporarily disable (when true) service"); pw.println(""); pw.println(""); Loading