Default to old setting if widget theme not set

pull/253/head
Alex Baker 9 years ago
parent 5f564ff6d9
commit 462276a8a6

@ -91,7 +91,7 @@ public class WidgetUpdateService extends InjectingService {
}
private RemoteViews buildUpdate(Context context, int widgetId) {
boolean darkTheme = preferences.getBoolean(WidgetConfigActivity.PREF_DARK_THEME + widgetId, false);
boolean darkTheme = preferences.useDarkWidgetTheme(widgetId);
/**
* The reason we use a bunch of different but almost identical layouts is that there is a bug with
* Android 2.1 (level 7) that doesn't allow setting backgrounds on remote views. I know it's lame,

@ -9,6 +9,7 @@ import android.preference.PreferenceManager;
import com.todoroo.astrid.api.AstridApiConstants;
import com.todoroo.astrid.core.SortHelper;
import com.todoroo.astrid.utility.AstridDefaultPreferenceSpec;
import com.todoroo.astrid.widget.WidgetConfigActivity;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -50,6 +51,11 @@ public class Preferences {
publicPrefs = context.getSharedPreferences(AstridApiConstants.PUBLIC_PREFS, Context.MODE_WORLD_READABLE);
}
public boolean useDarkWidgetTheme(int widgetId) {
boolean legacySetting = getBoolean(R.string.p_use_dark_theme_widget, false);
return getBoolean(WidgetConfigActivity.PREF_DARK_THEME + widgetId, legacySetting);
}
public void setIfUnset(SharedPreferences prefs, Editor editor, Resources r, int keyResource, int value) {
String key = r.getString(keyResource);
if (!prefs.contains(key)) {

@ -69,7 +69,7 @@ public class ScrollableViewsFactory implements RemoteViewsService.RemoteViewsFac
this.taskService = taskService;
dueDateFormatter = new DueDateFormatter(context);
dark = preferences.getBoolean(WidgetConfigActivity.PREF_DARK_THEME + widgetId, false);
dark = preferences.useDarkWidgetTheme(widgetId);
showDueDates = preferences.getBoolean(WidgetConfigActivity.PREF_SHOW_DUE_DATE + widgetId, false);
hideCheckboxes = preferences.getBoolean(WidgetConfigActivity.PREF_HIDE_CHECKBOXES + widgetId, false);
}

@ -67,7 +67,7 @@ public class WidgetHelper {
rvIntent.putExtra(ScrollableWidgetUpdateService.FILTER, filterBundle);
rvIntent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, id);
rvIntent.setData(Uri.parse(rvIntent.toUri(Intent.URI_INTENT_SCHEME)));
boolean darkTheme = preferences.getBoolean(WidgetConfigActivity.PREF_DARK_THEME + id, false);
boolean darkTheme = preferences.useDarkWidgetTheme(id);
RemoteViews remoteViews = new RemoteViews(context.getPackageName(), darkTheme ? R.layout.scrollable_widget_dark : R.layout.scrollable_widget_light);
if (preferences.getBoolean(WidgetConfigActivity.PREF_HIDE_HEADER + id, false)) {
remoteViews.setViewVisibility(R.id.widget_header, View.GONE);

@ -251,6 +251,7 @@
<string name="TEA_ctrl_timer_pref">TEA_ctrl_timer_pref</string>
<string name="TEA_ctrl_share_pref">TEA_ctrl_share_pref</string>
<string name="p_use_dark_theme">use_dark_theme</string>
<string name="p_use_dark_theme_widget">use_dark_theme_widget</string>
<string name="p_debug_logging">debug_logging</string>
<!-- Deprecated -->

Loading…
Cancel
Save