diff options
author | Jason Monk <jmonk@google.com> | 2016-08-23 12:48:31 -0400 |
---|---|---|
committer | Jason Monk <jmonk@google.com> | 2016-08-31 10:46:47 -0400 |
commit | 946c2b89396554b2618ea5bbaff4652f75768016 (patch) | |
tree | edd2111bc1f58fbbcd2dd449609a5834f036fb69 /packages/EasterEgg | |
parent | 09cb4f2007b3be5971b4a76fa356501c62632640 (diff) |
Start Neko job service after reboot (if needed)
Change-Id: I8350ab922ba534b529876bb73c1023935f5529a9
Fixes: 29922511
Diffstat (limited to 'packages/EasterEgg')
3 files changed, 14 insertions, 5 deletions
diff --git a/packages/EasterEgg/src/com/android/egg/neko/NekoService.java b/packages/EasterEgg/src/com/android/egg/neko/NekoService.java index 32e335843016..808ec361fb4f 100644 --- a/packages/EasterEgg/src/com/android/egg/neko/NekoService.java +++ b/packages/EasterEgg/src/com/android/egg/neko/NekoService.java @@ -102,6 +102,14 @@ public class NekoService extends JobService { return false; } + public static void registerJobIfNeeded(Context context, long intervalMinutes) { + JobScheduler jss = context.getSystemService(JobScheduler.class); + JobInfo info = jss.getPendingJob(JOB_ID); + if (info == null) { + registerJob(context, intervalMinutes); + } + } + public static void registerJob(Context context, long intervalMinutes) { JobScheduler jss = context.getSystemService(JobScheduler.class); jss.cancel(JOB_ID); diff --git a/packages/EasterEgg/src/com/android/egg/neko/NekoTile.java b/packages/EasterEgg/src/com/android/egg/neko/NekoTile.java index 8a3ec8fa19e9..159b40a3e5af 100644 --- a/packages/EasterEgg/src/com/android/egg/neko/NekoTile.java +++ b/packages/EasterEgg/src/com/android/egg/neko/NekoTile.java @@ -68,6 +68,9 @@ public class NekoTile extends TileService implements PrefsListener { Tile tile = getQsTile(); int foodState = mPrefs.getFoodState(); Food food = new Food(foodState); + if (foodState != 0) { + NekoService.registerJobIfNeeded(this, food.getInterval(this)); + } tile.setIcon(food.getIcon(this)); tile.setLabel(food.getName(this)); tile.setState(foodState != 0 ? Tile.STATE_ACTIVE : Tile.STATE_INACTIVE); diff --git a/packages/EasterEgg/src/com/android/egg/neko/PrefState.java b/packages/EasterEgg/src/com/android/egg/neko/PrefState.java index 5f54180bc2e0..bf71b197d3cb 100644 --- a/packages/EasterEgg/src/com/android/egg/neko/PrefState.java +++ b/packages/EasterEgg/src/com/android/egg/neko/PrefState.java @@ -43,13 +43,11 @@ public class PrefState implements OnSharedPreferenceChangeListener { public void addCat(Cat cat) { mPrefs.edit() .putString(CAT_KEY_PREFIX + String.valueOf(cat.getSeed()), cat.getName()) - .commit(); + .apply(); } public void removeCat(Cat cat) { - mPrefs.edit() - .remove(CAT_KEY_PREFIX + String.valueOf(cat.getSeed())) - .commit(); + mPrefs.edit().remove(CAT_KEY_PREFIX + String.valueOf(cat.getSeed())).apply(); } public List<Cat> getCats() { @@ -71,7 +69,7 @@ public class PrefState implements OnSharedPreferenceChangeListener { } public void setFoodState(int foodState) { - mPrefs.edit().putInt(FOOD_STATE, foodState).commit(); + mPrefs.edit().putInt(FOOD_STATE, foodState).apply(); } public void setListener(PrefsListener listener) { |