From 063d00cc518c49c811487604032a41c5902f7d51 Mon Sep 17 00:00:00 2001 From: Andreas Shimokawa Date: Thu, 25 Aug 2016 01:08:43 +0200 Subject: [PATCH] only launch onboarding after device is initialized and write device to database if not in yet. --- .../activities/ControlCenter.java | 24 +++++++++++-------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/ControlCenter.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/ControlCenter.java index ed09faf7..09d6b6de 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/ControlCenter.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/ControlCenter.java @@ -131,16 +131,6 @@ public class ControlCenter extends GBActivity { } } else { GBApplication.deviceService().connect(gbDevice); - try (DBHandler dbHandler = GBApplication.acquireDB()) { - DaoSession session = dbHandler.getDaoSession(); - - if (DBHelper.findDevice(gbDevice, session) == null) { - Intent startIntent = new Intent(ControlCenter.this, OnboardingActivity.class); - startIntent.putExtra(GBDevice.EXTRA_DEVICE, gbDevice); - startActivity(startIntent); - } - } catch (Exception _ignore) { - } } } }); @@ -348,6 +338,20 @@ public class ControlCenter extends GBActivity { for (GBDevice device : deviceList) { if (device.isConnected() || device.isConnecting()) { connectedDevice = device; + if (device.isInitialized()) { + LOG.info("will try"); + try (DBHandler dbHandler = GBApplication.acquireDB()) { + DaoSession session = dbHandler.getDaoSession(); + + if (DBHelper.findDevice(device, session) == null) { + DBHelper.getDevice(device, session); // implicitly creates it :P + Intent startIntent = new Intent(ControlCenter.this, OnboardingActivity.class); + startIntent.putExtra(GBDevice.EXTRA_DEVICE, device); + startActivity(startIntent); + } + } catch (Exception _ignore) { + } + } break; } }