Merge "Add null pointer check for callback in HotwordDetectionConnection." into sc-dev am: f569f09b5a

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15327988

Change-Id: I76bddebc6ffc5a737618017b290a0b3ee3148481
This commit is contained in:
Ahaan Ugale
2021-07-24 01:25:27 +00:00
committed by Automerger Merge Worker

View File

@@ -103,6 +103,7 @@ final class HotwordDetectionConnection {
private final AtomicBoolean mUpdateStateAfterStartFinished = new AtomicBoolean(false);
private final IBinder.DeathRecipient mAudioServerDeathRecipient = this::audioServerDied;
private final @NonNull ServiceConnectionFactory mServiceConnectionFactory;
private final IHotwordRecognitionStatusCallback mCallback;
final Object mLock;
final int mVoiceInteractionServiceUid;
@@ -110,7 +111,6 @@ final class HotwordDetectionConnection {
final int mUser;
final Context mContext;
volatile HotwordDetectionServiceIdentity mIdentity;
private IHotwordRecognitionStatusCallback mCallback;
private IMicrophoneHotwordDetectionVoiceInteractionCallback mSoftwareCallback;
private Instant mLastRestartInstant;
@@ -132,13 +132,19 @@ final class HotwordDetectionConnection {
HotwordDetectionConnection(Object lock, Context context, int voiceInteractionServiceUid,
Identity voiceInteractorIdentity, ComponentName serviceName, int userId,
boolean bindInstantServiceAllowed, @Nullable PersistableBundle options,
@Nullable SharedMemory sharedMemory, IHotwordRecognitionStatusCallback callback) {
@Nullable SharedMemory sharedMemory,
@NonNull IHotwordRecognitionStatusCallback callback) {
if (callback == null) {
Slog.w(TAG, "Callback is null while creating connection");
throw new IllegalArgumentException("Callback is null while creating connection");
}
mLock = lock;
mContext = context;
mVoiceInteractionServiceUid = voiceInteractionServiceUid;
mVoiceInteractorIdentity = voiceInteractorIdentity;
mDetectionComponentName = serviceName;
mUser = userId;
mCallback = callback;
final Intent intent = new Intent(HotwordDetectionService.SERVICE_INTERFACE);
intent.setComponent(mDetectionComponentName);
initAudioFlingerLocked();
@@ -147,12 +153,6 @@ final class HotwordDetectionConnection {
mRemoteHotwordDetectionService = mServiceConnectionFactory.createLocked();
if (callback == null) {
updateStateLocked(options, sharedMemory);
return;
}
mCallback = callback;
mLastRestartInstant = Instant.now();
updateStateAfterProcessStart(options, sharedMemory);