|
@@ -416,6 +416,7 @@ public class SyncedFoldersActivity extends FileActivity implements SyncedFolderA
|
|
|
syncedFolder.getRemotePath(),
|
|
|
syncedFolder.isWifiOnly(),
|
|
|
syncedFolder.isChargingOnly(),
|
|
|
+ syncedFolder.isExisting(),
|
|
|
syncedFolder.isSubfolderByDate(),
|
|
|
syncedFolder.getAccount(),
|
|
|
syncedFolder.getUploadAction(),
|
|
@@ -443,6 +444,7 @@ public class SyncedFoldersActivity extends FileActivity implements SyncedFolderA
|
|
|
syncedFolder.getRemotePath(),
|
|
|
syncedFolder.isWifiOnly(),
|
|
|
syncedFolder.isChargingOnly(),
|
|
|
+ syncedFolder.isExisting(),
|
|
|
syncedFolder.isSubfolderByDate(),
|
|
|
syncedFolder.getAccount(),
|
|
|
syncedFolder.getUploadAction(),
|
|
@@ -470,6 +472,7 @@ public class SyncedFoldersActivity extends FileActivity implements SyncedFolderA
|
|
|
true,
|
|
|
false,
|
|
|
false,
|
|
|
+ false,
|
|
|
getAccount().name,
|
|
|
FileUploader.LOCAL_BEHAVIOUR_FORGET,
|
|
|
false,
|
|
@@ -577,7 +580,7 @@ public class SyncedFoldersActivity extends FileActivity implements SyncedFolderA
|
|
|
case R.id.action_create_custom_folder: {
|
|
|
Log.d(TAG, "Show custom folder dialog");
|
|
|
SyncedFolderDisplayItem emptyCustomFolder = new SyncedFolderDisplayItem(
|
|
|
- SyncedFolder.UNPERSISTED_ID, null, null, true, false,
|
|
|
+ SyncedFolder.UNPERSISTED_ID, null, null, true, false, false,
|
|
|
false, getAccount().name, FileUploader.LOCAL_BEHAVIOUR_FORGET, false,
|
|
|
clock.getCurrentTime(), null, MediaFolderType.CUSTOM, false);
|
|
|
onSyncFolderSettingsClick(0, emptyCustomFolder);
|
|
@@ -619,7 +622,7 @@ public class SyncedFoldersActivity extends FileActivity implements SyncedFolderA
|
|
|
}
|
|
|
|
|
|
if (syncedFolderDisplayItem.isEnabled()) {
|
|
|
- FilesSyncHelper.insertAllDBEntriesForSyncedFolder(syncedFolderDisplayItem);
|
|
|
+ FilesSyncHelper.insertAllDBEntriesForSyncedFolder(syncedFolderDisplayItem, true);
|
|
|
|
|
|
showBatteryOptimizationInfo();
|
|
|
}
|
|
@@ -709,18 +712,20 @@ public class SyncedFoldersActivity extends FileActivity implements SyncedFolderA
|
|
|
if (MediaFolderType.CUSTOM == syncedFolder.getType() && syncedFolder.getId() == UNPERSISTED_ID) {
|
|
|
SyncedFolderDisplayItem newCustomFolder = new SyncedFolderDisplayItem(
|
|
|
SyncedFolder.UNPERSISTED_ID, syncedFolder.getLocalPath(), syncedFolder.getRemotePath(),
|
|
|
- syncedFolder.isWifiOnly(), syncedFolder.isChargingOnly(), syncedFolder.isSubfolderByDate(),
|
|
|
- syncedFolder.getAccount(), syncedFolder.getUploadAction(), syncedFolder.isEnabled(),
|
|
|
- clock.getCurrentTime(), new File(syncedFolder.getLocalPath()).getName(), syncedFolder.getType(), syncedFolder.isHidden());
|
|
|
+ syncedFolder.isWifiOnly(), syncedFolder.isChargingOnly(),
|
|
|
+ syncedFolder.isExisting(), syncedFolder.isSubfolderByDate(), syncedFolder.getAccount(),
|
|
|
+ syncedFolder.getUploadAction(), syncedFolder.isEnabled(), clock.getCurrentTime(),
|
|
|
+ new File(syncedFolder.getLocalPath()).getName(), syncedFolder.getType(), syncedFolder.isHidden());
|
|
|
|
|
|
saveOrUpdateSyncedFolder(newCustomFolder);
|
|
|
adapter.addSyncFolderItem(newCustomFolder);
|
|
|
} else {
|
|
|
SyncedFolderDisplayItem item = adapter.get(syncedFolder.getSection());
|
|
|
updateSyncedFolderItem(item, syncedFolder.getId(), syncedFolder.getLocalPath(),
|
|
|
- syncedFolder.getRemotePath(), syncedFolder
|
|
|
- .isWifiOnly(), syncedFolder.isChargingOnly(), syncedFolder.isSubfolderByDate(), syncedFolder
|
|
|
- .getUploadAction(), syncedFolder.isEnabled());
|
|
|
+ syncedFolder.getRemotePath(), syncedFolder.isWifiOnly(),
|
|
|
+ syncedFolder.isChargingOnly(), syncedFolder.isExisting(),
|
|
|
+ syncedFolder.isSubfolderByDate(), syncedFolder.getUploadAction(),
|
|
|
+ syncedFolder.isEnabled());
|
|
|
|
|
|
saveOrUpdateSyncedFolder(item);
|
|
|
|
|
@@ -743,7 +748,7 @@ public class SyncedFoldersActivity extends FileActivity implements SyncedFolderA
|
|
|
// existing synced folder setup to be updated
|
|
|
syncedFolderProvider.updateSyncFolder(item);
|
|
|
if (item.isEnabled()) {
|
|
|
- FilesSyncHelper.insertAllDBEntriesForSyncedFolder(item);
|
|
|
+ FilesSyncHelper.insertAllDBEntriesForSyncedFolder(item, true);
|
|
|
} else {
|
|
|
String syncedFolderInitiatedKey = "syncedFolderIntitiated_" + item.getId();
|
|
|
|
|
@@ -761,7 +766,7 @@ public class SyncedFoldersActivity extends FileActivity implements SyncedFolderA
|
|
|
if (storedId != -1) {
|
|
|
item.setId(storedId);
|
|
|
if (item.isEnabled()) {
|
|
|
- FilesSyncHelper.insertAllDBEntriesForSyncedFolder(item);
|
|
|
+ FilesSyncHelper.insertAllDBEntriesForSyncedFolder(item, true);
|
|
|
} else {
|
|
|
String syncedFolderInitiatedKey = "syncedFolderIntitiated_" + item.getId();
|
|
|
arbitraryDataProvider.deleteKeyForAccount("global", syncedFolderInitiatedKey);
|
|
@@ -788,6 +793,7 @@ public class SyncedFoldersActivity extends FileActivity implements SyncedFolderA
|
|
|
* @param remotePath the remote path
|
|
|
* @param wifiOnly upload on wifi only
|
|
|
* @param chargingOnly upload on charging only
|
|
|
+ * @param existing also upload existing
|
|
|
* @param subfolderByDate created sub folders
|
|
|
* @param uploadAction upload action
|
|
|
* @param enabled is sync enabled
|
|
@@ -798,6 +804,7 @@ public class SyncedFoldersActivity extends FileActivity implements SyncedFolderA
|
|
|
String remotePath,
|
|
|
boolean wifiOnly,
|
|
|
boolean chargingOnly,
|
|
|
+ boolean existing,
|
|
|
boolean subfolderByDate,
|
|
|
Integer uploadAction,
|
|
|
boolean enabled) {
|
|
@@ -806,6 +813,7 @@ public class SyncedFoldersActivity extends FileActivity implements SyncedFolderA
|
|
|
item.setRemotePath(remotePath);
|
|
|
item.setWifiOnly(wifiOnly);
|
|
|
item.setChargingOnly(chargingOnly);
|
|
|
+ item.setExisting(existing);
|
|
|
item.setSubfolderByDate(subfolderByDate);
|
|
|
item.setUploadAction(uploadAction);
|
|
|
item.setEnabled(enabled, clock.getCurrentTime());
|