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