Move settings button to drawer

pull/253/head
Alex Baker 10 years ago
parent 69a4db35cb
commit e5661ed987

@ -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

@ -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;

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

@ -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() {

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="?attr/drawer_background"/>
</shape>

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="?attr/drawer_selected"/>
</shape>

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:drawable="@drawable/filter_row_selected"/>
<item android:state_pressed="false" android:drawable="@drawable/filter_row_normal"/>
</selector>

Binary file not shown.

After

Width:  |  Height:  |  Size: 805 B

@ -1,14 +1,51 @@
<ListView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@android:id/list"
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:choiceMode="singleChoice"
android:divider="@android:color/transparent"
android:background="?attr/drawer_background"
android:scrollbars="vertical"
android:layout_alignParentTop="true"
android:cacheColorHint="@android:color/transparent"
android:scrollingCache="false"
android:fitsSystemWindows="true"
tools:context=".NavigationDrawerFragment" />
android:orientation="vertical">
<ListView xmlns:tools="http://schemas.android.com/tools"
android:id="@android:id/list"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:background="?attr/drawer_background"
android:cacheColorHint="@android:color/transparent"
android:choiceMode="singleChoice"
android:divider="@android:color/transparent"
android:fitsSystemWindows="true"
android:scrollbars="vertical"
android:scrollingCache="false"
tools:context=".NavigationDrawerFragment" />
<LinearLayout
android:id="@+id/settings_row"
android:clickable="true"
android:layout_width="match_parent"
android:layout_height="45dp"
android:background="@drawable/filter_row_selector"
android:layout_gravity="bottom"
android:orientation="vertical">
<View
android:layout_width="match_parent"
android:layout_height="1px"
android:background="?attr/asSeparatorBackground" />
<!-- filter name -->
<TextView android:id="@+id/name"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:drawableLeft="?attr/ic_action_settings"
android:paddingLeft="10dp"
android:drawablePadding="10dp"
android:textAppearance="@style/TextAppearance.FLA_Filter"
android:checked="false"
android:lines="1"
android:singleLine="true"
android:ellipsize="end"
android:gravity="center_vertical"
android:text="@string/TLA_menu_settings"/>
</LinearLayout>
</LinearLayout>

@ -35,8 +35,4 @@
android:id="@+id/menu_support"
android:title="@string/TLA_menu_support"
tasks:showAsAction="never" />
<item
android:id="@+id/menu_settings"
android:title="@string/TLA_menu_settings"
tasks:showAsAction="never" />
</menu>

@ -31,6 +31,7 @@
<attr name="ic_action_camera" format="reference"/>
<attr name="ic_action_mic" format="reference" />
<attr name="ic_action_search" format="reference"/>
<attr name="ic_action_settings" format="reference"/>
<attr name="drawer_background" format="color"/>
<attr name="drawer_text" format="color"/>
<attr name="task_edit_theme_color" format="color"/>

@ -35,6 +35,7 @@
<item name="ic_action_camera">@drawable/ic_action_camera</item>
<item name="ic_action_mic">@drawable/ic_action_mic</item>
<item name="ic_action_search">@drawable/ic_action_search</item>
<item name="ic_action_settings">@drawable/ic_action_gear</item>
<item name="task_edit_theme_color">@color/task_edit_selected</item>
<item name="importance_background_selected">@drawable/importance_background_selected</item>
<item name="tea_icn_files">@drawable/tea_icn_files</item>

Loading…
Cancel
Save