INNER CODE UNIT · Kotlin
removedKeys
1812z/HyperIsland · android/app/src/main/kotlin/io/github/hyperisland/XposedPrefsSyncApp.kt:192
val removedKeys = current.keys - target.keys
val changedEntries = target.filter { (key, value) -> current[key] != value }
if (removedKeys.isEmpty() && changedEntries.isEmpty()) return false
val editor = remote.edit() ?: error("remote editor unavailable for $prefsName")
removedKeys.forEach(editor::remove)
for ((key, value) in changedEntries) {
check(writeValue(editor, key, value)) { "unsupported preference value for $key" }
}
check(editor.commit()) { "remote commit failed for $prefsName" }
Log.d(
TAG,
"diff synced $prefsName: ${changedEntries.size} changed, ${removedKeys.size} removed",
)
return true
}
private fun updateRemoteDigest(service: XposedService, digest: String) {