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

Commit acccd67a 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: 75aba256

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

Change-Id: I6e58e79592faca842ada3ddd1c0d6fd9dcdb7e49
parents c18c0d33 75aba256
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);