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