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

Side by Side Diff: chrome/android/java/src/org/chromium/chrome/browser/autofill/AutofillDialogContentView.java

Issue 12924002: Fix AutofillDialogMenuAdapter to support showing multiple lines and icon (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Imports cleanup Created 7 years, 9 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « chrome/android/java/res/values/dimens.xml ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 package org.chromium.chrome.browser.autofill; 5 package org.chromium.chrome.browser.autofill;
6 6
7 import java.util.ArrayList; 7 import java.util.ArrayList;
8 import java.util.List; 8 import java.util.List;
9 9
10 import android.content.Context; 10 import android.content.Context;
11 import android.graphics.BitmapFactory;
12 import android.text.TextUtils;
11 import android.util.AttributeSet; 13 import android.util.AttributeSet;
12 import android.view.View; 14 import android.view.View;
13 import android.view.ViewGroup; 15 import android.view.ViewGroup;
14 import android.view.animation.Animation; 16 import android.view.animation.Animation;
15 import android.view.animation.AnimationSet; 17 import android.view.animation.AnimationSet;
16 import android.view.animation.ScaleAnimation; 18 import android.view.animation.ScaleAnimation;
17 import android.view.animation.TranslateAnimation; 19 import android.view.animation.TranslateAnimation;
18 import android.widget.AdapterView; 20 import android.widget.AdapterView;
19 import android.widget.ArrayAdapter; 21 import android.widget.ArrayAdapter;
20 import android.widget.ImageView; 22 import android.widget.ImageView;
21 import android.widget.LinearLayout; 23 import android.widget.LinearLayout;
22 import android.widget.Spinner; 24 import android.widget.Spinner;
23 import android.widget.TextView; 25 import android.widget.TextView;
24 import android.widget.AdapterView.OnItemSelectedListener; 26 import android.widget.AdapterView.OnItemSelectedListener;
25 27
26 import static org.chromium.chrome.browser.autofill.AutofillDialogConstants.NUM_S ECTIONS; 28 import static org.chromium.chrome.browser.autofill.AutofillDialogConstants.NUM_S ECTIONS;
27 import static org.chromium.chrome.browser.autofill.AutofillDialogConstants.SECTI ON_EMAIL;
28 import static org.chromium.chrome.browser.autofill.AutofillDialogConstants.SECTI ON_CC; 29 import static org.chromium.chrome.browser.autofill.AutofillDialogConstants.SECTI ON_CC;
29 import static org.chromium.chrome.browser.autofill.AutofillDialogConstants.SECTI ON_CC_BILLING; 30 import static org.chromium.chrome.browser.autofill.AutofillDialogConstants.SECTI ON_CC_BILLING;
30 import static org.chromium.chrome.browser.autofill.AutofillDialogConstants.SECTI ON_BILLING; 31 import static org.chromium.chrome.browser.autofill.AutofillDialogConstants.SECTI ON_BILLING;
31 import static org.chromium.chrome.browser.autofill.AutofillDialogConstants.SECTI ON_SHIPPING; 32 import static org.chromium.chrome.browser.autofill.AutofillDialogConstants.SECTI ON_SHIPPING;
32 33
33 import org.chromium.chrome.R; 34 import org.chromium.chrome.R;
34 35
35 /** 36 /**
36 * This is the parent layout that contains the layouts for different states of 37 * This is the parent layout that contains the layouts for different states of
37 * autofill dialog. In principle it shouldn't contain any logic related with the 38 * autofill dialog. In principle it shouldn't contain any logic related with the
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
98 } 99 }
99 100
100 createAndAddPlaceHolders(); 101 createAndAddPlaceHolders();
101 changeLayoutTo(LAYOUT_FETCHING); 102 changeLayoutTo(LAYOUT_FETCHING);
102 } 103 }
103 104
104 // TODO(yusufo): Remove this method once glue implements fetching data. 105 // TODO(yusufo): Remove this method once glue implements fetching data.
105 private void createAndAddPlaceHolders() { 106 private void createAndAddPlaceHolders() {
106 AutofillDialogMenuItem[] ccItems = new AutofillDialogMenuItem[1]; 107 AutofillDialogMenuItem[] ccItems = new AutofillDialogMenuItem[1];
107 ccItems[0] = new AutofillDialogMenuItem( 108 ccItems[0] = new AutofillDialogMenuItem(
108 0, "XXXX-XXXX-XXXX-1000", "Additional info required", null); 109 0, "XXXX-XXXX-XXXX-1000", "Additional info required",
110 BitmapFactory.decodeResource(getResources(), R.drawable. visa));
109 AutofillDialogMenuItem[] addressItems = new AutofillDialogMenuItem[1]; 111 AutofillDialogMenuItem[] addressItems = new AutofillDialogMenuItem[1];
110 addressItems[0] = new AutofillDialogMenuItem( 112 addressItems[0] = new AutofillDialogMenuItem(
111 0, "Place Holder", "1600 Amphitheatre Pkwy", null); 113 0, "Place Holder", "1600 Amphitheatre Pkwy", null);
112 updateMenuItemsForSection(SECTION_CC_BILLING, ccItems); 114 updateMenuItemsForSection(SECTION_CC_BILLING, ccItems);
113 updateMenuItemsForSection(SECTION_SHIPPING, addressItems); 115 updateMenuItemsForSection(SECTION_SHIPPING, addressItems);
114 } 116 }
115 117
116 @Override 118 @Override
117 protected void onMeasure (int widthMeasureSpec, int heightMeasureSpec) { 119 protected void onMeasure (int widthMeasureSpec, int heightMeasureSpec) {
118 super.onMeasure(widthMeasureSpec, heightMeasureSpec); 120 super.onMeasure(widthMeasureSpec, heightMeasureSpec);
(...skipping 200 matching lines...) Expand 10 before | Expand all | Expand 10 after
319 321
320 private View initView(int position, View convertView) { 322 private View initView(int position, View convertView) {
321 if (convertView == null) { 323 if (convertView == null) {
322 convertView = View.inflate(getContext(), 324 convertView = View.inflate(getContext(),
323 R.layout.autofill_menu_item, null); 325 R.layout.autofill_menu_item, null);
324 } 326 }
325 AutofillDialogMenuItem item = getItem(position); 327 AutofillDialogMenuItem item = getItem(position);
326 ImageView icon = (ImageView) convertView.findViewById(R.id.cc_icon); 328 ImageView icon = (ImageView) convertView.findViewById(R.id.cc_icon);
327 TextView line1 = (TextView) convertView.findViewById(R.id.adapter_it em_line_1); 329 TextView line1 = (TextView) convertView.findViewById(R.id.adapter_it em_line_1);
328 TextView line2 = (TextView) convertView.findViewById(R.id.adapter_it em_line_2); 330 TextView line2 = (TextView) convertView.findViewById(R.id.adapter_it em_line_2);
329 // TODO(yusufo): Fix card icon when it gets added to menuItem. 331 if (icon != null) {
330 if (icon != null) icon.setImageResource(R.drawable.visa); 332 if (item.mIcon != null) {
333 icon.setImageBitmap(item.mIcon);
334 icon.setVisibility(VISIBLE);
335 } else {
336 icon.setImageBitmap(null);
337 icon.setVisibility(GONE);
338 }
339 }
331 if (line1 != null) line1.setText(item.mLine1); 340 if (line1 != null) line1.setText(item.mLine1);
332 if (line2 != null) line2.setText(item.mLine2); 341 if (line2 != null) {
342 if (!TextUtils.isEmpty(item.mLine2)) {
343 line2.setVisibility(VISIBLE);
344 line2.setText(item.mLine2);
345 } else {
346 line2.setVisibility(GONE);
347 }
348 }
333 return convertView; 349 return convertView;
334 } 350 }
335 } 351 }
336 } 352 }
OLDNEW
« no previous file with comments | « chrome/android/java/res/values/dimens.xml ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698