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