Inject BackupStartupReceiver

pull/189/head
Alex Baker 10 years ago
parent ecba48a382
commit 26c25f0b20

@ -29,6 +29,7 @@ public class BackupServiceTests extends DatabaseTestCase {
File temporaryDirectory = null;
@Inject TasksXmlExporter xmlExporter;
@Inject TaskDao taskDao;
@Inject Preferences preferences;
@ -89,7 +90,7 @@ public class BackupServiceTests extends DatabaseTestCase {
// create a backup
BackupService service = new BackupService();
service.setBackupDirectorySetting(setting);
service.testBackup(getContext());
service.testBackup(xmlExporter, preferences, getContext());
AndroidUtilities.sleepDeep(BACKUP_WAIT_TIME);
@ -122,7 +123,7 @@ public class BackupServiceTests extends DatabaseTestCase {
return null;
}
});
service.testBackup(getContext());
service.testBackup(xmlExporter, preferences, getContext());
AndroidUtilities.sleepDeep(BACKUP_WAIT_TIME);
@ -167,7 +168,7 @@ public class BackupServiceTests extends DatabaseTestCase {
// backup
BackupService service = new BackupService();
service.setBackupDirectorySetting(setting);
service.testBackup(getContext());
service.testBackup(xmlExporter, preferences, getContext());
AndroidUtilities.sleepDeep(BACKUP_WAIT_TIME);
@ -176,7 +177,7 @@ public class BackupServiceTests extends DatabaseTestCase {
assertFalse(files[4].exists());
// assert user file still exists
service.testBackup(getContext());
service.testBackup(xmlExporter, preferences, getContext());
assertTrue(myFile.exists());
} finally {

@ -88,7 +88,7 @@ public class BackupPreferences extends InjectingTodorooPreferenceActivity {
@Override
protected void onPause() {
super.onPause();
BackupService.scheduleService(this);
BackupService.scheduleService(preferences, this);
}
@Override

@ -14,10 +14,10 @@ import android.util.Log;
import com.todoroo.andlib.service.ContextManager;
import com.todoroo.andlib.utility.DateUtilities;
import com.todoroo.andlib.utility.Preferences;
import org.tasks.R;
import org.tasks.injection.InjectingService;
import org.tasks.preferences.Preferences;
import java.io.File;
import java.io.FileFilter;
@ -49,6 +49,7 @@ public class BackupService extends InjectingService {
private static final int DAYS_TO_KEEP_BACKUP = 7;
@Inject TasksXmlExporter xmlExporter;
@Inject Preferences preferences;
@Override
public IBinder onBind(Intent intent) {
@ -68,7 +69,9 @@ public class BackupService extends InjectingService {
/**
* Test hook for backup
*/
void testBackup(Context context) {
void testBackup(TasksXmlExporter xmlExporter, Preferences preferences, Context context) {
this.xmlExporter = xmlExporter;
this.preferences = preferences;
startBackup(context);
}
@ -77,7 +80,7 @@ public class BackupService extends InjectingService {
return;
}
try {
if (!Preferences.getBoolean(R.string.backup_BPr_auto_key, true)) {
if (!preferences.getBoolean(R.string.backup_BPr_auto_key, true)) {
return;
}
@ -92,16 +95,16 @@ public class BackupService extends InjectingService {
} catch (Exception e) {
Log.e("error-backup", "Error starting backups", e); //$NON-NLS-1$ //$NON-NLS-2$
Preferences.setString(BackupPreferences.PREF_BACKUP_LAST_ERROR, e.toString());
preferences.setString(BackupPreferences.PREF_BACKUP_LAST_ERROR, e.toString());
}
}
public static void scheduleService(Context context) {
public static void scheduleService(Preferences preferences, Context context) {
AlarmManager am = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
PendingIntent pendingIntent = PendingIntent.getService(context, 0,
createAlarmIntent(context), PendingIntent.FLAG_UPDATE_CURRENT);
am.cancel(pendingIntent);
if (!Preferences.getBoolean(R.string.backup_BPr_auto_key, true)) {
if (!preferences.getBoolean(R.string.backup_BPr_auto_key, true)) {
return;
}
am.setInexactRepeating(AlarmManager.RTC, DateUtilities.now() + BACKUP_OFFSET,

@ -5,18 +5,26 @@
*/
package com.todoroo.astrid.backup;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import com.todoroo.andlib.service.ContextManager;
public class BackupStartupReceiver extends BroadcastReceiver {
import org.tasks.injection.InjectingBroadcastReceiver;
import org.tasks.preferences.Preferences;
import javax.inject.Inject;
public class BackupStartupReceiver extends InjectingBroadcastReceiver {
@Inject Preferences preferences;
@Override
/** Called when device is restarted */
public void onReceive(final Context context, Intent intent) {
super.onReceive(context, intent);
ContextManager.setContext(context);
BackupService.scheduleService(context);
BackupService.scheduleService(preferences, context);
}
}

@ -186,7 +186,7 @@ public class StartupService {
// perform initialization
ReminderStartupReceiver.startReminderSchedulingService(context);
BackupService.scheduleService(context);
BackupService.scheduleService(preferences, context);
gtasksSyncService.initialize();

@ -4,6 +4,7 @@ import android.content.Context;
import com.todoroo.astrid.alarms.AlarmDetailExposer;
import com.todoroo.astrid.alarms.AlarmTaskRepeatListener;
import com.todoroo.astrid.backup.BackupStartupReceiver;
import com.todoroo.astrid.calls.PhoneStateChangedReceiver;
import com.todoroo.astrid.core.CustomFilterExposer;
import com.todoroo.astrid.gcal.GCalTaskCompleteListener;
@ -53,7 +54,8 @@ import dagger.Provides;
TimerFilterExposer.class,
CustomFilterExposer.class,
GtasksFilterExposer.class,
TagFilterExposer.class
TagFilterExposer.class,
BackupStartupReceiver.class
})
public class BroadcastModule {

Loading…
Cancel
Save