summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKiran Kelageri <kkelageri@codeaurora.org>2014-08-23 14:38:19 -0700
committerKiran Kelageri <kkelageri@codeaurora.org>2014-08-27 14:41:20 -0700
commit83d78f5f6ef3c98cee35f0edc97271472ea07ec2 (patch)
tree647abf0855af8331bffa95b9da42e96eac19916a
parentcaeeb9b9ceeaee55278a934ba3a6f093e0a103fd (diff)
downloadandroid_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.mk4
-rw-r--r--AndroidManifest.xml4
-rw-r--r--src/org/codeaurora/bluetooth/a4wp/A4wpService.java44
3 files changed, 30 insertions, 22 deletions
diff --git a/Android.mk b/Android.mk
index ae04192..b04e23b 100644
--- a/Android.mk
+++ b/Android.mk
@@ -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 {