diff --git a/src/android/verification/SensorControlForegroundDelegate.java b/src/android/verification/SensorControlForegroundDelegate.java index 14b5617..b191913 100644 --- a/src/android/verification/SensorControlForegroundDelegate.java +++ b/src/android/verification/SensorControlForegroundDelegate.java @@ -5,7 +5,6 @@ import edu.berkeley.eecs.emission.cordova.tracker.Constants; import edu.berkeley.eecs.emission.cordova.unifiedlogger.Log; -import edu.berkeley.eecs.emission.cordova.usercache.UserCacheFactory; /* @@ -777,18 +776,11 @@ public void onActivityResult(int requestCode, int resultCode, Intent data) { case SensorControlConstants.ENABLE_NOTIFICATIONS: Log.d(mAct, TAG, requestCode + " is our code, handling callback"); Log.d(mAct, TAG, "Got notification callback from launching app settings"); - try { - JSONObject jo = new JSONObject(); - jo.put("ts", System.currentTimeMillis() / 1000); - UserCacheFactory.getUserCache(cordova.getActivity()).putLocalStorage(HAS_REQUESTED_NOTIFS_KEY, jo); - if (SensorControlChecks.checkNotificationsEnabled(cordova.getActivity())) { - SensorControlBackgroundChecker.restartFSMIfStartState(cordova.getActivity()); - cordovaCallback.success(); - } else { - cordovaCallback.error(cordova.getActivity().getString(R.string.notifications_blocked)); - } - } catch (JSONException e) { - cordovaCallback.error(e.getLocalizedMessage()); + if (SensorControlChecks.checkNotificationsEnabled(cordova.getActivity())) { + SensorControlBackgroundChecker.restartFSMIfStartState(cordova.getActivity()); + cordovaCallback.success(); + } else { + cordovaCallback.error(cordova.getActivity().getString(R.string.notifications_blocked)); } break; case SensorControlConstants.REMOVE_UNUSED_APP_RESTRICTIONS: diff --git a/src/ios/Verification/SensorControlForegroundDelegate.m b/src/ios/Verification/SensorControlForegroundDelegate.m index b71e525..03fdc03 100644 --- a/src/ios/Verification/SensorControlForegroundDelegate.m +++ b/src/ios/Verification/SensorControlForegroundDelegate.m @@ -4,8 +4,6 @@ #import "LocalNotificationManager.h" #import "BEMAppDelegate.h" #import "BEMActivitySync.h" -#import "BEMBuiltinUserCache.h" -#import "DataUtils.h" #import @@ -264,11 +262,12 @@ - (void)checkAndPromptNotificationPermission { NSString* callbackId = [command callbackId]; @try { // If we have prompted in the past, the popup will not work. Instead, we'll open app settings - if ([[BuiltinUserCache database] getLocalStorage:HAS_REQUESTED_NOTIFS_KEY withMetadata:NO] != NULL) { + if ([[NSUserDefaults standardUserDefaults] boolForKey:HAS_REQUESTED_NOTIFS_KEY]) { NSLog(@"Already prompted request for user notification. Launching app settings."); [AppDelegate registerForegroundDelegate:self]; [self openAppSettings]; } else { + [[NSUserDefaults standardUserDefaults] setBool:YES forKey:HAS_REQUESTED_NOTIFS_KEY]; if ([UIApplication instancesRespondToSelector:@selector(registerUserNotificationSettings:)]) { NSLog(@"Requesting user notification settings"); UIUserNotificationSettings* requestedSettings = [TripDiarySensorControlChecks REQUESTED_NOTIFICATION_TYPES]; @@ -287,9 +286,6 @@ - (void)checkAndPromptNotificationPermission { } - (void) didRegisterUserNotificationSettings:(UIUserNotificationSettings*)newSettings { - NSDate* now = [NSDate date]; - [[BuiltinUserCache database] putLocalStorage:HAS_REQUESTED_NOTIFS_KEY - jsonValue:@{ @"ts": @(now.timeIntervalSince1970) }]; NSString* callbackId = [command callbackId]; UIUserNotificationSettings* requestedSettings = [TripDiarySensorControlChecks REQUESTED_NOTIFICATION_TYPES]; if (requestedSettings.types == newSettings.types) {