Add Android auto-upload mobile data limit
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -31,7 +31,7 @@ public class ProviderMeta {
|
||||
|
||||
public static final String DB_NAME = "filelist";
|
||||
public static final String NEW_DB_NAME = "qsfera_database";
|
||||
public static final int DB_VERSION = 50;
|
||||
public static final int DB_VERSION = 51;
|
||||
|
||||
private ProviderMeta() {
|
||||
}
|
||||
|
||||
@@ -53,6 +53,7 @@ import eu.qsfera.android.data.migrations.MIGRATION_42_43
|
||||
import eu.qsfera.android.data.migrations.MIGRATION_47_48
|
||||
import eu.qsfera.android.data.migrations.MIGRATION_48_49
|
||||
import eu.qsfera.android.data.migrations.MIGRATION_49_50
|
||||
import eu.qsfera.android.data.migrations.MIGRATION_50_51
|
||||
import eu.qsfera.android.data.sharing.shares.db.OCShareDao
|
||||
import eu.qsfera.android.data.sharing.shares.db.OCShareEntity
|
||||
import eu.qsfera.android.data.spaces.db.SpaceSpecialEntity
|
||||
@@ -129,7 +130,8 @@ abstract class QSferaDatabase : RoomDatabase() {
|
||||
MIGRATION_42_43,
|
||||
MIGRATION_47_48,
|
||||
MIGRATION_48_49,
|
||||
MIGRATION_49_50)
|
||||
MIGRATION_49_50,
|
||||
MIGRATION_50_51)
|
||||
.build()
|
||||
INSTANCE = instance
|
||||
instance
|
||||
|
||||
+6
@@ -69,6 +69,9 @@ class OCLocalFolderBackupDataSource(
|
||||
uploadPath = uploadPath,
|
||||
wifiOnly = wifiOnly,
|
||||
allowRoaming = allowRoaming,
|
||||
mobileDataLimitBytes = mobileDataLimitBytes,
|
||||
mobileDataPeriodStartTimestamp = mobileDataPeriodStartTimestamp,
|
||||
mobileDataBytesQueuedInPeriod = mobileDataBytesQueuedInPeriod,
|
||||
chargingOnly = chargingOnly,
|
||||
name = name,
|
||||
lastSyncTimestamp = lastSyncTimestamp,
|
||||
@@ -85,6 +88,9 @@ class OCLocalFolderBackupDataSource(
|
||||
uploadPath = uploadPath,
|
||||
wifiOnly = wifiOnly,
|
||||
allowRoaming = allowRoaming,
|
||||
mobileDataLimitBytes = mobileDataLimitBytes,
|
||||
mobileDataPeriodStartTimestamp = mobileDataPeriodStartTimestamp,
|
||||
mobileDataBytesQueuedInPeriod = mobileDataBytesQueuedInPeriod,
|
||||
chargingOnly = chargingOnly,
|
||||
lastSyncTimestamp = lastSyncTimestamp,
|
||||
name = name,
|
||||
|
||||
+3
@@ -30,6 +30,9 @@ data class FolderBackUpEntity(
|
||||
val uploadPath: String,
|
||||
val wifiOnly: Boolean,
|
||||
val allowRoaming: Boolean,
|
||||
val mobileDataLimitBytes: Long,
|
||||
val mobileDataPeriodStartTimestamp: Long,
|
||||
val mobileDataBytesQueuedInPeriod: Long,
|
||||
val chargingOnly: Boolean,
|
||||
val name: String,
|
||||
val lastSyncTimestamp: Long,
|
||||
|
||||
@@ -48,7 +48,7 @@ class CameraUploadsMigrationToRoom(val sharedPreferencesProvider: SharedPreferen
|
||||
if (!sharedPreferencesProvider.getBoolean(PREF__CAMERA_PICTURE_UPLOADS_ENABLED, false)) return null
|
||||
|
||||
return FolderBackUpConfiguration(
|
||||
accountName = sharedPreferencesProvider.getString(PREF__CAMERA_PICTURE_UPLOADS_ACCOUNT_NAME, null) ?: "",
|
||||
accountName = sharedPreferencesProvider.getString(PREF__CAMERA_PICTURE_UPLOADS_ACCOUNT_NAME, null).orEmpty(),
|
||||
wifiOnly = sharedPreferencesProvider.getBoolean(PREF__CAMERA_PICTURE_UPLOADS_WIFI_ONLY, false),
|
||||
uploadPath = getUploadPathForPreference(PREF__CAMERA_PICTURE_UPLOADS_PATH),
|
||||
sourcePath = getSourcePathForPreference(PREF__CAMERA_PICTURE_UPLOADS_SOURCE),
|
||||
@@ -56,6 +56,9 @@ class CameraUploadsMigrationToRoom(val sharedPreferencesProvider: SharedPreferen
|
||||
lastSyncTimestamp = timestamp,
|
||||
name = pictureUploadsName,
|
||||
allowRoaming = false,
|
||||
mobileDataLimitBytes = 0,
|
||||
mobileDataPeriodStartTimestamp = 0,
|
||||
mobileDataBytesQueuedInPeriod = 0,
|
||||
chargingOnly = false,
|
||||
spaceId = null,
|
||||
)
|
||||
@@ -65,7 +68,7 @@ class CameraUploadsMigrationToRoom(val sharedPreferencesProvider: SharedPreferen
|
||||
if (!sharedPreferencesProvider.getBoolean(PREF__CAMERA_VIDEO_UPLOADS_ENABLED, false)) return null
|
||||
|
||||
return FolderBackUpConfiguration(
|
||||
accountName = sharedPreferencesProvider.getString(PREF__CAMERA_VIDEO_UPLOADS_ACCOUNT_NAME, null) ?: "",
|
||||
accountName = sharedPreferencesProvider.getString(PREF__CAMERA_VIDEO_UPLOADS_ACCOUNT_NAME, null).orEmpty(),
|
||||
wifiOnly = sharedPreferencesProvider.getBoolean(PREF__CAMERA_VIDEO_UPLOADS_WIFI_ONLY, false),
|
||||
uploadPath = getUploadPathForPreference(PREF__CAMERA_VIDEO_UPLOADS_PATH),
|
||||
sourcePath = getSourcePathForPreference(PREF__CAMERA_VIDEO_UPLOADS_SOURCE),
|
||||
@@ -73,6 +76,9 @@ class CameraUploadsMigrationToRoom(val sharedPreferencesProvider: SharedPreferen
|
||||
lastSyncTimestamp = timestamp,
|
||||
name = videoUploadsName,
|
||||
allowRoaming = false,
|
||||
mobileDataLimitBytes = 0,
|
||||
mobileDataPeriodStartTimestamp = 0,
|
||||
mobileDataBytesQueuedInPeriod = 0,
|
||||
chargingOnly = false,
|
||||
spaceId = null,
|
||||
)
|
||||
@@ -87,7 +93,7 @@ class CameraUploadsMigrationToRoom(val sharedPreferencesProvider: SharedPreferen
|
||||
}
|
||||
|
||||
private fun getSourcePathForPreference(keyPreference: String): String =
|
||||
sharedPreferencesProvider.getString(keyPreference, null) ?: ""
|
||||
sharedPreferencesProvider.getString(keyPreference, null).orEmpty()
|
||||
|
||||
private fun getBehaviorForPreference(keyPreference: String): UploadBehavior {
|
||||
val storedBehaviour = sharedPreferencesProvider.getString(keyPreference, null) ?: return UploadBehavior.COPY
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
package eu.qsfera.android.data.migrations
|
||||
|
||||
import androidx.room.migration.Migration
|
||||
import androidx.sqlite.db.SupportSQLiteDatabase
|
||||
import eu.qsfera.android.data.ProviderMeta.ProviderTableMeta.FOLDER_BACKUP_TABLE_NAME
|
||||
|
||||
val MIGRATION_50_51 = object : Migration(50, 51) {
|
||||
override fun migrate(database: SupportSQLiteDatabase) {
|
||||
database.execSQL("ALTER TABLE $FOLDER_BACKUP_TABLE_NAME ADD COLUMN mobileDataLimitBytes INTEGER NOT NULL DEFAULT '0'")
|
||||
database.execSQL("ALTER TABLE $FOLDER_BACKUP_TABLE_NAME ADD COLUMN mobileDataPeriodStartTimestamp INTEGER NOT NULL DEFAULT '0'")
|
||||
database.execSQL("ALTER TABLE $FOLDER_BACKUP_TABLE_NAME ADD COLUMN mobileDataBytesQueuedInPeriod INTEGER NOT NULL DEFAULT '0'")
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user