private String summarizeAutoBackupSettings() { final List<String> enabled = new ArrayList<String>(); for (DataType dataType : preferences.getDataTypePreferences().enabled()) { enabled.add(getString(dataType.resId)); } StringBuilder summary = new StringBuilder(); if (!enabled.isEmpty()) { summary.append(getString(R.string.ui_enable_auto_sync_summary, TextUtils.join(", ", enabled))); if (App.isInstalledOnSDCard(getContext())) { summary.append(' ').append(getString(R.string.sd_card_disclaimer)); } } else { summary.append(getString(R.string.ui_enable_auto_sync_no_enabled_summary)); } return summary.toString(); }
private EnumSet<DataType> getEnabledBackupTypes() throws BackupDisabledException { EnumSet<DataType> dataTypes = getPreferences().getDataTypePreferences().enabled(); if (dataTypes.isEmpty()) { throw new BackupDisabledException(); } return dataTypes; }
@Test public void shouldCheckForEnabledDataTypes() throws Exception { when(dataTypePreferences.enabled()).thenReturn(EnumSet.noneOf(DataType.class)); Intent intent = new Intent(); when(authPreferences.isLoginInformationSet()).thenReturn(true); shadowConnectivityManager.setBackgroundDataSetting(true); service.handleIntent(intent); verifyZeroInteractions(backupTask); assertThat(service.getState().exception).isInstanceOf(BackupDisabledException.class); assertThat(service.getState().state).isEqualTo(SmsSyncState.FINISHED_BACKUP); }
@Before public void before() { initMocks(this); sentNotifications = new ArrayList<NotificationCompat.Builder>(); service = new SmsBackupService() { @Override public Context getApplicationContext() { return RuntimeEnvironment.application; } @Override public Resources getResources() { return getApplicationContext().getResources(); } @Override protected BackupTask getBackupTask() { return backupTask; } @Override protected BackupJobs getBackupJobs() { return backupJobs; } @Override protected Preferences getPreferences() { return preferences; } @Override public int checkPermission(String permission, int pid, int uid) { return PERMISSION_GRANTED; } @Override protected AuthPreferences getAuthPreferences() { return authPreferences; } @Override protected void notifyUser(int icon, NotificationCompat.Builder builder) { sentNotifications.add(builder); } }; shadowConnectivityManager = shadowOf(service.getConnectivityManager()); shadowWifiManager = shadowOf(service.getWifiManager()); service.onCreate(); when(authPreferences.getStoreUri()).thenReturn("imap+ssl+://xoauth:foooo@imap.gmail.com:993"); when(authPreferences.isLoginInformationSet()).thenReturn(true); when(preferences.getBackupContactGroup()).thenReturn(ContactGroup.EVERYBODY); when(preferences.isUseOldScheduler()).thenReturn(true); when(preferences.getDataTypePreferences()).thenReturn(dataTypePreferences); when(dataTypePreferences.enabled()).thenReturn(EnumSet.of(DataType.SMS)); }