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")

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…