RecipientEntry.java revision 6ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84
16ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa/* 26ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa * Copyright (C) 2011 The Android Open Source Project 36ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa * 46ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa * Licensed under the Apache License, Version 2.0 (the "License"); 56ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa * you may not use this file except in compliance with the License. 66ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa * You may obtain a copy of the License at 76ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa * 86ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa * http://www.apache.org/licenses/LICENSE-2.0 96ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa * 106ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa * Unless required by applicable law or agreed to in writing, software 116ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa * distributed under the License is distributed on an "AS IS" BASIS, 126ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 136ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa * See the License for the specific language governing permissions and 146ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa * limitations under the License. 156ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa */ 166ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa 176ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawapackage com.android.ex.chips; 186ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa 196ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa/** 206ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa * Represents one entry inside recipient auto-complete list. 216ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa */ 226ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawapublic class RecipientListEntry { 236ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa /** Separator entry dividing two persons or groups. */ 246ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa public static final RecipientListEntry SEP_NORMAL = new RecipientListEntry(); 256ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa /** Separator entry dividing two entries inside a person or a group. */ 266ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa public static final RecipientListEntry SEP_WITHIN_GROUP = new RecipientListEntry(); 276ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa 286ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa /** 296ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa * True when this entry is the first entry in a group, which should have a photo and display 306ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa * name, while the second or later entries won't. 316ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa */ 326ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa private boolean mIsFirstLevel; 336ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa private final String mDisplayName; 346ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa /** Destination for this contact entry. Would be an email address or a phone number. */ 356ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa private final String mDestination; 366ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa private final int mContactId; 376ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa private final boolean mIsDivider; 386ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa private byte[] mPhotoBytes; 396ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa 406ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa private RecipientListEntry() { 416ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa mDisplayName = null; 426ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa mDestination = null; 436ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa mContactId = -1; 446ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa mPhotoBytes = null; 456ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa mIsDivider = true; 466ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa } 476ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa 486ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa private RecipientListEntry(String displayName, String destination, int contactId) { 496ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa mIsFirstLevel = false; 506ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa mDisplayName = displayName; 516ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa mDestination = destination; 526ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa mContactId = contactId; 536ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa mIsDivider = false; 546ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa } 556ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa 566ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa private RecipientListEntry( 576ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa String displayName, String destination, int contactId, byte[] photoBytes) { 586ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa mIsFirstLevel = true; 596ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa mDisplayName = displayName; 606ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa mDestination = destination; 616ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa mContactId = contactId; 626ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa mIsDivider = false; 636ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa mPhotoBytes = photoBytes; 646ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa } 656ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa 666ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa public static RecipientListEntry constructTopLevelEntry( 676ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa String displayName, String destination, int contactId, byte[] photoBytes) { 686ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa return new RecipientListEntry(displayName, destination, contactId, photoBytes); 696ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa } 706ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa 716ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa public static RecipientListEntry constructSecondLevelEntry( 726ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa String displayName, String destination, int contactId) { 736ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa return new RecipientListEntry(displayName, destination, contactId); 746ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa } 756ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa 766ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa public String getDisplayName() { 776ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa return mDisplayName; 786ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa } 796ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa 806ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa public String getDestination() { 816ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa return mDestination; 826ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa } 836ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa 846ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa public int getContactId() { 856ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa return mContactId; 866ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa } 876ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa 886ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa public boolean isFirstLevel() { 896ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa return mIsFirstLevel; 906ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa } 916ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa 926ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa public byte[] getPhotoBytes() { 936ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa return mPhotoBytes; 946ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa } 956ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa 966ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa public boolean isSeparator() { 976ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa return mIsDivider; 986ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa } 996ac7d0c6f6db2f5af06f9f2c73f24760d4df7b84Daisuke Miyakawa}