diff options
author | Kiran Kelageri <kkelageri@codeaurora.org> | 2014-08-23 14:38:19 -0700 |
---|---|---|
committer | Kiran Kelageri <kkelageri@codeaurora.org> | 2014-08-27 14:41:20 -0700 |
commit | 83d78f5f6ef3c98cee35f0edc97271472ea07ec2 (patch) | |
tree | 647abf0855af8331bffa95b9da42e96eac19916a | |
parent | caeeb9b9ceeaee55278a934ba3a6f093e0a103fd (diff) | |
download | android_packages_apps_BluetoothExt-83d78f5f6ef3c98cee35f0edc97271472ea07ec2.tar.gz android_packages_apps_BluetoothExt-83d78f5f6ef3c98cee35f0edc97271472ea07ec2.tar.bz2 android_packages_apps_BluetoothExt-83d78f5f6ef3c98cee35f0edc97271472ea07ec2.zip |
Bluetooth-wipower: Enabling A4WP Profile.
Changes have been made to enable A4WP profile and
adevrtising API based on the Google peripheral code changes.
Change-Id: I60a9ebf70da5f073a2046a407ddf8cc0a4f74399
CRs-fixed: 713981
-rw-r--r-- | Android.mk | 4 | ||||
-rw-r--r-- | AndroidManifest.xml | 4 | ||||
-rw-r--r-- | src/org/codeaurora/bluetooth/a4wp/A4wpService.java | 44 |
3 files changed, 30 insertions, 22 deletions
@@ -7,7 +7,7 @@ src_dirs:= src/org/codeaurora/bluetooth/btcservice \ src/org/codeaurora/bluetooth/dun \ src/org/codeaurora/bluetooth/sap \ src/org/codeaurora/bluetooth/pxpservice \ - #src/org/codeaurora/bluetooth/a4wp + src/org/codeaurora/bluetooth/a4wp LOCAL_SRC_FILES := \ $(call all-java-files-under, $(src_dirs)) \ @@ -18,7 +18,7 @@ LOCAL_CERTIFICATE := platform LOCAL_JAVA_LIBRARIES := javax.obex LOCAL_JAVA_LIBRARIES += mms-common LOCAL_JAVA_LIBRARIES += telephony-common -#LOCAL_JAVA_LIBRARIES += com.quicinc.wbc +LOCAL_JAVA_LIBRARIES += com.quicinc.wbc LOCAL_STATIC_JAVA_LIBRARIES := com.android.vcard diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 21d156b..1e05e3b 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -186,7 +186,7 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. <action android:name="org.codeaurora.bluetooth.pxpservice.PxpMonitorService" /> </intent-filter> </service> -<!-- + <service android:process="@string/process" android:exported="true" @@ -200,6 +200,6 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. <action android:name="android.bluetooth.adapter.action.STATE_CHANGED" /> </intent-filter> </receiver> ---> + </application> </manifest> diff --git a/src/org/codeaurora/bluetooth/a4wp/A4wpService.java b/src/org/codeaurora/bluetooth/a4wp/A4wpService.java index fd1ff05..5bbe1fb 100644 --- a/src/org/codeaurora/bluetooth/a4wp/A4wpService.java +++ b/src/org/codeaurora/bluetooth/a4wp/A4wpService.java @@ -76,17 +76,17 @@ public class A4wpService extends Service private BluetoothAdapter mBluetoothAdapter = null; private BluetoothGattServer mBluetoothGattServer = null; private BluetoothDevice mDevice = null; - private static final UUID A4WP_SERVICE_UUID = UUID.fromString("6455e670-a146-11e2-9e96-0800200cfffe"); + + private static final UUID A4WP_SERVICE_UUID = UUID.fromString("6455fffe-a146-11e2-9e96-0800200c9a67"); //PRU writes private static final UUID A4WP_PRU_CTRL_UUID = UUID.fromString("6455e670-a146-11e2-9e96-0800200c9a67"); - private static final UUID A4WP_PTU_STATIC_UUID = UUID.fromString("6455e670-a146-11e2-9e96-0800200c9a68"); + private static final UUID A4WP_PTU_STATIC_UUID = UUID.fromString("6455e671-a146-11e2-9e96-0800200c9a67"); //PRU reads - private static final UUID A4WP_PRU_ALERT_UUID = UUID.fromString("6455e670-a146-11e2-9e96-0800200c9a69"); - private static final UUID A4WP_PRU_STATIC_UUID = UUID.fromString("6455e670-a146-11e2-9e96-0800200c9a70"); - private static final UUID A4WP_PRU_DYNAMIC_UUID = UUID.fromString("6455e670-a146-11e2-9e96-0800200c9a71"); + private static final UUID A4WP_PRU_ALERT_UUID = UUID.fromString("6455e672-a146-11e2-9e96-0800200c9a67"); + private static final UUID A4WP_PRU_STATIC_UUID = UUID.fromString("6455e673-a146-11e2-9e96-0800200c9a67"); + private static final UUID A4WP_PRU_DYNAMIC_UUID = UUID.fromString("6455e674-a146-11e2-9e96-0800200c9a67"); - private static final UUID A4WP_PRU_ALERT_DESC_UUID = UUID.fromString("6455e670-a146-11e2-9e96-0800200c9a69"); - //CHECK: Using the Alert UUID for now + private static final UUID A4WP_PRU_ALERT_DESC_UUID = UUID.fromString("6455e672-a146-11e2-9e96-0800200c9a67"); private static final Object mLock = new Object(); private int mState = BluetoothProfile.STATE_DISCONNECTED; @@ -122,7 +122,7 @@ public class A4wpService extends Service private AdvertiseData mAdvertisementData; private BluetoothLeAdvertiser mAdvertiser; private AdvertiseCallback mAdvertiseCallback = new myAdvertiseCallback(1); - ParcelUuid uuid1 = ParcelUuid.fromString("6455e670-a146-11e2-9e96-0800200cfffe"); + ParcelUuid uuid1 = ParcelUuid.fromString("6455fffe-a146-11e2-9e96-0800200c9a67"); private WbcManager.WbcEventListener mWbcCallback = new WbcManager.WbcEventListener() { @@ -670,13 +670,13 @@ public class A4wpService extends Service mIndex = index; } - //@Override - public void onSuccess(AdvertiseSettings settingsInEffect) { + @Override + public void onStartSuccess(AdvertiseSettings settingsInEffect) { Log.d(LOGTAG, "advertise success " + mIndex); } - //@Override - public void onFailure(int errorCode) { + @Override + public void onStartFailure(int errorCode) { Log.d(LOGTAG, "advetise failure " + mIndex); } } @@ -684,21 +684,29 @@ public class A4wpService extends Service private void StartAdvertising() { + /* serviceData represnts service data for Wipower that needs + to be part of advertising, + 0x28 i& 0x00 represents the primary based handle + 0xFF and 0x60 represents: + ADV Flags are set to: CAT3 PRU 21, Reboot bit and OVP indicator + */ byte[] serviceData = new byte[] { - (byte)0xfe, (byte)0xff, 0x28, 0x00, (byte)0xff, 0x60 }; + 0x28, 0x00, (byte)0xff, 0x60 }; mAdvertiser = mBluetoothAdapter.getBluetoothLeAdvertiser(); mAdvertisementData = new AdvertiseData.Builder() - .setServiceData(uuid1, serviceData).build(); + .addServiceData(uuid1, serviceData).build(); mAdvertiseSettings = new AdvertiseSettings.Builder() - .setAdvertiseMode(AdvertiseSettings.ADVERTISE_MODE_WIPOWER_LATENCY) + .setAdvertiseMode(AdvertiseSettings.ADVERTISE_MODE_LOW_POWER) .setTxPowerLevel(AdvertiseSettings.ADVERTISE_TX_POWER_ULTRA_LOW) .setIsConnectable(true).build(); - //.setType(AdvertiseSettings.ADVERTISE_TYPE_CONNECTABLE).build(); Log.d(LOGTAG, " Calling mAdvertiser.startAdvertising"); - mAdvertiser.startAdvertising(mAdvertiseSettings, mAdvertisementData, mAdvertiseCallback); + if(mAdvertiser != null) + mAdvertiser.startAdvertising(mAdvertiseSettings, mAdvertisementData, mAdvertiseCallback); + else + Log.d(LOGTAG, " mAdvertiser is null"); } private void stopAdvertising() @@ -820,7 +828,7 @@ public class A4wpService extends Service Log.d(LOGTAG, "onStart Command called!!"); //mWipowerBoot is used to hold power enable command till the service is been registered completely - if (mWipowerBoot == true) { + if (mWipowerBoot == true && mWipowerManager != null) { if (mChargeComplete == true) { mWipowerManager.enablePowerApply(true, true, true); } else { |