private boolean clearBlinkupData(final Activity activity, final BlinkupController controller) { PreferencesHelper.setPlanId(activity, null); sClearCache = true; controller.intentClearComplete = new Intent(activity, ClearCompleteActivity.class); // default is to run on WebCore thread, clearing shows UI so needs UI thread activity.runOnUiThread( new Runnable() { @Override public void run() { controller.clearDevice(activity); } }); return true; }
/** * ******************************************************** shows BlinkUpPlugin activity and * handles appropriate callbacks ******************************************************** */ private void presentBlinkUp(Activity activity, BlinkupController controller) { // show toast if can't acquire token final BlinkupController.TokenAcquireCallback tokenAcquireCallback = new BlinkupController.TokenAcquireCallback() { @Override public void onSuccess(String planId, String id) {} @Override public void onError(String s) { Log.e(TAG, s); } }; // send back error if connectivity issue BlinkupController.ServerErrorHandler serverErrorHandler = new BlinkupController.ServerErrorHandler() { @Override public void onError(String s) { BlinkUpPluginResult.sendPluginErrorToCallback(ERROR_VERIFY_API_KEY_FAIL); } }; // load cached planId if available. Otherwise, SDK generates new one automatically // see electricimp.com/docs/manufacturing/planids/ for info about planIDs if (!mGeneratePlanId) { if (org.apache.cordova.BuildConfig.DEBUG && !TextUtils.isEmpty(mDeveloperPlanId)) { controller.setPlanID(mDeveloperPlanId); } else { String planId = PreferencesHelper.getPlanId(activity); controller.setPlanID(planId); } } controller.acquireSetupToken(activity, mApiKey, tokenAcquireCallback); controller.selectWifiAndSetupDevice(activity, mApiKey, serverErrorHandler); }