// Copyright 2016 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.chrome.browser.payments.ui; import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.TextView; import org.chromium.chrome.R; /** * Helper class for creating a view with three labels and an icon. * * +--------------+------------+ * | TOP LABEL | | * | MID LABEL | ICON | * | BOTTOM LABEL | | * +--------------+------------+ * * Used for showing the uneditable parts of server cards. For example: * * +--------------+------------+ * | Visa***1234 | | * | First Last | VISA | * | Exp: 12/2020 | | * +--------------+------------+ */ class EditorLabelField { private final View mLayout; /** * Builds a label view. * * @param context The application context to use when creating widgets. * @param root The object that provides a set of LayoutParams values for the view. * @param fieldModel The data model of the icon list. */ public EditorLabelField(Context context, ViewGroup root, EditorFieldModel fieldModel) { assert fieldModel.getInputTypeHint() == EditorFieldModel.INPUT_TYPE_HINT_LABEL; mLayout = LayoutInflater.from(context).inflate( R.layout.payment_request_editor_label, root, false); ((TextView) mLayout.findViewById(R.id.top_label)).setText(fieldModel.getLabel()); ((TextView) mLayout.findViewById(R.id.mid_label)).setText(fieldModel.getMidLabel()); ((TextView) mLayout.findViewById(R.id.bottom_label)).setText(fieldModel.getBottomLabel()); ((ImageView) mLayout.findViewById(R.id.icon)).setImageResource( fieldModel.getLabelIconResourceId()); } /** @return The View containing everything. */ public View getLayout() { return mLayout; } }