From 1e8a94e49026b0a32216f0a150f07a43ea1ea74f Mon Sep 17 00:00:00 2001 From: C3C0 Date: Fri, 15 Jan 2021 13:40:06 +0100 Subject: [PATCH] XSharedPreferences: properly handle reg/unreg of change listeners Throw exception in case file watcher feature is disabled. --- .../java/de/robv/android/xposed/XSharedPreferences.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/xposed-bridge/src/main/java/de/robv/android/xposed/XSharedPreferences.java b/xposed-bridge/src/main/java/de/robv/android/xposed/XSharedPreferences.java index 82e64c1d..1f0272bb 100644 --- a/xposed-bridge/src/main/java/de/robv/android/xposed/XSharedPreferences.java +++ b/xposed-bridge/src/main/java/de/robv/android/xposed/XSharedPreferences.java @@ -483,6 +483,9 @@ public final class XSharedPreferences implements SharedPreferences { @Deprecated @Override public void registerOnSharedPreferenceChangeListener(OnSharedPreferenceChangeListener listener) { + if (!mWatcherEnabled) + throw new UnsupportedOperationException("File watcher feature is disabled for this instance"); + synchronized(this) { mListeners.put(listener, sContent); } @@ -491,6 +494,9 @@ public final class XSharedPreferences implements SharedPreferences { @Deprecated @Override public void unregisterOnSharedPreferenceChangeListener(OnSharedPreferenceChangeListener listener) { + if (!mWatcherEnabled) + throw new UnsupportedOperationException("File watcher feature is disabled for this instance"); + synchronized(this) { mListeners.remove(listener); }