blob: 018ada93f140a3a3e279500b3d54b60985777f38 [file] [log] [blame]
package com.android.dialer.service;
import android.content.Context;
import android.net.Uri;
import android.support.annotation.Nullable;
import com.android.dialer.calllog.ContactInfo;
import java.io.InputStream;
public interface CachedNumberLookupService {
public interface CachedContactInfo {
public static final int SOURCE_TYPE_DIRECTORY = 1;
public static final int SOURCE_TYPE_EXTENDED = 2;
public static final int SOURCE_TYPE_PLACES = 3;
public static final int SOURCE_TYPE_PROFILE = 4;
public static final int SOURCE_TYPE_CNAP = 5;
public ContactInfo getContactInfo();
public void setSource(int sourceType, String name, long directoryId);
public void setDirectorySource(String name, long directoryId);
public void setExtendedSource(String name, long directoryId);
public void setLookupKey(String lookupKey);
}
public CachedContactInfo buildCachedContactInfo(ContactInfo info);
/**
* Perform a lookup using the cached number lookup service to return contact
* information stored in the cache that corresponds to the given number.
*
* @param context Valid context
* @param number Phone number to lookup the cache for
* @return A {@link CachedContactInfo} containing the contact information if the phone
* number is found in the cache, {@link ContactInfo#EMPTY} if the phone number was
* not found in the cache, and null if there was an error when querying the cache.
*/
public CachedContactInfo lookupCachedContactFromNumber(Context context, String number);
public void addContact(Context context, CachedContactInfo info);
public boolean isCacheUri(String uri);
public boolean isBusiness(int sourceType);
public boolean canReportAsInvalid(int sourceType, String objectId);
/**
* @return return {@link Uri} to the photo or return {@code null} when failing to add photo
*/
public @Nullable Uri addPhoto(Context context, String number, InputStream in);
/**
* Remove all cached phone number entries from the cache, regardless of how old they
* are.
*
* @param context Valid context
*/
public void clearAllCacheEntries(Context context);
}