diff options
author | 2024-11-17 14:20:44 +0800 | |
---|---|---|
committer | 2024-11-17 14:20:44 +0800 | |
commit | c6bc983c3f78e0d59885d716f7c981fff85431ab (patch) | |
tree | 4d4b845f150326b392af58ce5fe5d0e30c61da7d | |
parent | 5e0ea6fde4713b37802aa77b6ec78d3aaf95c88b (diff) |
[Catalyst] Clean up SharedPreferencesObservable
Bug: 378795106
Flag: EXEMPT clean up
Test: N/A
Change-Id: Iaac9f819da5e2286b170920b664157c13124d6a3
-rw-r--r-- | packages/SettingsLib/DataStore/src/com/android/settingslib/datastore/SharedPreferencesObservable.kt | 45 |
1 files changed, 0 insertions, 45 deletions
diff --git a/packages/SettingsLib/DataStore/src/com/android/settingslib/datastore/SharedPreferencesObservable.kt b/packages/SettingsLib/DataStore/src/com/android/settingslib/datastore/SharedPreferencesObservable.kt deleted file mode 100644 index e70ec5b2e38e..000000000000 --- a/packages/SettingsLib/DataStore/src/com/android/settingslib/datastore/SharedPreferencesObservable.kt +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Copyright (C) 2024 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.settingslib.datastore - -import android.content.SharedPreferences - -/** [SharedPreferences] based [KeyedDataObservable]. */ -class SharedPreferencesObservable(private val sharedPreferences: SharedPreferences) : - KeyedDataObservable<String>(), AutoCloseable { - - private val listener = createSharedPreferenceListener() - - init { - sharedPreferences.registerOnSharedPreferenceChangeListener(listener) - } - - override fun close() { - sharedPreferences.unregisterOnSharedPreferenceChangeListener(listener) - } -} - -/** Creates [SharedPreferences.OnSharedPreferenceChangeListener] for [KeyedObservable]. */ -internal fun KeyedObservable<String>.createSharedPreferenceListener() = - SharedPreferences.OnSharedPreferenceChangeListener { _, key -> - if (key != null) { - notifyChange(key, DataChangeReason.UPDATE) - } else { - // On Android >= R, SharedPreferences.Editor.clear() will trigger this case - notifyChange(DataChangeReason.DELETE) - } - } |