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

Commit f569f09b authored by Ahaan Ugale's avatar Ahaan Ugale Committed by Android (Google) Code Review
Browse files

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

parents 2db19f56 aa80f8e7
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);