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

Commit 57f998f6 authored by Atneya Nair's avatar Atneya Nair Committed by Automerger Merge Worker
Browse files

Remove SoundTriggerService stopping state am: 70b1371b

parents c980048d 70b1371b
Loading
Loading
Loading
Loading
+5 −20
Original line number Original line Diff line number Diff line
@@ -487,7 +487,7 @@ public class SoundTriggerHelper implements SoundTrigger.StatusListener {
            }
            }
        }
        }


        if (unloadModel && (modelData.isModelLoaded() || modelData.isStopPending())) {
        if (unloadModel && modelData.isModelLoaded()) {
            Slog.d(TAG, "Unloading previously loaded stale model.");
            Slog.d(TAG, "Unloading previously loaded stale model.");
            if (mModule == null) {
            if (mModule == null) {
                return STATUS_ERROR;
                return STATUS_ERROR;
@@ -870,7 +870,7 @@ public class SoundTriggerHelper implements SoundTrigger.StatusListener {
        Slog.w(TAG, "Recognition aborted");
        Slog.w(TAG, "Recognition aborted");
        MetricsLogger.count(mContext, "sth_recognition_aborted", 1);
        MetricsLogger.count(mContext, "sth_recognition_aborted", 1);
        ModelData modelData = getModelDataForLocked(event.soundModelHandle);
        ModelData modelData = getModelDataForLocked(event.soundModelHandle);
        if (modelData != null && (modelData.isModelStarted() || modelData.isStopPending())) {
        if (modelData != null && modelData.isModelStarted()) {
            modelData.setStopped();
            modelData.setStopped();
            try {
            try {
                IRecognitionStatusCallback callback = modelData.getCallback();
                IRecognitionStatusCallback callback = modelData.getCallback();
@@ -884,7 +884,6 @@ public class SoundTriggerHelper implements SoundTrigger.StatusListener {
                        .printLog(ALOGW, TAG));
                        .printLog(ALOGW, TAG));
                forceStopAndUnloadModelLocked(modelData, e);
                forceStopAndUnloadModelLocked(modelData, e);
            }
            }
            updateRecognitionLocked(modelData, true);
        }
        }
    }
    }


@@ -955,7 +954,7 @@ public class SoundTriggerHelper implements SoundTrigger.StatusListener {


    private int updateRecognitionLocked(ModelData model, boolean notifyClientOnError) {
    private int updateRecognitionLocked(ModelData model, boolean notifyClientOnError) {
        boolean shouldStartModel = model.isRequested() && isRecognitionAllowedByDeviceState(model);
        boolean shouldStartModel = model.isRequested() && isRecognitionAllowedByDeviceState(model);
        if (shouldStartModel == model.isModelStarted() || model.isStopPending()) {
        if (shouldStartModel == model.isModelStarted()) {
            // No-op.
            // No-op.
            return STATUS_OK;
            return STATUS_OK;
        }
        }
@@ -1060,10 +1059,7 @@ public class SoundTriggerHelper implements SoundTrigger.StatusListener {
        if (mModule == null) {
        if (mModule == null) {
            return;
            return;
        }
        }
        if (modelData.isStopPending()) {
        if (modelData.isModelStarted()) {
            // No need to wait for the stop to be confirmed.
            modelData.setStopped();
        } else if (modelData.isModelStarted()) {
            Slog.d(TAG, "Stopping previously started dangling model " + modelData.getHandle());
            Slog.d(TAG, "Stopping previously started dangling model " + modelData.getHandle());
            if (mModule.stopRecognition(modelData.getHandle()) == STATUS_OK) {
            if (mModule.stopRecognition(modelData.getHandle()) == STATUS_OK) {
                modelData.setStopped();
                modelData.setStopped();
@@ -1275,7 +1271,7 @@ public class SoundTriggerHelper implements SoundTrigger.StatusListener {
                }
                }
            }
            }
        } else {
        } else {
            modelData.setStopPending();
            modelData.setStopped();
            MetricsLogger.count(mContext, "sth_stop_recognition_success", 1);
            MetricsLogger.count(mContext, "sth_stop_recognition_success", 1);
            // Notify of pause if needed.
            // Notify of pause if needed.
            if (notify) {
            if (notify) {
@@ -1322,9 +1318,6 @@ public class SoundTriggerHelper implements SoundTrigger.StatusListener {
        // Started implies model was successfully loaded and start was called.
        // Started implies model was successfully loaded and start was called.
        static final int MODEL_STARTED = 2;
        static final int MODEL_STARTED = 2;


        // Model stop request has been sent. Waiting for an event to signal model being stopped.
        static final int MODEL_STOP_PENDING = 3;

        // One of MODEL_NOTLOADED, MODEL_LOADED, MODEL_STARTED (which implies loaded).
        // One of MODEL_NOTLOADED, MODEL_LOADED, MODEL_STARTED (which implies loaded).
        private int mModelState;
        private int mModelState;
        private UUID mModelId;
        private UUID mModelId;
@@ -1402,10 +1395,6 @@ public class SoundTriggerHelper implements SoundTrigger.StatusListener {
            return mModelState == MODEL_NOTLOADED;
            return mModelState == MODEL_NOTLOADED;
        }
        }


        synchronized boolean isStopPending() {
            return mModelState == MODEL_STOP_PENDING;
        }

        synchronized void setStarted() {
        synchronized void setStarted() {
            mModelState = MODEL_STARTED;
            mModelState = MODEL_STARTED;
        }
        }
@@ -1414,10 +1403,6 @@ public class SoundTriggerHelper implements SoundTrigger.StatusListener {
            mModelState = MODEL_LOADED;
            mModelState = MODEL_LOADED;
        }
        }


        synchronized void setStopPending() {
            mModelState = MODEL_STOP_PENDING;
        }

        synchronized void setLoaded() {
        synchronized void setLoaded() {
            mModelState = MODEL_LOADED;
            mModelState = MODEL_LOADED;
        }
        }