Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ac99d622 authored by Victor Chang's avatar Victor Chang Committed by Android (Google) Code Review
Browse files

Merge "Make Dialer app handles work directory correctly in Search bar" into ub-contactsdialer-b-dev

parents 62cfa6e5 b83af232
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ import android.content.Context;
import android.content.Intent;
import android.database.Cursor;
import android.net.Uri;
import android.os.Build;
import android.provider.ContactsContract.CommonDataKinds.Im;
import android.provider.ContactsContract.DisplayPhoto;
import android.telephony.PhoneNumberUtils;
@@ -45,6 +46,11 @@ public class ContactsUtils {

    private static int sThumbnailSize = -1;

    public static final boolean FLAG_N_FEATURE =
            false // Enforce Pre-N behavior in release build
            && (Build.VERSION.SDK_INT > Build.VERSION_CODES.M
                    || Build.VERSION.CODENAME.startsWith("N"));

    // TODO find a proper place for the canonical version of these
    public interface ProviderNames {
        String YAHOO = "Yahoo";
+7 −2
Original line number Diff line number Diff line
@@ -23,10 +23,12 @@ import android.database.Cursor;
import android.database.MatrixCursor;
import android.net.Uri;
import android.os.Handler;
import android.provider.ContactsContract;
import android.provider.ContactsContract.Directory;
import android.text.TextUtils;
import android.util.Log;

import com.android.contacts.common.ContactsUtils;
import com.android.contacts.common.R;

/**
@@ -42,7 +44,10 @@ public class DirectoryListLoader extends AsyncTaskLoader<Cursor> {
    public static final int SEARCH_MODE_DATA_SHORTCUT = 3;

    private static final class DirectoryQuery {
        public static final Uri URI = Directory.CONTENT_URI;
        // TODO(b/26056939): Directory.ENTERPRISE_CONTENT_URI;
        public static final Uri URI = ContactsUtils.FLAG_N_FEATURE
                ? Uri.withAppendedPath(ContactsContract.AUTHORITY_URI, "directories_enterprise")
                : Directory.CONTENT_URI;
        public static final String ORDER_BY = Directory._ID;

        public static final String[] PROJECTION = {
@@ -101,7 +106,7 @@ public class DirectoryListLoader extends AsyncTaskLoader<Cursor> {
    @Override
    protected void onStartLoading() {
        getContext().getContentResolver().
                registerContentObserver(Directory.CONTENT_URI, false, mObserver);
                registerContentObserver(DirectoryQuery.URI, false, mObserver);
        forceLoad();
    }

+25 −5
Original line number Diff line number Diff line
@@ -28,15 +28,15 @@ import android.provider.ContactsContract.CommonDataKinds.SipAddress;
import android.provider.ContactsContract.Contacts;
import android.provider.ContactsContract.Data;
import android.provider.ContactsContract.Directory;
import android.telephony.PhoneNumberUtils;
import android.text.TextUtils;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;

import com.android.contacts.common.ContactPhotoManager.DefaultImageRequest;
import com.android.contacts.common.ContactsUtils;
import com.android.contacts.common.GeoUtil;
import com.android.contacts.common.R;
import com.android.contacts.common.ContactPhotoManager.DefaultImageRequest;
import com.android.contacts.common.extensions.ExtendedPhoneDirectoriesManager;
import com.android.contacts.common.extensions.ExtensionsFactory;
import com.android.contacts.common.preference.ContactsPreferences;
@@ -175,9 +175,19 @@ public class PhoneNumberListAdapter extends ContactEntryListAdapter {
            if (isSearchMode()) {
                final Uri baseUri;
                if (isRemoteDirectoryQuery) {
                    if (ContactsUtils.FLAG_N_FEATURE) {
                        //TODO(b/26056939): Phone.ENTERPRISE_CONTENT_FILTER_URI
                        baseUri = Uri.withAppendedPath(Phone.CONTENT_URI, "filter_enterprise");
                    } else {
                        baseUri = Phone.CONTENT_FILTER_URI;
                    }
                } else if (mUseCallableUri) {
                    if (ContactsUtils.FLAG_N_FEATURE) {
                        //TODO(b/26056939): Callable.ENTERPRISE_CONTENT_FILTER_URI
                        baseUri = Uri.withAppendedPath(Callable.CONTENT_URI, "filter_enterprise");
                    } else {
                        baseUri = Callable.CONTENT_FILTER_URI;
                    }
                } else {
                    baseUri = Phone.CONTENT_FILTER_URI;
                }
@@ -190,7 +200,16 @@ public class PhoneNumberListAdapter extends ContactEntryListAdapter {
                            String.valueOf(getDirectoryResultLimit(getDirectoryById(directoryId))));
                }
            } else {
                final Uri baseUri = mUseCallableUri ? Callable.CONTENT_URI : Phone.CONTENT_URI;
                Uri baseUri = mUseCallableUri ? Callable.CONTENT_URI : Phone.CONTENT_URI;
                if (ContactsUtils.FLAG_N_FEATURE) {
                    if (mUseCallableUri) {
                        //TODO(b/26056939): Callable.ENTERPRISE_CONTENT_FILTER_URI
                        baseUri = Uri.withAppendedPath(Callable.CONTENT_URI, "filter_enterprise");
                    } else {
                        //TODO(b/26056939): Phone.ENTERPRISE_CONTENT_FILTER_URI
                        baseUri = Uri.withAppendedPath(Phone.CONTENT_URI, "filter_enterprise");
                    }
                }
                builder = baseUri.buildUpon().appendQueryParameter(
                        ContactsContract.DIRECTORY_PARAM_KEY, String.valueOf(Directory.DEFAULT));
                if (isSectionHeaderDisplayEnabled()) {
@@ -556,6 +575,7 @@ public class PhoneNumberListAdapter extends ContactEntryListAdapter {
        }
    }

    @Override
    protected Uri getContactUri(int partitionIndex, Cursor cursor,
            int contactIdColumn, int lookUpKeyColumn) {
        final DirectoryPartition directory = (DirectoryPartition) getPartition(partitionIndex);