@Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { mActivePosition = position; mMenuDrawer.setActiveView(view, position); mAdapter.setActivePosition(position); onMenuItemClicked(position, (Item) mAdapter.getItem(position)); }
static JComponent createMenuComponent(JComponent menu, ActionMap actionMap, List actions) { MenuAdapter menuAdapter = new MenuAdapter(menu); for (Object menuElement : actions) { if (MenuFactory.SEPARATOR.equals(menuElement)) { menuAdapter.addSeparator(); } else if (menuElement instanceof Object[]) { Object[] items = (Object[]) menuElement; if (items.length > 1) { JMenu subMenu = new JMenu(items[0].toString()); List<Object> keys = Arrays.asList(items).subList(1, items.length); createMenuComponent(subMenu, actionMap, keys); if (subMenu.getMenuComponents().length > 0) { menuAdapter.addSubMenu(subMenu); } } } else if (menuElement instanceof List) { List items = (List) menuElement; if (items.size() > 1) { JMenu subMenu = new JMenu(items.get(0).toString()); List<List> keys = Arrays.asList(items).subList(1, items.size()); createMenuComponent(subMenu, actionMap, keys); if (subMenu.getMenuComponents().length > 0) { menuAdapter.addSubMenu(subMenu); } } } else { Action action = actionMap.get(menuElement); if (action != null) { menuAdapter.add(action); } } } return trim(menuAdapter); }
@Override public void updateMenuView(boolean cleared) { mHasContentWidth = false; if (mAdapter != null) { mAdapter.notifyDataSetChanged(); } }
private int measureContentWidth() { int i = 0; View view = null; int l = 0; MenuAdapter menuadapter = mAdapter; int k1 = android.view.View.MeasureSpec.makeMeasureSpec(0, 0); int l1 = android.view.View.MeasureSpec.makeMeasureSpec(0, 0); int i2 = menuadapter.getCount(); int j = 0; do { int k; label0: { k = i; if (j < i2) { int i1 = menuadapter.getItemViewType(j); k = l; if (i1 != l) { k = i1; view = null; } if (mMeasureParent == null) { mMeasureParent = new FrameLayout(mContext); } view = menuadapter.getView(j, view, mMeasureParent); view.measure(k1, l1); l = view.getMeasuredWidth(); if (l < mPopupMaxWidth) { break label0; } k = mPopupMaxWidth; } return k; } int j1 = i; if (l > i) { j1 = l; } j++; l = k; i = j1; } while (true); }
@Subscribe public void loadSucceeded(LoadSucceededEvent event) { if (TASK_TAG.equals(event.tag)) { listOfLists.clear(); listOfLists.addAll(event.listOfLists); menuAdapter.notifyDataSetChanged(); foodListView.setVisibility(View.VISIBLE); progressLayout.setVisibility(View.GONE); errorLayout.setVisibility(View.GONE); } }
@Override public void onListItemClick(ListView l, View v, int position, long id) { super.onListItemClick(l, v, position, id); if (adapter.getItem(position).tag.equals(MENU_MESSAGES)) { Intent intent = new Intent(getActivity(), MessagesActivity.class); getActivity().startActivityForResult(intent, 0); // getActivity().overridePendingTransition(R.anim.right_to_left, // R.anim.left_to_right); getActivity().overridePendingTransition(R.anim.diagonaltranslate, R.anim.alpha); } else if (adapter.getItem(position).tag.equals(MENU_GAMES)) { Intent intent = new Intent(getActivity(), GamesActivity.class); getActivity().startActivityForResult(intent, 0); // getActivity().overridePendingTransition(R.anim.right_to_left, // R.anim.left_to_right); getActivity().overridePendingTransition(R.anim.diagonaltranslate, R.anim.alpha); } else if (adapter.getItem(position).tag.equals(MENU_NEW_GAME)) { Intent intent = new Intent(getActivity(), NewGameActivity.class); getActivity().startActivityForResult(intent, 0); // getActivity().overridePendingTransition(R.anim.right_to_left, // R.anim.right_to_left); getActivity().overridePendingTransition(R.anim.diagonaltranslate, R.anim.alpha); } else if (adapter.getItem(position).tag.equals("logout")) { getActivity() .getSharedPreferences("settings", Context.MODE_PRIVATE) .edit() .putBoolean("login", false) .apply(); Log.d( "myLogs", getActivity() .getSharedPreferences("settings", Context.MODE_PRIVATE) .getBoolean("login", false) + " Login"); Server.closeSocet(); getActivity().setResult(MainActivity.RESULT_CLOSE_ALL); getActivity().finish(); } } // onListItemClick()
static JComponent createMenuComponent(JComponent menu, Collection items) { MenuAdapter menuAdapter = new MenuAdapter(menu); for (Iterator it = items.iterator(); it.hasNext(); ) { Object item = (Object) it.next(); if (item instanceof Action) { menuAdapter.add((Action) item); } else if (item instanceof Action[]) { Action[] actions = (Action[]) item; if (actions.length > 1) { String name = (String) actions[0].getValue(Action.NAME); JMenu subMenu = menuAdapter.addSubMenu(name); List<Action> keys = Arrays.asList(actions).subList(1, actions.length); createMenuComponent(subMenu, keys); } } else if (item instanceof JMenuItem) { menuAdapter.add((JMenuItem) item); } else if (item instanceof JSeparator) { menuAdapter.addSeparator(); } } return trim(menuAdapter); }
@Override protected void onCreate(Bundle inState) { super.onCreate(inState); if (inState != null) { mActivePosition = inState.getInt(STATE_ACTIVE_POSITION); } mMenuDrawer = MenuDrawer.attach(this, MenuDrawer.Type.BEHIND, getDrawerPosition(), getDragMode()); List<Object> items = new ArrayList<Object>(); items.add(new Item("Item 1", R.drawable.ic_action_refresh_dark)); items.add(new Item("Item 2", R.drawable.ic_action_select_all_dark)); items.add(new Category("Cat 1")); items.add(new Item("Item 3", R.drawable.ic_action_refresh_dark)); items.add(new Item("Item 4", R.drawable.ic_action_select_all_dark)); items.add(new Category("Cat 2")); items.add(new Item("Item 5", R.drawable.ic_action_refresh_dark)); items.add(new Item("Item 6", R.drawable.ic_action_select_all_dark)); items.add(new Category("Cat 3")); items.add(new Item("Item 7", R.drawable.ic_action_refresh_dark)); items.add(new Item("Item 8", R.drawable.ic_action_select_all_dark)); items.add(new Category("Cat 4")); items.add(new Item("Item 9", R.drawable.ic_action_refresh_dark)); items.add(new Item("Item 10", R.drawable.ic_action_select_all_dark)); mList = new ListView(this); mAdapter = new MenuAdapter(this, items); mAdapter.setListener(this); mAdapter.setActivePosition(mActivePosition); mList.setAdapter(mAdapter); mList.setOnItemClickListener(mItemClickListener); mMenuDrawer.setMenuView(mList); }
/** * Removes leading & trailing separators (if any). * * @param menuAdapter the source menu via our MenuAdapter * @return menu sans pointless separators (that separate nothing) */ static JComponent trim(MenuAdapter menuAdapter) { int count = menuAdapter.getMenuComponentCount(); if (count > 0) { Component firstComponent = menuAdapter.getMenuComponent(0); if (firstComponent instanceof JSeparator) { menuAdapter.remove(0); } int last = menuAdapter.getMenuComponentCount() - 1; Component lastComponent = menuAdapter.getMenuComponent(last); if (lastComponent instanceof JSeparator) { menuAdapter.remove(last); } if (count > menuAdapter.getMenuComponentCount()) trim(menuAdapter); } return menuAdapter.getComponent(); }
@Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); adapter = new MenuAdapter(getActivity()); adapter.add(new MenuItem(MENU_MESSAGES, 3 + "")); adapter.add(new MenuItem(MENU_GAMES, 28 + "")); adapter.add(new MenuItem(MENU_WARNINGS, 1 + "")); adapter.add(new MenuItem(MENU_PLAYERS, 155 + "")); adapter.add(new MenuItem(MENU_NEW_GAME, "")); adapter.add(new MenuItem(MENU_NEW_MESSAGE, "")); MenuItem logoutItem = new MenuItem("logout", ""); logoutItem.setLoguot(true); adapter.add(logoutItem); setListAdapter(adapter); } // onActivityCreated()
@Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { MenuAdapter adapter = mAdapter; adapter.mAdapterMenu.performItemAction(adapter.getItem(position), 0); }
@Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { // Adjust position if only one blog is in the app if (mListView.getHeaderViewsCount() > 0 && position > 0) position--; if (!mIsDotComBlog) position++; if (position == mActivePosition) { // Same row selected mMenuDrawer.closeMenu(); return; } int activityTag = (Integer) view.getTag(); mActivePosition = position; mAdapter.notifyDataSetChanged(); Intent intent = null; SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(WPActionBarActivity.this); SharedPreferences.Editor editor = settings.edit(); switch (activityTag) { case READER_ACTIVITY: if (!(WPActionBarActivity.this instanceof ReaderActivity)) mShouldFinish = true; int readerBlogID = WordPress.wpDB.getWPCOMBlogID(); if (WordPress.currentBlog.isDotcomFlag()) { intent = new Intent(WPActionBarActivity.this, ReaderActivity.class); intent.putExtra("id", readerBlogID); intent.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION); editor.putInt("wp_pref_last_activity", READER_ACTIVITY); } break; case POSTS_ACTIVITY: if (!(WPActionBarActivity.this instanceof PostsActivity) || (WPActionBarActivity.this instanceof PagesActivity)) mShouldFinish = true; intent = new Intent(WPActionBarActivity.this, PostsActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION); editor.putInt("wp_pref_last_activity", POSTS_ACTIVITY); break; case PAGES_ACTIVITY: if (!(WPActionBarActivity.this instanceof PagesActivity)) mShouldFinish = true; intent = new Intent(WPActionBarActivity.this, PagesActivity.class); intent.putExtra("id", WordPress.currentBlog.getId()); intent.putExtra("isNew", true); intent.putExtra("viewPages", true); intent.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION); editor.putInt("wp_pref_last_activity", PAGES_ACTIVITY); break; case COMMENTS_ACTIVITY: if (!(WPActionBarActivity.this instanceof CommentsActivity)) mShouldFinish = true; intent = new Intent(WPActionBarActivity.this, CommentsActivity.class); intent.putExtra("id", WordPress.currentBlog.getId()); intent.putExtra("isNew", true); intent.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION); editor.putInt("wp_pref_last_activity", COMMENTS_ACTIVITY); break; // case STATS_ACTIVITY: // if (!(WPActionBarActivity.this instanceof StatsActivity)) // mShouldFinish = true; // intent = new Intent(WPActionBarActivity.this, // StatsActivity.class); // intent.putExtra("id", WordPress.currentBlog.getId()); // intent.putExtra("isNew", // true); // intent.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION); // editor.putInt("wp_pref_last_activity", STATS_ACTIVITY); // break; case QUICK_PHOTO_ACTIVITY: mShouldFinish = false; intent = new Intent(WPActionBarActivity.this, EditPostActivity.class); intent.putExtra( "quick-media", DeviceUtils.getInstance().hasCamera(getApplicationContext()) ? Constants.QUICK_POST_PHOTO_CAMERA : Constants.QUICK_POST_PHOTO_LIBRARY); intent.putExtra("isNew", true); break; case QUICK_VIDEO_ACTIVITY: mShouldFinish = false; intent = new Intent(WPActionBarActivity.this, EditPostActivity.class); intent.putExtra( "quick-media", DeviceUtils.getInstance().hasCamera(getApplicationContext()) ? Constants.QUICK_POST_VIDEO_CAMERA : Constants.QUICK_POST_VIDEO_LIBRARY); intent.putExtra("isNew", true); break; case VIEW_SITE_ACTIVITY: if (!(WPActionBarActivity.this instanceof ViewSiteActivity)) mShouldFinish = true; intent = new Intent(WPActionBarActivity.this, ViewSiteActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION); editor.putInt("wp_pref_last_activity", VIEW_SITE_ACTIVITY); break; case DASHBOARD_ACTIVITY: if (!(WPActionBarActivity.this instanceof DashboardActivity)) mShouldFinish = true; intent = new Intent(WPActionBarActivity.this, DashboardActivity.class); intent.putExtra("loadAdmin", true); intent.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION); editor.putInt("wp_pref_last_activity", DASHBOARD_ACTIVITY); break; case SETTINGS_ACTIVITY: // Settings shouldn't be launched with a delay, or close the drawer mShouldFinish = false; Intent settingsIntent = new Intent(WPActionBarActivity.this, PreferencesActivity.class); startActivityForResult(settingsIntent, SETTINGS_REQUEST); return; } editor.commit(); if (intent != null) { mMenuDrawer.closeMenu(); startActivityWithDelay(intent); } }