blob: 390dbb56c127e6c73794eed816e116b67695fcf6 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
/*
* Copyright (C) 2013 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.android.dialer.list;
import android.content.Context;
import android.database.Cursor;
import android.net.Uri;
import android.provider.ContactsContract;
import com.android.contacts.common.list.DirectoryPartition;
import com.android.contacts.common.list.PhoneNumberListAdapter;
import com.android.dialer.service.CachedNumberLookupService.CachedContactInfo;
/**
* List adapter to display regular search results.
*/
public class RegularSearchListAdapter extends PhoneNumberListAdapter {
public RegularSearchListAdapter(Context context) {
super(context);
}
public CachedContactInfo getContactInfo(int position) {
CachedContactInfo info = new CachedContactInfo();
final Cursor item = (Cursor) getItem(position);
if (item != null) {
info.name = item.getString(PhoneQuery.DISPLAY_NAME);
info.type = item.getInt(PhoneQuery.PHONE_TYPE);
info.label = item.getString(PhoneQuery.PHONE_LABEL);
info.number = item.getString(PhoneQuery.PHONE_NUMBER);
final String photoUriStr = item.getString(PhoneQuery.PHOTO_URI);
info.photoUri = photoUriStr == null ? null : Uri.parse(photoUriStr);
info.lookupKey = item.getString(PhoneQuery.LOOKUP_KEY);
final int partitionIndex = getPartitionForPosition(position);
final DirectoryPartition partition =
(DirectoryPartition) getPartition(partitionIndex);
final long directoryId = partition.getDirectoryId();
if (isExtendedDirectory(directoryId)) {
info.sourceType = CachedContactInfo.SOURCE_TYPE_EXTENDED;
// TODO source_id for extended directory?
} else {
info.sourceType = CachedContactInfo.SOURCE_TYPE_DIRECTORY;
info.sourceId = (int) directoryId;
}
}
return info;
}
}
|