Address review feedback
This commit is contained in:
parent
ee581ee652
commit
8489753d58
4 changed files with 25 additions and 24 deletions
|
@ -125,21 +125,20 @@ internal class MetadataManager(
|
||||||
val now = clock.time()
|
val now = clock.time()
|
||||||
metadata.time = now
|
metadata.time = now
|
||||||
metadata.d2dBackup = settingsManager.d2dBackupsEnabled()
|
metadata.d2dBackup = settingsManager.d2dBackupsEnabled()
|
||||||
|
metadata.packageMetadataMap.getOrPut(packageName) {
|
||||||
if (metadata.packageMetadataMap.containsKey(packageName)) {
|
PackageMetadata(
|
||||||
metadata.packageMetadataMap[packageName]!!.time = now
|
|
||||||
metadata.packageMetadataMap[packageName]!!.state = APK_AND_DATA
|
|
||||||
metadata.packageMetadataMap[packageName]!!.backupType = type
|
|
||||||
// don't override a previous K/V size, if there were no K/V changes
|
|
||||||
if (size != null) metadata.packageMetadataMap[packageName]!!.size = size
|
|
||||||
} else {
|
|
||||||
metadata.packageMetadataMap[packageName] = PackageMetadata(
|
|
||||||
time = now,
|
time = now,
|
||||||
state = APK_AND_DATA,
|
state = APK_AND_DATA,
|
||||||
backupType = type,
|
backupType = type,
|
||||||
size = size,
|
size = size,
|
||||||
system = packageInfo.isSystemApp(),
|
system = packageInfo.isSystemApp(),
|
||||||
)
|
)
|
||||||
|
}.apply {
|
||||||
|
time = now
|
||||||
|
state = APK_AND_DATA
|
||||||
|
backupType = type
|
||||||
|
// don't override a previous K/V size, if there were no K/V changes
|
||||||
|
if (size != null) this.size = size
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -159,18 +158,15 @@ internal class MetadataManager(
|
||||||
backupType: BackupType? = null,
|
backupType: BackupType? = null,
|
||||||
) {
|
) {
|
||||||
check(packageState != APK_AND_DATA) { "Backup Error with non-error package state." }
|
check(packageState != APK_AND_DATA) { "Backup Error with non-error package state." }
|
||||||
val packageName = packageInfo.packageName
|
|
||||||
modifyMetadata(metadataOutputStream) {
|
modifyMetadata(metadataOutputStream) {
|
||||||
if (metadata.packageMetadataMap.containsKey(packageName)) {
|
metadata.packageMetadataMap.getOrPut(packageInfo.packageName) {
|
||||||
metadata.packageMetadataMap[packageName]!!.state = packageState
|
PackageMetadata(
|
||||||
} else {
|
|
||||||
metadata.packageMetadataMap[packageName] = PackageMetadata(
|
|
||||||
time = 0L,
|
time = 0L,
|
||||||
state = packageState,
|
state = packageState,
|
||||||
backupType = backupType,
|
backupType = backupType,
|
||||||
system = packageInfo.isSystemApp()
|
system = packageInfo.isSystemApp()
|
||||||
)
|
)
|
||||||
}
|
}.state = packageState
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -186,16 +182,13 @@ internal class MetadataManager(
|
||||||
packageInfo: PackageInfo,
|
packageInfo: PackageInfo,
|
||||||
packageState: PackageState,
|
packageState: PackageState,
|
||||||
) = modifyCachedMetadata {
|
) = modifyCachedMetadata {
|
||||||
val packageName = packageInfo.packageName
|
metadata.packageMetadataMap.getOrPut(packageInfo.packageName) {
|
||||||
if (metadata.packageMetadataMap.containsKey(packageName)) {
|
PackageMetadata(
|
||||||
metadata.packageMetadataMap[packageName]!!.state = packageState
|
|
||||||
} else {
|
|
||||||
metadata.packageMetadataMap[packageName] = PackageMetadata(
|
|
||||||
time = 0L,
|
time = 0L,
|
||||||
state = packageState,
|
state = packageState,
|
||||||
system = packageInfo.isSystemApp(),
|
system = packageInfo.isSystemApp(),
|
||||||
)
|
)
|
||||||
}
|
}.state = packageState
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -5,6 +5,7 @@ import androidx.activity.result.contract.ActivityResultContracts.CreateDocument
|
||||||
import androidx.preference.Preference
|
import androidx.preference.Preference
|
||||||
import androidx.preference.PreferenceFragmentCompat
|
import androidx.preference.PreferenceFragmentCompat
|
||||||
import androidx.preference.SwitchPreferenceCompat
|
import androidx.preference.SwitchPreferenceCompat
|
||||||
|
import com.google.android.mms.ContentType.TEXT_PLAIN
|
||||||
import com.stevesoltys.seedvault.R
|
import com.stevesoltys.seedvault.R
|
||||||
import com.stevesoltys.seedvault.permitDiskReads
|
import com.stevesoltys.seedvault.permitDiskReads
|
||||||
import com.stevesoltys.seedvault.transport.backup.PackageService
|
import com.stevesoltys.seedvault.transport.backup.PackageService
|
||||||
|
@ -17,7 +18,7 @@ class ExpertSettingsFragment : PreferenceFragmentCompat() {
|
||||||
private val packageService: PackageService by inject()
|
private val packageService: PackageService by inject()
|
||||||
|
|
||||||
private val createFileLauncher =
|
private val createFileLauncher =
|
||||||
registerForActivityResult(CreateDocument("text/plain")) { uri ->
|
registerForActivityResult(CreateDocument(TEXT_PLAIN)) { uri ->
|
||||||
viewModel.onLogcatUriReceived(uri)
|
viewModel.onLogcatUriReceived(uri)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -46,8 +46,8 @@ class SettingsActivity : RequireProvisioningActivity(), OnPreferenceStartFragmen
|
||||||
val title = getString(R.string.storage_check_fragment_backup_title)
|
val title = getString(R.string.storage_check_fragment_backup_title)
|
||||||
showFragment(StorageCheckFragment.newInstance(title), true, tag)
|
showFragment(StorageCheckFragment.newInstance(title), true, tag)
|
||||||
} else {
|
} else {
|
||||||
val f = supportFragmentManager.findFragmentByTag(tag)
|
val fragment = supportFragmentManager.findFragmentByTag(tag)
|
||||||
if (f != null && f.isVisible) supportFragmentManager.popBackStack()
|
if (fragment?.isVisible == true) supportFragmentManager.popBackStack()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -263,6 +263,13 @@ class SettingsFragment : PreferenceFragmentCompat() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the summary for scheduling which is information about when the next backup is scheduled.
|
||||||
|
*
|
||||||
|
* It could be that it shows the backup as running,
|
||||||
|
* gives an estimate about when the next run will be or
|
||||||
|
* says that nothing is scheduled which can happen when backup destination is on flash drive.
|
||||||
|
*/
|
||||||
private fun setAppBackupSchedulingSummary(workInfo: WorkInfo?) {
|
private fun setAppBackupSchedulingSummary(workInfo: WorkInfo?) {
|
||||||
if (storage?.isUsb == true) {
|
if (storage?.isUsb == true) {
|
||||||
backupScheduling.summary = getString(R.string.settings_backup_status_next_backup_usb)
|
backupScheduling.summary = getString(R.string.settings_backup_status_next_backup_usb)
|
||||||
|
|
Loading…
Add table
Reference in a new issue