Pebble: allow sending data to the pebble during installation on FW >= 3.0

It seems to be no problem to recieve notifications etc during app installation with non legacy firmwares :)
here
Andreas Shimokawa 2016-12-16 23:47:59 +01:00
parent 375aa491d4
commit 2b3592f354
1 changed files with 9 additions and 8 deletions

View File

@ -486,10 +486,11 @@ class PebbleIoThread extends GBDeviceIoThread {
if (bytes == null) {
return;
}
// block writes if app installation in in progress
if (mIsConnected && (!mIsInstalling || mInstallState == PebbleAppInstallState.WAIT_SLOT)) {
write_real(bytes);
// on FW < 3.0 block writes if app installation in in progress
if (!mIsConnected || (mPebbleProtocol.mFwMajor < 3 && mIsInstalling && mInstallState != PebbleAppInstallState.WAIT_SLOT)) {
return;
}
write_real(bytes);
}
// FIXME: parts are supporsed to be generic code
@ -500,7 +501,7 @@ class PebbleIoThread extends GBDeviceIoThread {
LOG.info("syncing time");
write(mPebbleProtocol.encodeSetTime());
}
write(mPebbleProtocol.encodeEnableAppLogs(prefs.getBoolean("pebble_enable_applogs",false)));
write(mPebbleProtocol.encodeEnableAppLogs(prefs.getBoolean("pebble_enable_applogs", false)));
write(mPebbleProtocol.encodeReportDataLogSessions());
gbDevice.setState(GBDevice.State.INITIALIZED);
return false;
@ -603,10 +604,6 @@ class PebbleIoThread extends GBDeviceIoThread {
}
void installApp(Uri uri, int appId) {
if (mIsInstalling) {
return;
}
if (uri.equals(Uri.parse("fake://health"))) {
write(mPebbleProtocol.encodeActivateHealth(true));
write(mPebbleProtocol.encodeSetSaneDistanceUnit(true));
@ -617,6 +614,10 @@ class PebbleIoThread extends GBDeviceIoThread {
return;
}
if (mIsInstalling) {
return;
}
String platformName = PebbleUtils.getPlatformName(gbDevice.getModel());
try {