OLD | NEW |
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 Loading... |
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 Loading... |
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 } |
OLD | NEW |