From 86eb24b02cc9288197f73c7b21de46837e28f7e1 Mon Sep 17 00:00:00 2001 From: s1rius Date: Tue, 8 Oct 2019 01:49:27 -0700 Subject: [PATCH] Work with custom SharedPreferences implementation (#571) Summary: see https://github.com/facebook/flipper/issues/450 If we want to control a custom SharedPreferences, we can create a Class as SharedPreferencesDescriptor's Subclass, override the getSharedPreferences() function to return a custom SharedPreferences instance. ## Changelog add getSharedPreferences() function in SharedPreferencesDescriptor Class Pull Request resolved: https://github.com/facebook/flipper/pull/571 Test Plan: No Reviewed By: jknoxville Differential Revision: D17738675 Pulled By: passy fbshipit-source-id: d227e7d6461194f7a01ae7b2ba53434dd71fc0d2 --- .../sharedpreferences/SharedPreferencesFlipperPlugin.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/android/src/main/java/com/facebook/flipper/plugins/sharedpreferences/SharedPreferencesFlipperPlugin.java b/android/src/main/java/com/facebook/flipper/plugins/sharedpreferences/SharedPreferencesFlipperPlugin.java index a101cec0c..0cde0db9f 100644 --- a/android/src/main/java/com/facebook/flipper/plugins/sharedpreferences/SharedPreferencesFlipperPlugin.java +++ b/android/src/main/java/com/facebook/flipper/plugins/sharedpreferences/SharedPreferencesFlipperPlugin.java @@ -101,8 +101,7 @@ public class SharedPreferencesFlipperPlugin implements FlipperPlugin { } mSharedPreferences = new HashMap<>(descriptors.size()); for (SharedPreferencesDescriptor descriptor : descriptors) { - SharedPreferences preferences = - context.getSharedPreferences(descriptor.name, descriptor.mode); + SharedPreferences preferences = descriptor.getSharedPreferences(context); preferences.registerOnSharedPreferenceChangeListener(onSharedPreferenceChangeListener); mSharedPreferences.put(preferences, descriptor); } @@ -252,5 +251,9 @@ public class SharedPreferencesFlipperPlugin implements FlipperPlugin { this.name = name; this.mode = mode; } + + public SharedPreferences getSharedPreferences(Context context) { + return context.getSharedPreferences(name, mode); + } } }