Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(125)

Unified Diff: remoting/android/java/src/org/chromium/chromoting/NavigationMenuAdapter.java

Issue 2383283002: [Remoting Android] Navigation Menu Cleanups (Closed)
Patch Set: Fix Findbug Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « remoting/android/java/res/menu/help_list_item.xml ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: remoting/android/java/src/org/chromium/chromoting/NavigationMenuAdapter.java
diff --git a/remoting/android/java/src/org/chromium/chromoting/NavigationMenuAdapter.java b/remoting/android/java/src/org/chromium/chromoting/NavigationMenuAdapter.java
index 96c04435423fce4a0b991c8b475d622a2fcabff6..f8e7615fb81a948fcad27919a77d1ec0c438422f 100644
--- a/remoting/android/java/src/org/chromium/chromoting/NavigationMenuAdapter.java
+++ b/remoting/android/java/src/org/chromium/chromoting/NavigationMenuAdapter.java
@@ -6,15 +6,16 @@ package org.chromium.chromoting;
import android.app.Activity;
import android.content.Context;
-import android.content.Intent;
+import android.graphics.drawable.Drawable;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
+import android.widget.TextView;
-import org.chromium.chromoting.help.CreditsActivity;
+import org.chromium.base.ApiCompatibilityUtils;
import org.chromium.chromoting.help.HelpContext;
import org.chromium.chromoting.help.HelpSingleton;
@@ -28,10 +29,13 @@ public class NavigationMenuAdapter extends ArrayAdapter<NavigationMenuAdapter.Na
* Defines a menu item.
*/
public static class NavigationMenuItem {
- private int mLayoutResourceId;
+ private String mText;
+ private Drawable mIcon;
private Runnable mCallback;
- public NavigationMenuItem(int layoutResourceId, Runnable callback) {
- mLayoutResourceId = layoutResourceId;
+
+ public NavigationMenuItem(String text, Drawable icon, Runnable callback) {
+ mText = text;
+ mIcon = icon;
mCallback = callback;
}
}
@@ -40,15 +44,9 @@ public class NavigationMenuAdapter extends ArrayAdapter<NavigationMenuAdapter.Na
ListView navigationMenu = (ListView) activity.getLayoutInflater()
.inflate(R.layout.navigation_list, null);
- NavigationMenuItem creditsItem = new NavigationMenuItem(R.menu.credits_list_item,
- new Runnable() {
- @Override
- public void run() {
- activity.startActivity(new Intent(activity, CreditsActivity.class));
- }
- });
-
- NavigationMenuItem feedbackItem = new NavigationMenuItem(R.menu.feedback_list_item,
+ NavigationMenuItem feedbackItem = new NavigationMenuItem(
+ activity.getResources().getString(R.string.actionbar_send_feedback),
+ getIcon(activity, R.drawable.ic_announcement),
new Runnable() {
@Override
public void run() {
@@ -56,7 +54,9 @@ public class NavigationMenuAdapter extends ArrayAdapter<NavigationMenuAdapter.Na
}
});
- NavigationMenuItem helpItem = new NavigationMenuItem(R.menu.help_list_item,
+ NavigationMenuItem helpItem = new NavigationMenuItem(
+ activity.getResources().getString(R.string.actionbar_help),
+ getIcon(activity, R.drawable.ic_help),
new Runnable() {
@Override
public void run() {
@@ -65,14 +65,21 @@ public class NavigationMenuAdapter extends ArrayAdapter<NavigationMenuAdapter.Na
}
});
- NavigationMenuItem[] navigationMenuItems = { creditsItem, feedbackItem, helpItem };
+ NavigationMenuItem[] navigationMenuItems = { feedbackItem, helpItem };
NavigationMenuAdapter adapter = new NavigationMenuAdapter(activity, navigationMenuItems);
navigationMenu.setAdapter(adapter);
navigationMenu.setOnItemClickListener(adapter);
return navigationMenu;
}
- public NavigationMenuAdapter(Context context, NavigationMenuItem[] objects) {
+ /** Returns the drawable of |drawableId| that can be used to draw icon for a navigation item. */
+ private static Drawable getIcon(Activity activity, int drawableId) {
+ Drawable drawable = ApiCompatibilityUtils.getDrawable(activity.getResources(), drawableId);
+ drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());
+ return drawable;
+ }
+
+ private NavigationMenuAdapter(Context context, NavigationMenuItem[] objects) {
super(context, -1, objects);
}
@@ -80,11 +87,14 @@ public class NavigationMenuAdapter extends ArrayAdapter<NavigationMenuAdapter.Na
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null) {
- NavigationMenuItem item = getItem(position);
LayoutInflater inflater =
(LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
- convertView = inflater.inflate(item.mLayoutResourceId, null);
+ convertView = inflater.inflate(R.layout.navigation_list_item, parent, false);
}
+ TextView textView = (TextView) convertView.findViewById(R.id.navigation_item_label);
+ NavigationMenuItem item = getItem(position);
+ textView.setCompoundDrawables(item.mIcon, null, null, null);
+ textView.setText(item.mText);
return convertView;
}
« no previous file with comments | « remoting/android/java/res/menu/help_list_item.xml ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698