INNER CODE UNIT · Kotlin
invalidateRemoteDigest
1812z/HyperIsland · android/app/src/main/kotlin/io/github/hyperisland/XposedPrefsSyncApp.kt:217
private fun invalidateRemoteDigest(service: XposedService) {
val editor = service.getRemotePreferences(REMOTE_PREFS_META).edit()
?: error("remote metadata editor unavailable")
editor.remove(META_CONFIG_DIGEST)
check(editor.commit()) { "remote metadata invalidation failed" }
}
private fun configDigest(values: Map<String, *>): String {
val digest = MessageDigest.getInstance("SHA-256")
values.asSequence()
.filter { shouldSyncKey(it.key) }
.sortedBy { it.key }
.forEach { (key, value) ->
updateDigestPart(digest, key)
when (value) {
is Boolean -> updateDigestPart(digest, "b:$value")
is Int -> updateDigestPart(digest, "i:$value")
is Long -> updateDigestPart(digest, "l:$value")