CallLogListItemViews.java revision 7594d799dc8b4486148cdcd586b5dcd24a679211
1d2031e0c809580219faa55a27c237c7bdf8505a5Flavio Lerda/*
2d2031e0c809580219faa55a27c237c7bdf8505a5Flavio Lerda * Copyright (C) 2011 The Android Open Source Project
3d2031e0c809580219faa55a27c237c7bdf8505a5Flavio Lerda *
4d2031e0c809580219faa55a27c237c7bdf8505a5Flavio Lerda * Licensed under the Apache License, Version 2.0 (the "License");
5d2031e0c809580219faa55a27c237c7bdf8505a5Flavio Lerda * you may not use this file except in compliance with the License.
6d2031e0c809580219faa55a27c237c7bdf8505a5Flavio Lerda * You may obtain a copy of the License at
7d2031e0c809580219faa55a27c237c7bdf8505a5Flavio Lerda *
8d2031e0c809580219faa55a27c237c7bdf8505a5Flavio Lerda *      http://www.apache.org/licenses/LICENSE-2.0
9d2031e0c809580219faa55a27c237c7bdf8505a5Flavio Lerda *
10d2031e0c809580219faa55a27c237c7bdf8505a5Flavio Lerda * Unless required by applicable law or agreed to in writing, software
11d2031e0c809580219faa55a27c237c7bdf8505a5Flavio Lerda * distributed under the License is distributed on an "AS IS" BASIS,
12d2031e0c809580219faa55a27c237c7bdf8505a5Flavio Lerda * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13d2031e0c809580219faa55a27c237c7bdf8505a5Flavio Lerda * See the License for the specific language governing permissions and
14d2031e0c809580219faa55a27c237c7bdf8505a5Flavio Lerda * limitations under the License.
15d2031e0c809580219faa55a27c237c7bdf8505a5Flavio Lerda */
16d2031e0c809580219faa55a27c237c7bdf8505a5Flavio Lerda
17d2031e0c809580219faa55a27c237c7bdf8505a5Flavio Lerdapackage com.android.contacts.calllog;
18d2031e0c809580219faa55a27c237c7bdf8505a5Flavio Lerda
19371d5f97d0b87ea0c9d8e8e178c04df34336a29eFlavio Lerdaimport com.android.contacts.PhoneCallDetailsViews;
20371d5f97d0b87ea0c9d8e8e178c04df34336a29eFlavio Lerdaimport com.android.contacts.R;
21371d5f97d0b87ea0c9d8e8e178c04df34336a29eFlavio Lerda
22371d5f97d0b87ea0c9d8e8e178c04df34336a29eFlavio Lerdaimport android.view.View;
23d2031e0c809580219faa55a27c237c7bdf8505a5Flavio Lerdaimport android.widget.ImageView;
24bcb5f514cff58300fdb48ca883f08876076b23faFlavio Lerdaimport android.widget.QuickContactBadge;
2576921903290ba9229e0238395c35569cbadecb20Flavio Lerdaimport android.widget.TextView;
26d2031e0c809580219faa55a27c237c7bdf8505a5Flavio Lerda
27d2031e0c809580219faa55a27c237c7bdf8505a5Flavio Lerda/**
28d2031e0c809580219faa55a27c237c7bdf8505a5Flavio Lerda * Simple value object containing the various views within a call log entry.
29d2031e0c809580219faa55a27c237c7bdf8505a5Flavio Lerda */
30d2031e0c809580219faa55a27c237c7bdf8505a5Flavio Lerdapublic final class CallLogListItemViews {
31bcb5f514cff58300fdb48ca883f08876076b23faFlavio Lerda    /** The quick contact badge for the contact. Only present for group and stand alone entries. */
32371d5f97d0b87ea0c9d8e8e178c04df34336a29eFlavio Lerda    public final QuickContactBadge photoView;
33371d5f97d0b87ea0c9d8e8e178c04df34336a29eFlavio Lerda    /** The main action button on the entry. */
34371d5f97d0b87ea0c9d8e8e178c04df34336a29eFlavio Lerda    public final ImageView callView;
35371d5f97d0b87ea0c9d8e8e178c04df34336a29eFlavio Lerda    /** The details of the phone call. */
36371d5f97d0b87ea0c9d8e8e178c04df34336a29eFlavio Lerda    public final PhoneCallDetailsViews phoneCallDetailsViews;
3776921903290ba9229e0238395c35569cbadecb20Flavio Lerda    /** The item view for a stand-alone row, or null for other types of rows. */
387594d799dc8b4486148cdcd586b5dcd24a679211Flavio Lerda    public final View listItemView;
3976921903290ba9229e0238395c35569cbadecb20Flavio Lerda    /** The header view for a stand-alone row, or null for other types of rows. */
407594d799dc8b4486148cdcd586b5dcd24a679211Flavio Lerda    public final View listHeaderView;
4176921903290ba9229e0238395c35569cbadecb20Flavio Lerda    /** The text of the header in a stand-alone row, or null for other types of rows. */
427594d799dc8b4486148cdcd586b5dcd24a679211Flavio Lerda    public final TextView listHeaderTextView;
43371d5f97d0b87ea0c9d8e8e178c04df34336a29eFlavio Lerda
44371d5f97d0b87ea0c9d8e8e178c04df34336a29eFlavio Lerda    private CallLogListItemViews(QuickContactBadge photoView, ImageView callView,
457594d799dc8b4486148cdcd586b5dcd24a679211Flavio Lerda            PhoneCallDetailsViews phoneCallDetailsViews, View listItemView,
467594d799dc8b4486148cdcd586b5dcd24a679211Flavio Lerda            View listHeaderView, TextView listHeaderTextView) {
47371d5f97d0b87ea0c9d8e8e178c04df34336a29eFlavio Lerda        this.photoView = photoView;
48371d5f97d0b87ea0c9d8e8e178c04df34336a29eFlavio Lerda        this.callView = callView;
49371d5f97d0b87ea0c9d8e8e178c04df34336a29eFlavio Lerda        this.phoneCallDetailsViews = phoneCallDetailsViews;
507594d799dc8b4486148cdcd586b5dcd24a679211Flavio Lerda        this.listItemView = listItemView;
517594d799dc8b4486148cdcd586b5dcd24a679211Flavio Lerda        this.listHeaderView = listHeaderView;
527594d799dc8b4486148cdcd586b5dcd24a679211Flavio Lerda        this.listHeaderTextView = listHeaderTextView;
53371d5f97d0b87ea0c9d8e8e178c04df34336a29eFlavio Lerda    }
54371d5f97d0b87ea0c9d8e8e178c04df34336a29eFlavio Lerda
55371d5f97d0b87ea0c9d8e8e178c04df34336a29eFlavio Lerda    public static CallLogListItemViews fromView(View view) {
56371d5f97d0b87ea0c9d8e8e178c04df34336a29eFlavio Lerda        return new CallLogListItemViews((QuickContactBadge) view.findViewById(R.id.contact_photo),
57371d5f97d0b87ea0c9d8e8e178c04df34336a29eFlavio Lerda                (ImageView) view.findViewById(R.id.call_icon),
5876921903290ba9229e0238395c35569cbadecb20Flavio Lerda                PhoneCallDetailsViews.fromView(view),
5976921903290ba9229e0238395c35569cbadecb20Flavio Lerda                view.findViewById(R.id.call_log_item),
6076921903290ba9229e0238395c35569cbadecb20Flavio Lerda                view.findViewById(R.id.call_log_header),
6176921903290ba9229e0238395c35569cbadecb20Flavio Lerda                (TextView) view.findViewById(R.id.call_log_header_text));
62371d5f97d0b87ea0c9d8e8e178c04df34336a29eFlavio Lerda    }
63371d5f97d0b87ea0c9d8e8e178c04df34336a29eFlavio Lerda
64371d5f97d0b87ea0c9d8e8e178c04df34336a29eFlavio Lerda    public static CallLogListItemViews createForTest(QuickContactBadge photoView,
6576921903290ba9229e0238395c35569cbadecb20Flavio Lerda            ImageView callView, PhoneCallDetailsViews phoneCallDetailsViews,
6676921903290ba9229e0238395c35569cbadecb20Flavio Lerda            View standAloneItemView, View standAloneHeaderView, TextView standAloneHeaderTextView) {
6776921903290ba9229e0238395c35569cbadecb20Flavio Lerda        return new CallLogListItemViews(photoView, callView, phoneCallDetailsViews,
6876921903290ba9229e0238395c35569cbadecb20Flavio Lerda                standAloneItemView, standAloneHeaderView, standAloneHeaderTextView);
69371d5f97d0b87ea0c9d8e8e178c04df34336a29eFlavio Lerda    }
70bcb5f514cff58300fdb48ca883f08876076b23faFlavio Lerda}
71