Add option to hide widget header

Closes #50
pull/253/head
Alex Baker 9 years ago
parent dddf136358
commit 805813c001

@ -44,6 +44,7 @@ public class WidgetConfigActivity extends InjectingListActivity {
public static final String PREF_SHOW_DUE_DATE = "widget-show-due-date-";
public static final String PREF_HIDE_CHECKBOXES = "widget-hide-checkboxes-";
public static final String PREF_DARK_THEME = "widget-dark-theme-";
public static final String PREF_HIDE_HEADER = "widget-hide-header-";
int mAppWidgetId = AppWidgetManager.INVALID_APPWIDGET_ID;
@ -110,8 +111,9 @@ public class WidgetConfigActivity extends InjectingListActivity {
CheckBox hideDueDate = (CheckBox) findViewById(R.id.hideDueDate);
CheckBox darkTheme = (CheckBox) findViewById(R.id.darkTheme);
CheckBox hideCheckboxes = (CheckBox) findViewById(R.id.hideCheckboxes);
CheckBox hideHeader = (CheckBox) findViewById(R.id.hideHeader);
saveConfiguration(adapter.getSelection(), !hideDueDate.isChecked(),
darkTheme.isChecked(), hideCheckboxes.isChecked());
darkTheme.isChecked(), hideCheckboxes.isChecked(), hideHeader.isChecked());
updateWidget();
@ -144,7 +146,8 @@ public class WidgetConfigActivity extends InjectingListActivity {
adapter.unregisterRecevier();
}
private void saveConfiguration(FilterListItem filterListItem, boolean showDueDate, boolean darkTheme, boolean hideCheckboxes){
private void saveConfiguration(FilterListItem filterListItem, boolean showDueDate,
boolean darkTheme, boolean hideCheckboxes, boolean hideHeader){
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
@ -167,6 +170,7 @@ public class WidgetConfigActivity extends InjectingListActivity {
preferences.setBoolean(WidgetConfigActivity.PREF_SHOW_DUE_DATE + mAppWidgetId, showDueDate);
preferences.setBoolean(WidgetConfigActivity.PREF_DARK_THEME + mAppWidgetId, darkTheme);
preferences.setBoolean(WidgetConfigActivity.PREF_HIDE_CHECKBOXES + mAppWidgetId, hideCheckboxes);
preferences.setBoolean(WidgetConfigActivity.PREF_HIDE_HEADER + mAppWidgetId, hideHeader);
if(filterListItem instanceof FilterWithCustomIntent) {
String flattenedName = ((FilterWithCustomIntent)filterListItem).customTaskList.flattenToString();

@ -102,6 +102,10 @@ public class WidgetUpdateService extends InjectingService {
? R.layout.widget_initialized_dark
: R.layout.widget_initialized);
if (preferences.getBoolean(WidgetConfigActivity.PREF_HIDE_HEADER + widgetId, false)) {
views.setViewVisibility(R.id.widget_header, View.GONE);
}
int numberOfTasks = NUM_VISIBLE_TASKS;
TodorooCursor<Task> cursor = null;

@ -11,6 +11,7 @@ import android.content.Intent;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.view.View;
import android.widget.RemoteViews;
import com.todoroo.andlib.utility.AndroidUtilities;
@ -68,6 +69,9 @@ public class WidgetHelper {
rvIntent.setData(Uri.parse(rvIntent.toUri(Intent.URI_INTENT_SCHEME)));
boolean darkTheme = preferences.getBoolean(WidgetConfigActivity.PREF_DARK_THEME + id, false);
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);
}
remoteViews.setTextViewText(R.id.widget_title, filter.title);
remoteViews.setRemoteAdapter(R.id.list_view, rvIntent);
remoteViews.setEmptyView(R.id.list_view, R.id.empty_view);

@ -27,6 +27,16 @@
android:paddingTop="10dp"
android:paddingBottom="10dp" />
<CheckBox
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:checked="false"
android:id="@+id/hideHeader"
android:text="@string/widget_hide_header"
android:textSize="18sp"
android:paddingTop="10dp"
android:paddingBottom="10dp" />
<CheckBox
android:layout_width="wrap_content"
android:layout_height="match_parent"

@ -115,6 +115,7 @@
during the last sync with %s. Please try again later.</string>
<string name="widget_hide_due_date">Hide due dates</string>
<string name="widget_hide_checkboxes">Hide checkboxes</string>
<string name="widget_hide_header">Hide header</string>
<string-array name="sync_SPr_interval_entries">
<!-- sync_SPr_interval_entries: Synchronization Intervals -->

Loading…
Cancel
Save