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

Commit 6d58ab27 authored by Kiran Kelageri's avatar Kiran Kelageri Committed by Linux Build Service Account
Browse files

Bluetooth: Enable SSR.

Enabling SSR feature.

Change-Id: I142de8bab73108cefd00d6389eddf6eece7c0c58
parent 48723f88
Loading
Loading
Loading
Loading
+23 −0
Original line number Diff line number Diff line
@@ -743,6 +743,28 @@ static bool cleanupNative(JNIEnv *env, jobject obj) {
    return JNI_TRUE;
}

static bool ssrcleanupNative(JNIEnv *env, jobject obj, jboolean cleanup) {
    ALOGV("%s:",__FUNCTION__);

    jboolean result = JNI_FALSE;
    if (!sBluetoothInterface) return result;

    sBluetoothInterface->ssrcleanup();
    ALOGI("%s: return from cleanup",__FUNCTION__);
    if (cleanup == JNI_TRUE) {
        ALOGI("%s: SSR Cleanup - DISABLE Timeout   ",__FUNCTION__);
        if (sJniCallbacksObj) {
            env->DeleteGlobalRef(sJniCallbacksObj);
            sJniCallbacksObj = NULL;
        }
        if (sJniAdapterServiceObj) {
            env->DeleteGlobalRef(sJniAdapterServiceObj);
            sJniAdapterServiceObj = NULL;
        }
    }
    return JNI_TRUE;
}

static jboolean enableNative(JNIEnv* env, jobject obj) {
    ALOGV("%s:",__FUNCTION__);

@@ -1237,6 +1259,7 @@ static JNINativeMethod sMethods[] = {
    {"classInitNative", "()V", (void *) classInitNative},
    {"initNative", "()Z", (void *) initNative},
    {"cleanupNative", "()V", (void*) cleanupNative},
    {"ssrcleanupNative", "(Z)V", (void*) ssrcleanupNative},
    {"enableNative", "()Z",  (void*) enableNative},
    {"disableNative", "()Z",  (void*) disableNative},
    {"setAdapterPropertyNative", "(I[B)Z", (void*) setAdapterPropertyNative},
+1 −0
Original line number Diff line number Diff line
@@ -2325,6 +2325,7 @@ public class AdapterService extends Service {
    private native static void classInitNative();
    private native boolean initNative();
    private native void cleanupNative();
    /*package*/ native void ssrcleanupNative(boolean cleanup);
    /*package*/ native boolean enableNative();
    /*package*/ native boolean disableNative();
    /*package*/ native boolean setAdapterPropertyNative(int type, byte[] val);
+2 −0
Original line number Diff line number Diff line
@@ -441,6 +441,7 @@ final class AdapterState extends StateMachine {

                case ENABLE_TIMEOUT:
                    errorLog("Error enabling Bluetooth (enable timeout)");
                    adapterService.ssrcleanupNative(false);
                    mPendingCommandState.setBleTurningOn(false);
                    transitionTo(mOffState);
                    adapterService.stopProfileServices();
@@ -468,6 +469,7 @@ final class AdapterState extends StateMachine {
                    adapterService.stopProfileServices();
                    adapterService.stopGattProfileService();
                    mPendingCommandState.setTurningOff(false);
                    adapterService.ssrcleanupNative(true);
                    setBleTurningOff(false);
                    transitionTo(mOffState);
                    notifyAdapterStateChange(BluetoothAdapter.STATE_OFF);