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

Commit 1be70235 authored by Ytai Ben-tsvi's avatar Ytai Ben-tsvi Committed by Android (Google) Code Review
Browse files

Merge changes from topic "sthal-aidl"

* changes:
  Rearrange soundtrigger3 directory structure
  Update STHAL mock sysprop to integer
  Add sthal_cli_3
  Introduce soundtrigger HAL v3
parents 993f9180 316f2fa1
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -527,6 +527,14 @@
            <instance>default</instance>
        </interface>
    </hal>
    <hal format="aidl" optional="true">
         <name>android.hardware.soundtrigger3</name>
         <version>1</version>
         <interface>
             <name>ISoundTriggerHw</name>
             <instance>default</instance>
         </interface>
    </hal>
    <hal format="hidl" optional="true">
        <name>android.hardware.tetheroffload.config</name>
        <version>1.0</version>
+2 −2
Original line number Diff line number Diff line
@@ -61,7 +61,7 @@ public class SthalCli {
            mService.registerAsService("mock");

            System.out.println("Rebooting STHAL");
            SystemProperties.set("debug.soundtrigger_middleware.use_mock_hal", "true");
            SystemProperties.set("debug.soundtrigger_middleware.use_mock_hal", "2");
            SystemProperties.set("sys.audio.restart.hal", "1");

            while (processCommand()) ;
@@ -74,7 +74,7 @@ public class SthalCli {

    private static void cleanup() {
        System.out.println("Cleaning up.");
        SystemProperties.set("debug.soundtrigger_middleware.use_mock_hal", "false");
        SystemProperties.set("debug.soundtrigger_middleware.use_mock_hal", null);
        HwBinder.setTrebleTestingOverride(false);
    }

+28 −0
Original line number Diff line number Diff line
aidl_interface {
    name: "android.hardware.soundtrigger3",
    vendor_available: true,
    flags: ["-Werror", "-Weverything", ],
    srcs: [
        "android/hardware/soundtrigger3/ISoundTriggerHw.aidl",
        "android/hardware/soundtrigger3/ISoundTriggerHwCallback.aidl",
        "android/hardware/soundtrigger3/ISoundTriggerHwGlobalCallback.aidl",
    ],
    stability: "vintf",
    imports: [
        "android.media.soundtrigger.types",
    ],
    backend: {
        cpp: {
            // prefer NDK backend which can be used anywhere
            enabled: false,
        },
        java: {
            sdk_version: "module_current",
        },
        ndk: {
            vndk: {
                enabled: true,
            },
        },
    },
}
+48 −0
Original line number Diff line number Diff line
/*
 * Copyright 2021 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
///////////////////////////////////////////////////////////////////////////////
// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
///////////////////////////////////////////////////////////////////////////////

// This file is a snapshot of an AIDL file. Do not edit it manually. There are
// two cases:
// 1). this is a frozen version file - do not edit this in any case.
// 2). this is a 'current' file. If you make a backwards compatible change to
//     the interface (from the latest frozen version), the build system will
//     prompt you to update this file with `m <name>-update-api`.
//
// You must not make a backward incompatible change to any AIDL file built
// with the aidl_interface module type with versions property set. The module
// type is used to build AIDL files in a way that they can be used across
// independently updatable components of the system. If a device is shipped
// with such a backward incompatible change, it has a high risk of breaking
// later when a module using the interface is updated, e.g., Mainline modules.

package android.hardware.soundtrigger3;
@VintfStability
interface ISoundTriggerHw {
  android.media.soundtrigger.Properties getProperties();
  void registerGlobalCallback(in android.hardware.soundtrigger3.ISoundTriggerHwGlobalCallback callback);
  int loadSoundModel(in android.media.soundtrigger.SoundModel soundModel, in android.hardware.soundtrigger3.ISoundTriggerHwCallback callback);
  int loadPhraseSoundModel(in android.media.soundtrigger.PhraseSoundModel soundModel, in android.hardware.soundtrigger3.ISoundTriggerHwCallback callback);
  void unloadSoundModel(in int modelHandle);
  void startRecognition(in int modelHandle, in int deviceHandle, in int ioHandle, in android.media.soundtrigger.RecognitionConfig config);
  void stopRecognition(in int modelHandle);
  void forceRecognitionEvent(in int modelHandle);
  @nullable android.media.soundtrigger.ModelParameterRange queryParameter(in int modelHandle, in android.media.soundtrigger.ModelParameter modelParam);
  int getParameter(in int modelHandle, in android.media.soundtrigger.ModelParameter modelParam);
  void setParameter(in int modelHandle, in android.media.soundtrigger.ModelParameter modelParam, in int value);
}
+40 −0
Original line number Diff line number Diff line
/*
 * Copyright 2021 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
///////////////////////////////////////////////////////////////////////////////
// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
///////////////////////////////////////////////////////////////////////////////

// This file is a snapshot of an AIDL file. Do not edit it manually. There are
// two cases:
// 1). this is a frozen version file - do not edit this in any case.
// 2). this is a 'current' file. If you make a backwards compatible change to
//     the interface (from the latest frozen version), the build system will
//     prompt you to update this file with `m <name>-update-api`.
//
// You must not make a backward incompatible change to any AIDL file built
// with the aidl_interface module type with versions property set. The module
// type is used to build AIDL files in a way that they can be used across
// independently updatable components of the system. If a device is shipped
// with such a backward incompatible change, it has a high risk of breaking
// later when a module using the interface is updated, e.g., Mainline modules.

package android.hardware.soundtrigger3;
@VintfStability
interface ISoundTriggerHwCallback {
  void modelUnloaded(in int model);
  void phraseRecognitionCallback(in int model, in android.media.soundtrigger.PhraseRecognitionEvent event);
  void recognitionCallback(in int model, in android.media.soundtrigger.RecognitionEvent event);
}
Loading