Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d2a76b46 authored by Ahaan Ugale's avatar Ahaan Ugale Committed by Automerger Merge Worker
Browse files

Merge "Add null pointer check for callback in HotwordDetectionConnection."...

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

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

Change-Id: Ib0737a7a9eaacc79da6c4688b7536b6074824cf4
parents f71a3309 7de35ab5
Loading
Loading
Loading
Loading
+8 −8
Original line number Diff line number Diff line
@@ -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);