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

Commit 9e313513 authored by Atneya Nair's avatar Atneya Nair
Browse files

Temporarily allow STHelper without module

This is required to pass CTS tests which run on devices which do
not have a STHAL. This workaround should be removed when the tests are
changed to use a mock HAL. Tracking bug: b/269165460

Test: VIS CTS tests
Change-Id: I0b2dbfb6d415a1e89eed55c1db249ba7ebebb893
parent 1cfbb3b4
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
@@ -77,6 +77,9 @@ public class SoundTriggerHelper implements SoundTrigger.StatusListener {
    static final String TAG = "SoundTriggerHelper";
    static final boolean DBG = false;

    // Module ID if there is no available module to connect to.
    public static final int INVALID_MODULE_ID = -1;

    /**
     * Return codes for {@link #startRecognition(int, KeyphraseSoundModel,
     *      IRecognitionStatusCallback, RecognitionConfig)},
@@ -138,7 +141,11 @@ public class SoundTriggerHelper implements SoundTrigger.StatusListener {
        mKeyphraseUuidMap = new HashMap<Integer, UUID>();
        mModuleProvider = moduleProvider;
        mModulePropertiesProvider = modulePropertiesProvider;
        if (moduleId == INVALID_MODULE_ID) {
            mModule = null;
        } else {
            mModule = mModuleProvider.apply(this);
        }
        Looper looper = Looper.myLooper();
        if (looper == null) {
            looper = Looper.getMainLooper();
+9 −5
Original line number Diff line number Diff line
@@ -215,7 +215,7 @@ public class SoundTriggerService extends SystemService {
        }
    }

    private SoundTriggerHelper newSoundTriggerHelper(@NonNull ModuleProperties moduleProperties) {
    private SoundTriggerHelper newSoundTriggerHelper(ModuleProperties moduleProperties) {
        Identity middlemanIdentity = new Identity();
        middlemanIdentity.packageName = ActivityThread.currentOpPackageName();
        Identity originatorIdentity = IdentityContext.getNonNull();
@@ -224,11 +224,15 @@ public class SoundTriggerService extends SystemService {
        SoundTrigger.listModulesAsMiddleman(moduleList, middlemanIdentity,
                                        originatorIdentity);

        // Don't fail existing CTS tests which run without a ST module
        final int moduleId = (moduleProperties != null) ?
                moduleProperties.getId() : SoundTriggerHelper.INVALID_MODULE_ID;

        if (moduleId != SoundTriggerHelper.INVALID_MODULE_ID) {
            if (!moduleList.contains(moduleProperties)) {
                throw new IllegalArgumentException("Invalid module properties");
            }

        int moduleId = moduleProperties.getId();
        }

        return new SoundTriggerHelper(
                mContext,