185ea6188b3c62ede2eb0427379f050717f79562cAndrew Sapperstein/** 285ea6188b3c62ede2eb0427379f050717f79562cAndrew Sapperstein * Copyright (c) 2013, Google Inc. 385ea6188b3c62ede2eb0427379f050717f79562cAndrew Sapperstein * 485ea6188b3c62ede2eb0427379f050717f79562cAndrew Sapperstein * Licensed under the Apache License, Version 2.0 (the "License"); 585ea6188b3c62ede2eb0427379f050717f79562cAndrew Sapperstein * you may not use this file except in compliance with the License. 685ea6188b3c62ede2eb0427379f050717f79562cAndrew Sapperstein * You may obtain a copy of the License at 785ea6188b3c62ede2eb0427379f050717f79562cAndrew Sapperstein * 885ea6188b3c62ede2eb0427379f050717f79562cAndrew Sapperstein * http://www.apache.org/licenses/LICENSE-2.0 985ea6188b3c62ede2eb0427379f050717f79562cAndrew Sapperstein * 1085ea6188b3c62ede2eb0427379f050717f79562cAndrew Sapperstein * Unless required by applicable law or agreed to in writing, software 1185ea6188b3c62ede2eb0427379f050717f79562cAndrew Sapperstein * distributed under the License is distributed on an "AS IS" BASIS, 1285ea6188b3c62ede2eb0427379f050717f79562cAndrew Sapperstein * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1385ea6188b3c62ede2eb0427379f050717f79562cAndrew Sapperstein * See the License for the specific language governing permissions and 1485ea6188b3c62ede2eb0427379f050717f79562cAndrew Sapperstein * limitations under the License. 1585ea6188b3c62ede2eb0427379f050717f79562cAndrew Sapperstein */ 1685ea6188b3c62ede2eb0427379f050717f79562cAndrew Sapperstein 1785ea6188b3c62ede2eb0427379f050717f79562cAndrew Sappersteinpackage com.android.mail.browse; 1885ea6188b3c62ede2eb0427379f050717f79562cAndrew Sapperstein 1985ea6188b3c62ede2eb0427379f050717f79562cAndrew Sappersteinimport android.content.Context; 2085ea6188b3c62ede2eb0427379f050717f79562cAndrew Sappersteinimport android.util.AttributeSet; 2185ea6188b3c62ede2eb0427379f050717f79562cAndrew Sappersteinimport android.widget.LinearLayout; 2285ea6188b3c62ede2eb0427379f050717f79562cAndrew Sapperstein 23821e578a71c7015646522e729600618f0ec16fc0Tony Mantlerimport com.android.emailcommon.mail.Address; 2485ea6188b3c62ede2eb0427379f050717f79562cAndrew Sappersteinimport com.android.mail.ContactInfoSource; 25a467d40eeb9c598fc6d7cb2dbafa2a331292d23eAndrew Sappersteinimport com.android.mail.browse.MessageHeaderView.MessageHeaderViewCallbacks; 2685ea6188b3c62ede2eb0427379f050717f79562cAndrew Sappersteinimport com.android.mail.utils.VeiledAddressMatcher; 2785ea6188b3c62ede2eb0427379f050717f79562cAndrew Sapperstein 2885ea6188b3c62ede2eb0427379f050717f79562cAndrew Sappersteinimport java.util.Map; 2985ea6188b3c62ede2eb0427379f050717f79562cAndrew Sapperstein 3085ea6188b3c62ede2eb0427379f050717f79562cAndrew Sapperstein/** 3185ea6188b3c62ede2eb0427379f050717f79562cAndrew Sapperstein * Abstract view class that must be overridden for any view that wishes to be a snap 3285ea6188b3c62ede2eb0427379f050717f79562cAndrew Sapperstein * header in the {@link com.android.mail.browse.ConversationContainer}. 3385ea6188b3c62ede2eb0427379f050717f79562cAndrew Sapperstein */ 34a467d40eeb9c598fc6d7cb2dbafa2a331292d23eAndrew Sappersteinpublic abstract class SnapHeader extends LinearLayout { 3585ea6188b3c62ede2eb0427379f050717f79562cAndrew Sapperstein 36a467d40eeb9c598fc6d7cb2dbafa2a331292d23eAndrew Sapperstein public SnapHeader(Context context) { 3785ea6188b3c62ede2eb0427379f050717f79562cAndrew Sapperstein this(context, null); 3885ea6188b3c62ede2eb0427379f050717f79562cAndrew Sapperstein } 3985ea6188b3c62ede2eb0427379f050717f79562cAndrew Sapperstein 40a467d40eeb9c598fc6d7cb2dbafa2a331292d23eAndrew Sapperstein public SnapHeader(Context context, AttributeSet attrs) { 4185ea6188b3c62ede2eb0427379f050717f79562cAndrew Sapperstein this(context, attrs, -1); 4285ea6188b3c62ede2eb0427379f050717f79562cAndrew Sapperstein } 4385ea6188b3c62ede2eb0427379f050717f79562cAndrew Sapperstein 44a467d40eeb9c598fc6d7cb2dbafa2a331292d23eAndrew Sapperstein public SnapHeader(Context context, AttributeSet attrs, int defStyle) { 4585ea6188b3c62ede2eb0427379f050717f79562cAndrew Sapperstein super(context, attrs, defStyle); 4685ea6188b3c62ede2eb0427379f050717f79562cAndrew Sapperstein } 4785ea6188b3c62ede2eb0427379f050717f79562cAndrew Sapperstein 48a467d40eeb9c598fc6d7cb2dbafa2a331292d23eAndrew Sapperstein public abstract void initialize(ConversationAccountController accountController, 4985ea6188b3c62ede2eb0427379f050717f79562cAndrew Sapperstein Map<String, Address> addressCache, MessageHeaderViewCallbacks callbacks, 50a467d40eeb9c598fc6d7cb2dbafa2a331292d23eAndrew Sapperstein ContactInfoSource contactInfoSource, VeiledAddressMatcher veiledAddressMatcher); 5185ea6188b3c62ede2eb0427379f050717f79562cAndrew Sapperstein 5285ea6188b3c62ede2eb0427379f050717f79562cAndrew Sapperstein 53a467d40eeb9c598fc6d7cb2dbafa2a331292d23eAndrew Sapperstein public abstract void setSnappy(); 5485ea6188b3c62ede2eb0427379f050717f79562cAndrew Sapperstein public abstract boolean isBoundTo(ConversationOverlayItem item); 5585ea6188b3c62ede2eb0427379f050717f79562cAndrew Sapperstein public abstract void unbind(); 5685ea6188b3c62ede2eb0427379f050717f79562cAndrew Sapperstein public abstract void refresh(); 5785ea6188b3c62ede2eb0427379f050717f79562cAndrew Sapperstein} 58