Ensure scheduled updates continue after upgrade

Previously they would not resume until the next reboot.
This commit is contained in:
Ciaran Gultnieks 2013-04-17 08:32:55 +01:00
parent 3296e0da57
commit 3ba5c17937
2 changed files with 10 additions and 4 deletions

View File

@ -25,6 +25,7 @@ import java.util.concurrent.Semaphore;
import android.app.Application; import android.app.Application;
import android.util.Log; import android.util.Log;
import android.content.Context;
public class FDroidApp extends Application { public class FDroidApp extends Application {
@ -43,7 +44,9 @@ public class FDroidApp extends Application {
icon_path.mkdir(); icon_path.mkdir();
apps = null; apps = null;
DB.initDB(getApplicationContext()); Context ctx = getApplicationContext();
DB.initDB(ctx);
UpdateService.schedule(ctx);
} }

View File

@ -56,9 +56,8 @@ public class UpdateService extends IntentService implements ProgressListener {
} }
// Schedule (or cancel schedule for) this service, according to the // Schedule (or cancel schedule for) this service, according to the
// current preferences. Should be called a) at boot, or b) if the preference // current preferences. Should be called a) at boot, b) if the preference
// is changed. // is changed, or c) on startup, in case we get upgraded.
// TODO: What if we get upgraded?
public static void schedule(Context ctx) { public static void schedule(Context ctx) {
SharedPreferences prefs = PreferenceManager SharedPreferences prefs = PreferenceManager
@ -76,7 +75,11 @@ public class UpdateService extends IntentService implements ProgressListener {
alarm.setInexactRepeating(AlarmManager.ELAPSED_REALTIME, alarm.setInexactRepeating(AlarmManager.ELAPSED_REALTIME,
SystemClock.elapsedRealtime() + 5000, SystemClock.elapsedRealtime() + 5000,
AlarmManager.INTERVAL_HOUR, pending); AlarmManager.INTERVAL_HOUR, pending);
Log.d("FDroid", "Update scheduler alarm set");
} else {
Log.d("FDroid", "Update scheduler alarm not set");
} }
} }
protected void sendStatus(int statusCode ) { protected void sendStatus(int statusCode ) {