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

Commit f3019f8a authored by Zach Johnson's avatar Zach Johnson
Browse files

Publish AG audio route policy to native layers

Bug: 32958838
Test: manual
Change-Id: I97ec6e38b4f3243548732d2af644d6f0ad894e97
parent def64aea
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -807,6 +807,18 @@ static jboolean configureWBSNative(JNIEnv* env, jobject object,
  return (status == BT_STATUS_SUCCESS) ? JNI_TRUE : JNI_FALSE;
}

static jboolean setScoAllowedNative(JNIEnv* env, jobject object,
                                    jboolean value) {
  if (!sBluetoothHfpInterface) return JNI_FALSE;

  bt_status_t status =
      sBluetoothHfpInterface->set_sco_allowed(value == JNI_TRUE);
  if (status != BT_STATUS_SUCCESS) {
    ALOGE("Failed HF set sco allowed, status: %d", status);
  }
  return (status == BT_STATUS_SUCCESS) ? JNI_TRUE : JNI_FALSE;
}

static JNINativeMethod sMethods[] = {
    {"classInitNative", "()V", (void*)classInitNative},
    {"initializeNative", "(IZ)V", (void*)initializeNative},
@@ -832,6 +844,7 @@ static JNINativeMethod sMethods[] = {
    {"phoneStateChangeNative", "(IIILjava/lang/String;I)Z",
     (void*)phoneStateChangeNative},
    {"configureWBSNative", "([BI)Z", (void*)configureWBSNative},
    {"setScoAllowedNative", "(Z)Z", (void*)setScoAllowedNative},
};

int register_com_android_bluetooth_hfp(JNIEnv* env) {
+2 −0
Original line number Diff line number Diff line
@@ -2113,6 +2113,7 @@ final class HeadsetStateMachine extends StateMachine {

    public void setAudioRouteAllowed(boolean allowed) {
        mAudioRouteAllowed = allowed;
        setScoAllowedNative(allowed);
    }

    public boolean getAudioRouteAllowed() {
@@ -3427,4 +3428,5 @@ final class HeadsetStateMachine extends StateMachine {
    private native boolean phoneStateChangeNative(
            int numActive, int numHeld, int callState, String number, int type);
    private native boolean configureWBSNative(byte[] address, int condec_config);
    private native boolean setScoAllowedNative(boolean value);
}