Index: remoting/android/java/src/org/chromium/chromoting/AccountsAdapter.java |
diff --git a/remoting/android/java/src/org/chromium/chromoting/AccountsAdapter.java b/remoting/android/java/src/org/chromium/chromoting/AccountsAdapter.java |
new file mode 100644 |
index 0000000000000000000000000000000000000000..8812fc7ee0d4af377a61e22252676961cd3d332d |
--- /dev/null |
+++ b/remoting/android/java/src/org/chromium/chromoting/AccountsAdapter.java |
@@ -0,0 +1,43 @@ |
+// Copyright 2014 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+package org.chromium.chromoting; |
+ |
+import android.accounts.Account; |
+import android.content.Context; |
+import android.view.LayoutInflater; |
+import android.view.View; |
+import android.view.ViewGroup; |
+import android.widget.ArrayAdapter; |
+import android.widget.TextView; |
+ |
+/** SpinnerAdapter class used for the ActionBar accounts spinner. */ |
+public class AccountsAdapter extends ArrayAdapter<Account> { |
+ private LayoutInflater mInflater; |
+ |
+ public AccountsAdapter(Context context, Account[] accounts) { |
+ // ArrayAdapter only uses the |resource| parameter to return a View from getView() and |
+ // getDropDownView(). But these methods are overridden here to return custom Views, so it's |
+ // OK to provide 0 as the resource for the base class. |
+ super(context, 0, accounts); |
+ mInflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); |
+ } |
+ |
+ @Override |
+ public View getView(int position, View convertView, ViewGroup parent) { |
+ View view = mInflater.inflate(R.layout.account_selected, parent, false); |
+ Account account = getItem(position); |
+ TextView target = (TextView)view.findViewById(R.id.account_name); |
+ target.setText(account.name); |
+ return view; |
+ } |
+ |
+ @Override |
+ public View getDropDownView(int position, View convertView, ViewGroup parent) { |
+ TextView view = (TextView)mInflater.inflate(R.layout.account_dropdown, parent, false); |
+ Account account = getItem(position); |
+ view.setText(account.name); |
+ return view; |
+ } |
+} |