1de898ff42912bd7ca1bfb099cd439562496765a4Adam Lesinskipackage com.google.android.test.shared_library;
2de898ff42912bd7ca1bfb099cd439562496765a4Adam Lesinski
3de898ff42912bd7ca1bfb099cd439562496765a4Adam Lesinskiimport android.content.Context;
4de898ff42912bd7ca1bfb099cd439562496765a4Adam Lesinskiimport android.content.res.TypedArray;
5de898ff42912bd7ca1bfb099cd439562496765a4Adam Lesinskiimport android.util.AttributeSet;
6de898ff42912bd7ca1bfb099cd439562496765a4Adam Lesinskiimport android.view.LayoutInflater;
7de898ff42912bd7ca1bfb099cd439562496765a4Adam Lesinskiimport android.view.View;
8de898ff42912bd7ca1bfb099cd439562496765a4Adam Lesinskiimport android.widget.LinearLayout;
9de898ff42912bd7ca1bfb099cd439562496765a4Adam Lesinskiimport android.widget.TextView;
10de898ff42912bd7ca1bfb099cd439562496765a4Adam Lesinski
11de898ff42912bd7ca1bfb099cd439562496765a4Adam Lesinskipublic class AddressView extends LinearLayout {
12de898ff42912bd7ca1bfb099cd439562496765a4Adam Lesinski    private TextView mNameView;
13de898ff42912bd7ca1bfb099cd439562496765a4Adam Lesinski    private TextView mStreetView;
14de898ff42912bd7ca1bfb099cd439562496765a4Adam Lesinski    private TextView mCityStateZipView;
15de898ff42912bd7ca1bfb099cd439562496765a4Adam Lesinski    private TextView mCountryView;
16de898ff42912bd7ca1bfb099cd439562496765a4Adam Lesinski
17de898ff42912bd7ca1bfb099cd439562496765a4Adam Lesinski    public AddressView(Context context, AttributeSet attrs) {
18de898ff42912bd7ca1bfb099cd439562496765a4Adam Lesinski        super(context, attrs);
19de898ff42912bd7ca1bfb099cd439562496765a4Adam Lesinski        setOrientation(VERTICAL);
20de898ff42912bd7ca1bfb099cd439562496765a4Adam Lesinski
21de898ff42912bd7ca1bfb099cd439562496765a4Adam Lesinski        View view = LayoutInflater.from(context).inflate(R.layout.address, this);
22de898ff42912bd7ca1bfb099cd439562496765a4Adam Lesinski        mNameView = (TextView) view.findViewById(R.id.name);
23de898ff42912bd7ca1bfb099cd439562496765a4Adam Lesinski        mStreetView = (TextView) view.findViewById(R.id.street);
24de898ff42912bd7ca1bfb099cd439562496765a4Adam Lesinski        mCityStateZipView = (TextView) view.findViewById(R.id.cityStateZip);
25de898ff42912bd7ca1bfb099cd439562496765a4Adam Lesinski        mCountryView = (TextView) view.findViewById(R.id.country);
26de898ff42912bd7ca1bfb099cd439562496765a4Adam Lesinski
27de898ff42912bd7ca1bfb099cd439562496765a4Adam Lesinski        TypedArray a = context.getTheme().obtainStyledAttributes(
28de898ff42912bd7ca1bfb099cd439562496765a4Adam Lesinski                attrs,
29de898ff42912bd7ca1bfb099cd439562496765a4Adam Lesinski                R.styleable.AddressView,
30de898ff42912bd7ca1bfb099cd439562496765a4Adam Lesinski                0, 0);
31de898ff42912bd7ca1bfb099cd439562496765a4Adam Lesinski        try {
32de898ff42912bd7ca1bfb099cd439562496765a4Adam Lesinski            mNameView.setText(a.getString(R.styleable.AddressView_name));
33de898ff42912bd7ca1bfb099cd439562496765a4Adam Lesinski            int streetNumber = a.getInteger(R.styleable.AddressView_streetNumber, -1);
34de898ff42912bd7ca1bfb099cd439562496765a4Adam Lesinski            mStreetView.setText((streetNumber <= 0 ? "" : Integer.toString(streetNumber)) +
35de898ff42912bd7ca1bfb099cd439562496765a4Adam Lesinski                    " " + a.getString(R.styleable.AddressView_streetName));
36de898ff42912bd7ca1bfb099cd439562496765a4Adam Lesinski            mCityStateZipView.setText(a.getString(R.styleable.AddressView_city) + ", " +
37de898ff42912bd7ca1bfb099cd439562496765a4Adam Lesinski                    a.getString(R.styleable.AddressView_state) + " " +
38de898ff42912bd7ca1bfb099cd439562496765a4Adam Lesinski                    a.getString(R.styleable.AddressView_zip));
39de898ff42912bd7ca1bfb099cd439562496765a4Adam Lesinski            mCountryView.setText(a.getString(R.styleable.AddressView_country));
40de898ff42912bd7ca1bfb099cd439562496765a4Adam Lesinski        } finally {
41de898ff42912bd7ca1bfb099cd439562496765a4Adam Lesinski            a.recycle();
42de898ff42912bd7ca1bfb099cd439562496765a4Adam Lesinski        }
43de898ff42912bd7ca1bfb099cd439562496765a4Adam Lesinski    }
44de898ff42912bd7ca1bfb099cd439562496765a4Adam Lesinski}
45