summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/java/android/app/ActivityThread.java2
-rw-r--r--services/core/java/com/android/server/audio/AudioService.java8
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)) {