diff --git a/app/src/main/java/eu/faircode/email/Widget.java b/app/src/main/java/eu/faircode/email/Widget.java index 393cb81eb6..a025e3cd33 100644 --- a/app/src/main/java/eu/faircode/email/Widget.java +++ b/app/src/main/java/eu/faircode/email/Widget.java @@ -134,6 +134,23 @@ public class Widget extends AppWidgetProvider { }); } + @Override + public void onDeleted(Context context, int[] appWidgetIds) { + try { + SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); + SharedPreferences.Editor editor = prefs.edit(); + for (int appWidgetId : appWidgetIds) { + String prefix = "widget." + appWidgetId + "."; + for (String key : prefs.getAll().keySet()) + if (key.startsWith(prefix)) + editor.remove(key); + } + editor.apply(); + } catch (Throwable ex) { + Log.e(ex); + } + } + static void init(Context context, int appWidgetId) { update(context); } diff --git a/app/src/main/java/eu/faircode/email/WidgetUnified.java b/app/src/main/java/eu/faircode/email/WidgetUnified.java index 9bdecda78c..77cba718e1 100644 --- a/app/src/main/java/eu/faircode/email/WidgetUnified.java +++ b/app/src/main/java/eu/faircode/email/WidgetUnified.java @@ -103,6 +103,23 @@ public class WidgetUnified extends AppWidgetProvider { } } + @Override + public void onDeleted(Context context, int[] appWidgetIds) { + try { + SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); + SharedPreferences.Editor editor = prefs.edit(); + for (int appWidgetId : appWidgetIds) { + String prefix = "widget." + appWidgetId + "."; + for (String key : prefs.getAll().keySet()) + if (key.startsWith(prefix)) + editor.remove(key); + } + editor.apply(); + } catch (Throwable ex) { + Log.e(ex); + } + } + static int getFontSizeSp(int size) { switch (size) { case 1: // small