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

Commit 792dae7d authored by Walter Jang's avatar Walter Jang
Browse files

resolve merge conflicts of 3cf4db4c to master

Change-Id: I990bc8cf9dc3d1ecd1ade5fc60aa21c120ead7d5
parents d3caf162 3cf4db4c
Loading
Loading
Loading
Loading
+6 −3
Original line number Diff line number Diff line
@@ -335,9 +335,12 @@ public final class ContactListFilter implements Comparable<ContactListFilter>, P
            throw new IllegalStateException(
                    "filterType must be FILTER_TYPE_ACCOUNT or FILER_TYPE_GROUP_MEMBERS");
        }
        // null account names are not valid, see ContactsProvider2#appendAccountFromParameter
        if (accountName != null) {
            uriBuilder.appendQueryParameter(RawContacts.ACCOUNT_NAME, accountName);
            uriBuilder.appendQueryParameter(RawContacts.ACCOUNT_TYPE, accountType);
        if (!TextUtils.isEmpty(dataSet)) {
        }
        if (dataSet != null) {
            uriBuilder.appendQueryParameter(RawContacts.DATA_SET, dataSet);
        }
        return uriBuilder;
+3 −3
Original line number Diff line number Diff line
@@ -318,7 +318,7 @@ public class GroupMembersFragment extends MultiSelectContactsListFragment<GroupM
        final long[] contactIds = getAdapter().getSelectedContactIdsArray();
        new UpdateGroupMembersAsyncTask(UpdateGroupMembersAsyncTask.TYPE_REMOVE,
                getContext(), contactIds, mGroupMetaData.groupId, mGroupMetaData.accountName,
                mGroupMetaData.accountType).execute();
                mGroupMetaData.accountType, mGroupMetaData.dataSet).execute();

        mActionBarAdapter.setSelectionMode(false);
    }
@@ -340,7 +340,7 @@ public class GroupMembersFragment extends MultiSelectContactsListFragment<GroupM
            new UpdateGroupMembersAsyncTask(
                    UpdateGroupMembersAsyncTask.TYPE_ADD,
                    getContext(), contactIds, mGroupMetaData.groupId, mGroupMetaData.accountName,
                    mGroupMetaData.accountType).execute();
                    mGroupMetaData.accountType, mGroupMetaData.dataSet).execute();
        }
    }

@@ -636,7 +636,7 @@ public class GroupMembersFragment extends MultiSelectContactsListFragment<GroupM
            contactIds[0] = contactId;
            new UpdateGroupMembersAsyncTask(UpdateGroupMembersAsyncTask.TYPE_REMOVE,
                    getContext(), contactIds, mGroupMetaData.groupId, mGroupMetaData.accountName,
                    mGroupMetaData.accountType).execute();
                    mGroupMetaData.accountType, mGroupMetaData.dataSet).execute();
        }
    }

+14 −5
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ import android.database.Cursor;
import android.net.Uri;
import android.os.AsyncTask;
import android.provider.ContactsContract;
import android.provider.ContactsContract.RawContacts;
import android.widget.Toast;

import com.android.contacts.ContactSaveService;
@@ -42,15 +43,17 @@ public class UpdateGroupMembersAsyncTask extends AsyncTask<Void, Void, Intent> {
    private final long mGroupId;
    private final String mAccountName;
    private final String mAccountType;
    private final String mDataSet;

    public UpdateGroupMembersAsyncTask(int type, Context context, long[] contactIds,
            long groupId, String accountName, String accountType) {
            long groupId, String accountName, String accountType, String dataSet) {
        mContext = context;
        mType = type;
        mContactIds = contactIds;
        mGroupId = groupId;
        mAccountName = accountName;
        mAccountType = accountType;
        mDataSet = dataSet;
    }

    @Override
@@ -81,10 +84,16 @@ public class UpdateGroupMembersAsyncTask extends AsyncTask<Void, Void, Intent> {
    // TODO(wjang): prune raw contacts that are already in the group; ContactSaveService will
    // log a warning if the raw contact is already a member and keep going but it is not ideal.
    private long[] getRawContactIds() {
        final Uri rawContactUri = ContactsContract.RawContacts.CONTENT_URI.buildUpon()
                .appendQueryParameter(ContactsContract.RawContacts.ACCOUNT_NAME, mAccountName)
                .appendQueryParameter(ContactsContract.RawContacts.ACCOUNT_TYPE, mAccountType)
                .build();
        final Uri.Builder builder = RawContacts.CONTENT_URI.buildUpon();
        // null account names are not valid, see ContactsProvider2#appendAccountFromParameter
        if (mAccountName != null) {
            builder.appendQueryParameter(RawContacts.ACCOUNT_NAME, mAccountName);
            builder.appendQueryParameter(RawContacts.ACCOUNT_TYPE, mAccountType);
        }
        if (mDataSet != null) {
            builder.appendQueryParameter(RawContacts.DATA_SET, mDataSet);
        }
        final Uri rawContactUri = builder.build();
        final String[] projection = new String[]{ContactsContract.RawContacts._ID};
        final StringBuilder selection = new StringBuilder();
        final String[] selectionArgs = new String[mContactIds.length];