/// <summary> /// A observable sequence of keys for changed shared preferences. /// </summary> /// <returns>The observable sequence of keys for changed shared preferences.</returns> /// <param name="sharedPreferences">The shared preferences to get the changes from.</param> public static IObservable <string?> PreferenceChanged(this ISharedPreferences sharedPreferences) => Observable.Create <string?>(observer => { var listener = new OnSharedPreferenceChangeListener(observer); sharedPreferences.RegisterOnSharedPreferenceChangeListener(listener); return(Disposable.Create(() => sharedPreferences.UnregisterOnSharedPreferenceChangeListener(listener))); });
/// <summary> /// A observable sequence of keys for changed shared preferences. /// </summary> /// <returns>The observable sequence of keys for changed shared preferences.</returns> /// <param name="sharedPreferences">The shared preferences to get the changes from.</param> public static IObservable<string> PreferenceChanged(this ISharedPreferences sharedPreferences) { return Observable.Create<string> (observer => { var listener = new OnSharedPreferenceChangeListener(observer); sharedPreferences.RegisterOnSharedPreferenceChangeListener(listener); return Disposable.Create (() => sharedPreferences.UnregisterOnSharedPreferenceChangeListener (listener)); }); }