/// <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));
     });
 }