diff options
| -rw-r--r-- | core/java/android/app/ActivityThread.java | 2 | ||||
| -rw-r--r-- | services/core/java/com/android/server/audio/AudioService.java | 8 |
2 files changed, 9 insertions, 1 deletions
diff --git a/core/java/android/app/ActivityThread.java b/core/java/android/app/ActivityThread.java index 4e1bcc1bcfb8..2db1bcc0faad 100644 --- a/core/java/android/app/ActivityThread.java +++ b/core/java/android/app/ActivityThread.java @@ -3554,11 +3554,13 @@ public final class ActivityThread extends ClientTransactionHandler { @NonNull RemoteCallback callback) { final ActivityClientRecord r = mActivities.get(activityToken); if (r == null) { + Log.w(TAG, "requestDirectActions(): no activity for " + activityToken); callback.sendResult(null); return; } final int lifecycleState = r.getLifecycleState(); if (lifecycleState < ON_START || lifecycleState >= ON_STOP) { + Log.w(TAG, "requestDirectActions(" + r + "): wrong lifecycle: " + lifecycleState); callback.sendResult(null); return; } diff --git a/services/core/java/com/android/server/audio/AudioService.java b/services/core/java/com/android/server/audio/AudioService.java index 86832f444ff0..15e8851a6a2b 100644 --- a/services/core/java/com/android/server/audio/AudioService.java +++ b/services/core/java/com/android/server/audio/AudioService.java @@ -1452,7 +1452,13 @@ public class AudioService extends IAudioService.Stub Settings.Secure.ASSISTANT, UserHandle.USER_CURRENT); } if (!TextUtils.isEmpty(assistantName)) { - packageName = ComponentName.unflattenFromString(assistantName).getPackageName(); + ComponentName componentName = ComponentName.unflattenFromString(assistantName); + if (componentName == null) { + Slog.w(TAG, "Invalid service name for " + + Settings.Secure.VOICE_INTERACTION_SERVICE + ": " + assistantName); + return; + } + packageName = componentName.getPackageName(); } } if (!TextUtils.isEmpty(packageName)) { |