diff --git a/astrid/src/main/java/com/todoroo/astrid/activity/EditPreferences.java b/astrid/src/main/java/com/todoroo/astrid/activity/EditPreferences.java index 7af1a6a4c..10331564e 100644 --- a/astrid/src/main/java/com/todoroo/astrid/activity/EditPreferences.java +++ b/astrid/src/main/java/com/todoroo/astrid/activity/EditPreferences.java @@ -60,7 +60,6 @@ public class EditPreferences extends TodorooPreferenceActivity { private static final int REQUEST_CODE_FILES_DIR = 2; private static final int REQUEST_CODE_TTS_CHECK = 2534; - public static final int RESULT_CODE_THEME_CHANGED = 1; public static final int RESULT_CODE_PERFORMANCE_PREF_CHANGED = 3; // --- instance variables diff --git a/astrid/src/main/java/com/todoroo/astrid/activity/TaskListActivity.java b/astrid/src/main/java/com/todoroo/astrid/activity/TaskListActivity.java index 8812c2890..7403d5022 100644 --- a/astrid/src/main/java/com/todoroo/astrid/activity/TaskListActivity.java +++ b/astrid/src/main/java/com/todoroo/astrid/activity/TaskListActivity.java @@ -453,9 +453,6 @@ public class TaskListActivity extends AstridActivity implements OnPageChangeList public boolean onOptionsItemSelected(MenuItem item) { TaskListFragment tlf = getTaskListFragment(); switch(item.getItemId()) { - case R.id.menu_settings: - tlf.showSettings(); - return true; case R.id.menu_voice_add: getTaskListFragment().startVoiceRecognition(); return true; diff --git a/astrid/src/main/java/com/todoroo/astrid/activity/TaskListFragment.java b/astrid/src/main/java/com/todoroo/astrid/activity/TaskListFragment.java index 359b489ce..9b55d5694 100644 --- a/astrid/src/main/java/com/todoroo/astrid/activity/TaskListFragment.java +++ b/astrid/src/main/java/com/todoroo/astrid/activity/TaskListFragment.java @@ -110,7 +110,6 @@ public class TaskListFragment extends InjectingListFragment implements OnSortSel private static final long BACKGROUND_REFRESH_INTERVAL = 120000L; private static final long WAIT_BEFORE_AUTOSYNC = 2000L; public static final int ACTIVITY_EDIT_TASK = 0; - public static final int ACTIVITY_SETTINGS = 1; public static final int ACTIVITY_REQUEST_NEW_FILTER = 5; // --- menu codes @@ -627,22 +626,6 @@ public class TaskListFragment extends InjectingListFragment implements OnSortSel setSyncOngoing(false); } - @Override - public void onActivityResult(int requestCode, int resultCode, Intent data) { - if (requestCode == ACTIVITY_SETTINGS) { - if (resultCode == EditPreferences.RESULT_CODE_THEME_CHANGED || resultCode == EditPreferences.RESULT_CODE_PERFORMANCE_PREF_CHANGED) { - getActivity().finish(); - getActivity().startActivity(getActivity().getIntent()); - TasksWidget.updateWidgets(getActivity()); - return; - } else if (resultCode == GtasksPreferences.RESULT_CODE_SYNCHRONIZE) { - preferences.setLong(SyncActionHelper.PREF_LAST_AUTO_SYNC, 0); // Forces autosync to occur after login - } - } - - super.onActivityResult(requestCode, resultCode, data); - } - /* * ====================================================================== * =================================================== managing list view @@ -922,16 +905,6 @@ public class TaskListFragment extends InjectingListFragment implements OnSortSel transitionForTaskEdit(); } - public void showSettings() { - Activity activity = getActivity(); - if (activity == null) { - return; - } - - Intent intent = new Intent(activity, EditPreferences.class); - startActivityForResult(intent, ACTIVITY_SETTINGS); - } - public void onTaskListItemClicked(long taskId) { mListener.onTaskListItemClicked(taskId); } diff --git a/astrid/src/main/java/org/tasks/ui/NavigationDrawerFragment.java b/astrid/src/main/java/org/tasks/ui/NavigationDrawerFragment.java index 84691b9a3..44d68e6bd 100644 --- a/astrid/src/main/java/org/tasks/ui/NavigationDrawerFragment.java +++ b/astrid/src/main/java/org/tasks/ui/NavigationDrawerFragment.java @@ -8,9 +8,7 @@ import android.content.Intent; import android.content.IntentFilter; import android.graphics.Bitmap; import android.graphics.drawable.BitmapDrawable; -import android.support.v7.app.ActionBarActivity; import android.app.Activity; -import android.support.v7.app.ActionBar; import android.support.v4.view.GravityCompat; import android.support.v4.widget.DrawerLayout; import android.content.res.Configuration; @@ -20,7 +18,6 @@ import android.view.ContextMenu; import android.view.KeyEvent; import android.view.LayoutInflater; import android.view.Menu; -import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; @@ -32,13 +29,16 @@ import android.widget.ListView; import android.widget.TextView; import android.widget.Toast; +import com.todoroo.astrid.activity.EditPreferences; import com.todoroo.astrid.activity.ShortcutActivity; -import com.todoroo.astrid.activity.TaskListActivity; import com.todoroo.astrid.activity.TaskListFragment; import com.todoroo.astrid.adapter.FilterAdapter; import com.todoroo.astrid.api.AstridApiConstants; import com.todoroo.astrid.api.Filter; import com.todoroo.astrid.api.FilterListItem; +import com.todoroo.astrid.gtasks.GtasksPreferences; +import com.todoroo.astrid.helper.SyncActionHelper; +import com.todoroo.astrid.widget.TasksWidget; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -46,6 +46,7 @@ import org.tasks.R; import org.tasks.filters.FilterCounter; import org.tasks.injection.InjectingFragment; import org.tasks.injection.Injector; +import org.tasks.preferences.Preferences; import javax.inject.Inject; @@ -60,6 +61,7 @@ public class NavigationDrawerFragment extends InjectingFragment { private static final int CONTEXT_MENU_SHORTCUT = R.string.FLA_context_shortcut; private static final int CONTEXT_MENU_INTENT = Menu.FIRST + 4; + public static final int ACTIVITY_SETTINGS = 1; public static final int REQUEST_CUSTOM_INTENT = 10; public static final int REQUEST_NEW_LIST = 4; @@ -85,6 +87,7 @@ public class NavigationDrawerFragment extends InjectingFragment { @Inject FilterCounter filterCounter; @Inject Injector injector; + @Inject Preferences preferences; public NavigationDrawerFragment() { } @@ -109,19 +112,41 @@ public class NavigationDrawerFragment extends InjectingFragment { setUpList(); } + @Override + public void onActivityResult(int requestCode, int resultCode, Intent data) { + if (requestCode == ACTIVITY_SETTINGS) { + if (resultCode == EditPreferences.RESULT_CODE_PERFORMANCE_PREF_CHANGED) { + getActivity().finish(); + getActivity().startActivity(getActivity().getIntent()); + TasksWidget.updateWidgets(getActivity()); + } else if (resultCode == GtasksPreferences.RESULT_CODE_SYNCHRONIZE) { + preferences.setLong(SyncActionHelper.PREF_LAST_AUTO_SYNC, 0); // Forces autosync to occur after login + } + } else { + super.onActivityResult(requestCode, resultCode, data); + } + } + @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - mDrawerListView = (ListView) inflater.inflate( - R.layout.fragment_navigation_drawer, container, false); + View layout = inflater.inflate(R.layout.fragment_navigation_drawer, container, false); + mDrawerListView = (ListView) layout.findViewById(android.R.id.list); mDrawerListView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView parent, View view, int position, long id) { selectItem(position); } }); + layout.findViewById(R.id.settings_row).setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + Intent intent = new Intent(getActivity(), EditPreferences.class); + startActivityForResult(intent, ACTIVITY_SETTINGS); + } + }); mDrawerListView.setItemChecked(mCurrentSelectedPosition, true); - return mDrawerListView; + return layout; } protected void setUpList() { diff --git a/astrid/src/main/res/drawable-hdpi/ic_action_gear.png b/astrid/src/main/res/drawable-hdpi/ic_action_gear.png new file mode 100644 index 000000000..23471f478 Binary files /dev/null and b/astrid/src/main/res/drawable-hdpi/ic_action_gear.png differ diff --git a/astrid/src/main/res/drawable-xhdpi/ic_action_gear.png b/astrid/src/main/res/drawable-xhdpi/ic_action_gear.png new file mode 100644 index 000000000..3be1a7821 Binary files /dev/null and b/astrid/src/main/res/drawable-xhdpi/ic_action_gear.png differ diff --git a/astrid/src/main/res/drawable-xxhdpi/ic_action_gear.png b/astrid/src/main/res/drawable-xxhdpi/ic_action_gear.png new file mode 100644 index 000000000..e00cd92c1 Binary files /dev/null and b/astrid/src/main/res/drawable-xxhdpi/ic_action_gear.png differ diff --git a/astrid/src/main/res/drawable/filter_row_normal.xml b/astrid/src/main/res/drawable/filter_row_normal.xml new file mode 100644 index 000000000..61d586605 --- /dev/null +++ b/astrid/src/main/res/drawable/filter_row_normal.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/astrid/src/main/res/drawable/filter_row_selected.xml b/astrid/src/main/res/drawable/filter_row_selected.xml new file mode 100644 index 000000000..5b47a42f5 --- /dev/null +++ b/astrid/src/main/res/drawable/filter_row_selected.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/astrid/src/main/res/drawable/filter_row_selector.xml b/astrid/src/main/res/drawable/filter_row_selector.xml new file mode 100644 index 000000000..16d125508 --- /dev/null +++ b/astrid/src/main/res/drawable/filter_row_selector.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/astrid/src/main/res/drawable/ic_action_gear.png b/astrid/src/main/res/drawable/ic_action_gear.png new file mode 100644 index 000000000..46cad2641 Binary files /dev/null and b/astrid/src/main/res/drawable/ic_action_gear.png differ diff --git a/astrid/src/main/res/layout/fragment_navigation_drawer.xml b/astrid/src/main/res/layout/fragment_navigation_drawer.xml index 98ed78124..5b9535dcb 100644 --- a/astrid/src/main/res/layout/fragment_navigation_drawer.xml +++ b/astrid/src/main/res/layout/fragment_navigation_drawer.xml @@ -1,14 +1,51 @@ - + android:orientation="vertical"> + + + + + + + + + + + + + diff --git a/astrid/src/main/res/menu/task_list_activity.xml b/astrid/src/main/res/menu/task_list_activity.xml index 2fde58564..4e1ccb8d1 100644 --- a/astrid/src/main/res/menu/task_list_activity.xml +++ b/astrid/src/main/res/menu/task_list_activity.xml @@ -35,8 +35,4 @@ android:id="@+id/menu_support" android:title="@string/TLA_menu_support" tasks:showAsAction="never" /> - \ No newline at end of file diff --git a/astrid/src/main/res/values/attrs.xml b/astrid/src/main/res/values/attrs.xml index 71e784a35..d5b2bb75f 100644 --- a/astrid/src/main/res/values/attrs.xml +++ b/astrid/src/main/res/values/attrs.xml @@ -31,6 +31,7 @@ + diff --git a/astrid/src/main/res/values/styles.xml b/astrid/src/main/res/values/styles.xml index 0f42e0ec3..3bcbb67e6 100644 --- a/astrid/src/main/res/values/styles.xml +++ b/astrid/src/main/res/values/styles.xml @@ -35,6 +35,7 @@ @drawable/ic_action_camera @drawable/ic_action_mic @drawable/ic_action_search + @drawable/ic_action_gear @color/task_edit_selected @drawable/importance_background_selected @drawable/tea_icn_files