INNER CODE UNIT · Kotlin

syncToRemote

1812z/HyperIsland · android/app/src/main/kotlin/io/github/hyperisland/XposedPrefsSyncApp.kt:81

    private fun syncToRemote(service: XposedService, sourcePrefs: SharedPreferences, key: String?) {
        synchronized(syncLock) {
            try {
                if (key == null) {
                    syncAllIfChanged(service, sourcePrefs)
                } else {
                    if (!shouldSyncKey(key)) return
                    invalidateRemoteDigest(service)
                    val remote = service.getRemotePreferences(remotePrefsNameForKey(key))
                    val editor = remote.edit() ?: error("remote editor unavailable")
                    check(writeValue(editor, key, sourcePrefs.all[key])) {
                        "unsupported preference value for $key"
                    }
                    check(editor.commit()) { "remote commit failed for $key" }
                    Log.d(TAG, "synced key=$key to remote prefs")
                }
            } catch (e: Exception) {
                val scope = if (key == null) "all" else key

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…