Started refactoring MainMenuPopover

pull/14/head
Sam Bosley 13 years ago
parent 5e73b147ce
commit e67a385a17

@ -5,13 +5,31 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:paddingLeft="10dip"> android:paddingLeft="10dip">
<LinearLayout <ScrollView
android:id="@+id/content"
android:layout_width="280dip" android:layout_width="280dip"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="?attr/asListPopoverBg" android:layout_below="@+id/gdi_arrow_up">
android:orientation="vertical" <LinearLayout
android:layout_below="@+id/gdi_arrow_up"/> android:id="@+id/topFixedItems"
android:layout_width="280dip"
android:layout_height="wrap_content"
android:background="?attr/asListPopoverBg"
android:orientation="vertical"/>
<include layout="@layout/fla_separator"/>
<LinearLayout
android:id="@+id/content"
android:layout_width="280dip"
android:layout_height="wrap_content"
android:background="?attr/asListPopoverBg"
android:orientation="vertical"/>
<include layout="@layout/fla_separator"/>
<LinearLayout
android:id="@+id/bottomFixedItems"
android:layout_width="280dip"
android:layout_height="wrap_content"
android:background="?attr/asListPopoverBg"
android:orientation="vertical"/>
</ScrollView>
<ImageView <ImageView
android:id="@+id/gdi_arrow_up" android:id="@+id/gdi_arrow_up"

@ -453,10 +453,10 @@ public class TaskListActivity extends AstridActivity implements MainMenuListener
} }
@Override @Override
public void mainMenuItemSelected(int item) { public void mainMenuItemSelected(int item, Intent customIntent) {
TaskListFragment tla = getTaskListFragment(); TaskListFragment tla = getTaskListFragment();
switch (item) { switch (item) {
case MainMenuPopover.MAIN_MENU_ITEM_TASKS: case MainMenuPopover.MAIN_MENU_ITEM_LISTS:
listsNav.performClick(); listsNav.performClick();
break; break;
case MainMenuPopover.MAIN_MENU_ITEM_FRIENDS: case MainMenuPopover.MAIN_MENU_ITEM_FRIENDS:

@ -1,9 +1,11 @@
package com.todoroo.astrid.ui; package com.todoroo.astrid.ui;
import android.content.Context; import android.content.Context;
import android.content.Intent;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.View; import android.view.View;
import android.view.View.OnClickListener; import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.ImageView; import android.widget.ImageView;
import android.widget.LinearLayout; import android.widget.LinearLayout;
import android.widget.TextView; import android.widget.TextView;
@ -12,20 +14,22 @@ import com.timsu.astrid.R;
public class MainMenuPopover extends FragmentPopover { public class MainMenuPopover extends FragmentPopover {
public static final int MAIN_MENU_ITEM_TASKS = 1; public static final int MAIN_MENU_ITEM_LISTS = R.string.TLA_menu_lists;
public static final int MAIN_MENU_ITEM_FRIENDS = 2; public static final int MAIN_MENU_ITEM_FRIENDS = R.string.TLA_menu_friends;
public static final int MAIN_MENU_ITEM_SUGGESTIONS = 3; public static final int MAIN_MENU_ITEM_SUGGESTIONS = R.string.TLA_menu_suggestions;
public static final int MAIN_MENU_ITEM_TUTORIAL = 4; public static final int MAIN_MENU_ITEM_TUTORIAL = R.string.TLA_menu_tutorial;
public static final int MAIN_MENU_ITEM_SETTINGS = 5; public static final int MAIN_MENU_ITEM_SETTINGS = R.string.TLA_menu_settings;
public static final int MAIN_MENU_ITEM_SUPPORT = 6; public static final int MAIN_MENU_ITEM_SUPPORT = R.string.TLA_menu_support;
public interface MainMenuListener { public interface MainMenuListener {
public void mainMenuItemSelected(int item); public void mainMenuItemSelected(int item, Intent customIntent);
} }
private MainMenuListener mListener; private MainMenuListener mListener;
private final LayoutInflater inflater; private final LayoutInflater inflater;
private final LinearLayout content; private final LinearLayout content;
private final LinearLayout topFixed;
private final LinearLayout bottomFixed;
public void setMenuListener(MainMenuListener listener) { public void setMenuListener(MainMenuListener listener) {
this.mListener = listener; this.mListener = listener;
@ -37,16 +41,21 @@ public class MainMenuPopover extends FragmentPopover {
inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
content = (LinearLayout) getContentView().findViewById(R.id.content); content = (LinearLayout) getContentView().findViewById(R.id.content);
if (!isTablet)
addListsItem();
addFriendsItem();
addSuggestionsItem();
addTutorialItem();
addSeparator(); topFixed = (LinearLayout) getContentView().findViewById(R.id.topFixedItems);
bottomFixed = (LinearLayout) getContentView().findViewById(R.id.bottomFixedItems);
addSettingsItem(); addFixedItems(isTablet);
addSupportItem(); }
private void addFixedItems(boolean isTablet) {
if (!isTablet)
addMenuItem(R.string.TLA_menu_lists, R.drawable.icn_menu_tasks, MAIN_MENU_ITEM_LISTS, null, topFixed); // Lists item
// addMenuItem(R.string.TLA_menu_friends, R.drawable.icn_friends, MAIN_MENU_ITEM_FRIENDS, null, topFixed); // Friends item
// addMenuItem(R.string.TLA_menu_suggestions, R.drawable.icn_featured_lists, MAIN_MENU_ITEM_SUGGESTIONS, null, topFixed); // Suggestions item
addMenuItem(R.string.TLA_menu_tutorial, R.drawable.icn_tutorial, MAIN_MENU_ITEM_TUTORIAL, null, bottomFixed); // Tutorial item
addMenuItem(R.string.TLA_menu_settings, R.drawable.icn_settings, MAIN_MENU_ITEM_SETTINGS, null, bottomFixed); // Settings item
addMenuItem(R.string.TLA_menu_support, R.drawable.icn_support, MAIN_MENU_ITEM_SUPPORT, null, bottomFixed); // Support item
} }
@Override @Override
@ -54,45 +63,33 @@ public class MainMenuPopover extends FragmentPopover {
return mRect.centerX() - arrow.getMeasuredWidth() / 2 - (int) (12 * metrics.density); return mRect.centerX() - arrow.getMeasuredWidth() / 2 - (int) (12 * metrics.density);
} }
private void addMenuItem(int title, int imageRes, final int menuItemOption) { public void addMenuItem(int title, int imageRes, int id, Intent customIntent) {
addMenuItem(title, imageRes, id, customIntent, content);
}
public void addMenuItem(int title, int imageRes, int id) {
addMenuItem(title, imageRes, id, null, content);
}
private void addMenuItem(int title, int imageRes, final int id, final Intent customIntent, ViewGroup container) {
View item = setupItemWithParams(title, imageRes); View item = setupItemWithParams(title, imageRes);
content.addView(item); container.addView(item);
item.setOnClickListener(new OnClickListener() { item.setOnClickListener(new OnClickListener() {
@Override @Override
public void onClick(View v) { public void onClick(View v) {
dismiss(); dismiss();
if (mListener != null) if (mListener != null)
mListener.mainMenuItemSelected(menuItemOption); mListener.mainMenuItemSelected(id, customIntent);
} }
}); });
} }
private void addSeparator() { public void addSeparator() {
inflater.inflate(R.layout.fla_separator, content); inflater.inflate(R.layout.fla_separator, content);
} }
private void addListsItem() { public void clear() {
addMenuItem(R.string.TLA_menu_lists, R.drawable.icn_menu_tasks, MAIN_MENU_ITEM_TASKS); content.removeAllViews();
}
private void addFriendsItem() {
//addMenuItem(R.string.TLA_menu_friends, R.drawable.icn_friends, MAIN_MENU_ITEM_FRIENDS);
}
private void addSuggestionsItem() {
//addMenuItem(R.string.TLA_menu_suggestions, R.drawable.icn_featured_lists, MAIN_MENU_ITEM_SUGGESTIONS);
}
private void addTutorialItem() {
addMenuItem(R.string.TLA_menu_tutorial, R.drawable.icn_tutorial, MAIN_MENU_ITEM_TUTORIAL);
}
private void addSettingsItem() {
addMenuItem(R.string.TLA_menu_settings, R.drawable.icn_settings, MAIN_MENU_ITEM_SETTINGS);
}
private void addSupportItem() {
addMenuItem(R.string.TLA_menu_support, R.drawable.icn_support, MAIN_MENU_ITEM_SUPPORT);
} }
private View setupItemWithParams(int title, int imageRes) { private View setupItemWithParams(int title, int imageRes) {

Loading…
Cancel
Save