Search in sources :

Example 46 with User

use of com.nextcloud.client.account.User in project android by nextcloud.

the class AppPreferencesImpl method getSortOrderByType.

@Override
public FileSortOrder getSortOrderByType(FileSortOrder.Type type, FileSortOrder defaultOrder) {
    User user = currentAccountProvider.getUser();
    if (user.isAnonymous()) {
        return defaultOrder;
    }
    ArbitraryDataProvider dataProvider = new ArbitraryDataProvider(context.getContentResolver());
    String value = dataProvider.getValue(user.getAccountName(), PREF__FOLDER_SORT_ORDER + "_" + type);
    return value.isEmpty() ? defaultOrder : FileSortOrder.sortOrders.get(value);
}
Also used : User(com.nextcloud.client.account.User) ArbitraryDataProvider(com.owncloud.android.datamodel.ArbitraryDataProvider)

Example 47 with User

use of com.nextcloud.client.account.User in project android by nextcloud.

the class UploadsStorageManager method clearFailedButNotDelayedUploads.

public long clearFailedButNotDelayedUploads() {
    User user = currentAccountProvider.getUser();
    final long deleted = getDB().delete(ProviderTableMeta.CONTENT_URI_UPLOADS, ProviderTableMeta.UPLOADS_STATUS + "==" + UploadStatus.UPLOAD_FAILED.value + AND + ProviderTableMeta.UPLOADS_LAST_RESULT + "<>" + UploadResult.LOCK_FAILED.getValue() + AND + ProviderTableMeta.UPLOADS_LAST_RESULT + "<>" + UploadResult.DELAYED_FOR_WIFI.getValue() + AND + ProviderTableMeta.UPLOADS_LAST_RESULT + "<>" + UploadResult.DELAYED_FOR_CHARGING.getValue() + AND + ProviderTableMeta.UPLOADS_LAST_RESULT + "<>" + UploadResult.DELAYED_IN_POWER_SAVE_MODE.getValue() + AND + ProviderTableMeta.UPLOADS_ACCOUNT_NAME + "== ?", new String[] { user.getAccountName() });
    Log_OC.d(TAG, "delete all failed uploads but those delayed for Wifi");
    if (deleted > 0) {
        notifyObserversNow();
    }
    return deleted;
}
Also used : User(com.nextcloud.client.account.User)

Example 48 with User

use of com.nextcloud.client.account.User in project android by nextcloud.

the class UploadsStorageManager method clearSuccessfulUploads.

public long clearSuccessfulUploads() {
    User user = currentAccountProvider.getUser();
    final long deleted = getDB().delete(ProviderTableMeta.CONTENT_URI_UPLOADS, ProviderTableMeta.UPLOADS_STATUS + "==" + UploadStatus.UPLOAD_SUCCEEDED.value + AND + ProviderTableMeta.UPLOADS_ACCOUNT_NAME + "== ?", new String[] { user.getAccountName() });
    Log_OC.d(TAG, "delete all successful uploads");
    if (deleted > 0) {
        notifyObserversNow();
    }
    return deleted;
}
Also used : User(com.nextcloud.client.account.User)

Example 49 with User

use of com.nextcloud.client.account.User in project android by nextcloud.

the class BackupFragment method setAutomaticBackup.

private void setAutomaticBackup(final boolean enabled) {
    final ContactsPreferenceActivity activity = (ContactsPreferenceActivity) getActivity();
    if (activity == null) {
        return;
    }
    Optional<User> optionalUser = activity.getUser();
    if (!optionalUser.isPresent()) {
        return;
    }
    User user = optionalUser.get();
    if (enabled) {
        backgroundJobManager.schedulePeriodicContactsBackup(user);
        backgroundJobManager.schedulePeriodicCalendarBackup(user);
    } else {
        backgroundJobManager.cancelPeriodicContactsBackup(user);
        backgroundJobManager.cancelPeriodicCalendarBackup(user);
    }
    arbitraryDataProvider.storeOrUpdateKeyValue(user.getAccountName(), PREFERENCE_CONTACTS_AUTOMATIC_BACKUP, String.valueOf(enabled));
}
Also used : ContactsPreferenceActivity(com.owncloud.android.ui.activity.ContactsPreferenceActivity) User(com.nextcloud.client.account.User)

Example 50 with User

use of com.nextcloud.client.account.User in project android by nextcloud.

the class BackupFragment method onDateSet.

@Override
public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {
    final ContactsPreferenceActivity contactsPreferenceActivity = (ContactsPreferenceActivity) getActivity();
    if (contactsPreferenceActivity == null) {
        Toast.makeText(getContext(), getString(R.string.error_choosing_date), Toast.LENGTH_LONG).show();
        return;
    }
    selectedDate = new Date(year, month, dayOfMonth);
    String contactsBackupFolderString = getResources().getString(R.string.contacts_backup_folder) + OCFile.PATH_SEPARATOR;
    String calendarBackupFolderString = getResources().getString(R.string.calendar_backup_folder) + OCFile.PATH_SEPARATOR;
    FileDataStorageManager storageManager = contactsPreferenceActivity.getStorageManager();
    OCFile contactsBackupFolder = storageManager.getFileByDecryptedRemotePath(contactsBackupFolderString);
    OCFile calendarBackupFolder = storageManager.getFileByDecryptedRemotePath(calendarBackupFolderString);
    List<OCFile> backupFiles = storageManager.getFolderContent(contactsBackupFolder, false);
    backupFiles.addAll(storageManager.getFolderContent(calendarBackupFolder, false));
    // find file with modification with date and time between 00:00 and 23:59
    // if more than one file exists, take oldest
    Calendar date = Calendar.getInstance();
    date.set(year, month, dayOfMonth);
    // start
    date.set(Calendar.HOUR, 0);
    date.set(Calendar.MINUTE, 0);
    date.set(Calendar.SECOND, 1);
    date.set(Calendar.MILLISECOND, 0);
    date.set(Calendar.AM_PM, Calendar.AM);
    long start = date.getTimeInMillis();
    // end
    date.set(Calendar.HOUR, 23);
    date.set(Calendar.MINUTE, 59);
    date.set(Calendar.SECOND, 59);
    long end = date.getTimeInMillis();
    OCFile contactsBackupToRestore = null;
    List<OCFile> calendarBackupsToRestore = new ArrayList<>();
    for (OCFile file : backupFiles) {
        if (start < file.getModificationTimestamp() && end > file.getModificationTimestamp()) {
            // contact
            if (MimeTypeUtil.isVCard(file)) {
                if (contactsBackupToRestore == null) {
                    contactsBackupToRestore = file;
                } else if (contactsBackupToRestore.getModificationTimestamp() < file.getModificationTimestamp()) {
                    contactsBackupToRestore = file;
                }
            }
            // calendars
            if (MimeTypeUtil.isCalendar(file)) {
                calendarBackupsToRestore.add(file);
            }
        }
    }
    List<OCFile> backupToRestore = new ArrayList<>();
    if (contactsBackupToRestore != null) {
        backupToRestore.add(contactsBackupToRestore);
    }
    backupToRestore.addAll(calendarBackupsToRestore);
    if (backupToRestore.isEmpty()) {
        DisplayUtils.showSnackMessage(getView().findViewById(R.id.contacts_linear_layout), R.string.contacts_preferences_no_file_found);
    } else {
        final User user = contactsPreferenceActivity.getUser().orElseThrow(RuntimeException::new);
        OCFile[] files = new OCFile[backupToRestore.size()];
        Fragment contactListFragment = BackupListFragment.newInstance(backupToRestore.toArray(files), user);
        contactsPreferenceActivity.getSupportFragmentManager().beginTransaction().replace(R.id.frame_container, contactListFragment, BackupListFragment.TAG).addToBackStack(ContactsPreferenceActivity.BACKUP_TO_LIST).commit();
    }
}
Also used : ContactsPreferenceActivity(com.owncloud.android.ui.activity.ContactsPreferenceActivity) User(com.nextcloud.client.account.User) Calendar(java.util.Calendar) ArrayList(java.util.ArrayList) Fragment(androidx.fragment.app.Fragment) FileFragment(com.owncloud.android.ui.fragment.FileFragment) Date(java.util.Date) OCFile(com.owncloud.android.datamodel.OCFile) FileDataStorageManager(com.owncloud.android.datamodel.FileDataStorageManager)

Aggregations

User (com.nextcloud.client.account.User)84 OCFile (com.owncloud.android.datamodel.OCFile)21 FileDataStorageManager (com.owncloud.android.datamodel.FileDataStorageManager)19 RemoteOperationResult (com.owncloud.android.lib.common.operations.RemoteOperationResult)19 Intent (android.content.Intent)14 Account (android.accounts.Account)12 ArrayList (java.util.ArrayList)12 Context (android.content.Context)9 Fragment (androidx.fragment.app.Fragment)9 OwnCloudAccount (com.owncloud.android.lib.common.OwnCloudAccount)9 File (java.io.File)9 ArbitraryDataProvider (com.owncloud.android.datamodel.ArbitraryDataProvider)7 Uri (android.net.Uri)6 Bundle (android.os.Bundle)6 OCCapability (com.owncloud.android.lib.resources.status.OCCapability)6 GalleryFragment (com.owncloud.android.ui.fragment.GalleryFragment)6 PreviewTextFileFragment (com.owncloud.android.ui.preview.PreviewTextFileFragment)6 PreviewTextFragment (com.owncloud.android.ui.preview.PreviewTextFragment)6 PreviewTextStringFragment (com.owncloud.android.ui.preview.PreviewTextStringFragment)6 View (android.view.View)5