Skip to content

Instantly share code, notes, and snippets.

@hi-manshu
Created July 24, 2017 07:30
Show Gist options
  • Save hi-manshu/70649c274e1ddb029eb4f61294a5c432 to your computer and use it in GitHub Desktop.
Save hi-manshu/70649c274e1ddb029eb4f61294a5c432 to your computer and use it in GitHub Desktop.
@Override
public void onCreate() {
super.onCreate();
realmInit();
onTimeLaunch = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
boolean isFirstRun = onTimeLaunch.getBoolean("FIRSTRUN", true);
if (isFirstRun) {
// Code to run once
firebaseJobDispatcherFirstTimePedometer();
} else {
firebaseJobDispactherRemainingTimesPedometer();
}
}
private void firebaseJobDispactherRemainingTimesPedometer() {
FirebaseJobDispatcher dispatcher = new FirebaseJobDispatcher(new GooglePlayDriver(this));
dispatcher.mustSchedule(
dispatcher.newJobBuilder()
.setService(PedometerServiceJobScheduler.class)
.setTag(PedometerServiceJobScheduler.TAG)
.setRecurring(true)
.setTrigger(Trigger.executionWindow(24 * 60 * 60, 24 * 60 * 60 + 180))
.build()
);
}
private void firebaseJobDispatcherFirstTimePedometer() {
Calendar c = Calendar.getInstance();
long now = c.getTimeInMillis();
c.set(Calendar.HOUR_OF_DAY, 0);
c.set(Calendar.MINUTE, 0);
c.set(Calendar.SECOND, 0);
c.set(Calendar.MILLISECOND, 0);
passed = now - c.getTimeInMillis();
longInInt = (int) passed;
secondsPassed = longInInt / 1000;
secondsLeft = 86340 - secondsPassed;
Log.d("SecondLeft", String.valueOf(secondsLeft));
FirebaseJobDispatcher dispatcher = new FirebaseJobDispatcher(new GooglePlayDriver(this));
dispatcher.mustSchedule(
dispatcher.newJobBuilder()
.setService(PedometerServiceJobScheduler.class)
.setTag(PedometerServiceJobScheduler.TAG)
.setRecurring(true)
.setTrigger(Trigger.executionWindow(secondsLeft, secondsLeft + 180))
.build()
);
SharedPreferences.Editor editor = onTimeLaunch.edit();
editor.putBoolean("FIRSTRUN", false);
editor.commit();
}
private void realmInit() {
Realm.init(this);
RealmConfiguration config = new RealmConfiguration.Builder().build();
Realm.setDefaultConfiguration(config);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment