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

Commit f6a4bf4a authored by Prerepa Viswanadham's avatar Prerepa Viswanadham
Browse files

LE: Add API to set scan interval and window (3/4)

Drop client_if from api
Change-Id: I5ad339573c5fec28b22d8c4c5949eaf0d4d118aa
parent 676ea007
Loading
Loading
Loading
Loading
+8 −1
Original line number Original line Diff line number Diff line
@@ -1100,6 +1100,12 @@ static void gattSetAdvDataNative(JNIEnv *env, jobject object, jint client_if, jb
    env->ReleaseByteArrayElements(serviceUuid, service_uuid, JNI_ABORT);
    env->ReleaseByteArrayElements(serviceUuid, service_uuid, JNI_ABORT);
}
}


static void gattSetScanParametersNative(JNIEnv* env, jobject object,
                                        jint scan_interval, jint scan_window)
{
    if (!sGattIf) return;
    sGattIf->client->set_scan_parameters(scan_interval, scan_window);
}


static void gattClientConfigureMTUNative(JNIEnv *env, jobject object,
static void gattClientConfigureMTUNative(JNIEnv *env, jobject object,
        jint conn_id, jint mtu)
        jint conn_id, jint mtu)
@@ -1339,7 +1345,8 @@ static JNINativeMethod sMethods[] = {
    {"gattServerSendResponseNative", "(IIIIII[BI)V", (void *) gattServerSendResponseNative},
    {"gattServerSendResponseNative", "(IIIIII[BI)V", (void *) gattServerSendResponseNative},


    {"gattSetAdvDataNative", "(IZZZIII[B[B[B)V", (void *) gattSetAdvDataNative},
    {"gattSetAdvDataNative", "(IZZZIII[B[B[B)V", (void *) gattSetAdvDataNative},
    {"gattTestNative", "(IJJLjava/lang/String;IIIII)V", (void *) gattTestNative}
    {"gattSetScanParametersNative", "(II)V", (void *) gattSetScanParametersNative},
    {"gattTestNative", "(IJJLjava/lang/String;IIIII)V", (void *) gattTestNative},
};
};


int register_com_android_bluetooth_gatt(JNIEnv* env)
int register_com_android_bluetooth_gatt(JNIEnv* env)
+15 −0
Original line number Original line Diff line number Diff line
@@ -421,6 +421,12 @@ public class GattService extends ProfileService {
            service.configureMTU(clientIf, address, mtu);
            service.configureMTU(clientIf, address, mtu);
        }
        }


        public void setScanParameters(int clientIf, int scan_interval, int scan_window) {
            GattService service = getService();
            if (service == null) return;
            service.setScanParameters(clientIf, scan_interval, scan_window);
        }

        public void registerServer(ParcelUuid uuid, IBluetoothGattServerCallback callback) {
        public void registerServer(ParcelUuid uuid, IBluetoothGattServerCallback callback) {
            GattService service = getService();
            GattService service = getService();
            if (service == null) return;
            if (service == null) return;
@@ -1412,6 +1418,13 @@ public class GattService extends ProfileService {
        }
        }
    }
    }


    void setScanParameters(int clientIf, int scan_interval, int scan_window) {
        enforceCallingOrSelfPermission(BLUETOOTH_PERM, "Need BLUETOOTH permission");
        if (DBG) Log.d(TAG, "setScanParameters() - interval=" + scan_interval
                            + " window=" + scan_window);
        gattSetScanParametersNative(scan_interval, scan_window);
    }

    /**************************************************************************
    /**************************************************************************
     * Callback functions - SERVER
     * Callback functions - SERVER
     *************************************************************************/
     *************************************************************************/
@@ -2087,6 +2100,8 @@ public class GattService extends ProfileService {
            boolean inclTxPower, int minInterval, int maxInterval,
            boolean inclTxPower, int minInterval, int maxInterval,
            int appearance, byte[] manufacturerData, byte[] serviceData, byte[] serviceUuid);
            int appearance, byte[] manufacturerData, byte[] serviceData, byte[] serviceUuid);


    private native void gattSetScanParametersNative(int scan_interval, int scan_window);

    private native void gattServerRegisterAppNative(long app_uuid_lsb,
    private native void gattServerRegisterAppNative(long app_uuid_lsb,
                                                    long app_uuid_msb);
                                                    long app_uuid_msb);