parent
b38a3e6259
commit
066df77abf
|
@ -25,7 +25,6 @@ import org.thoughtcrime.securesms.logging.Log;
|
|||
|
||||
import org.thoughtcrime.securesms.components.ContactFilterToolbar;
|
||||
import org.thoughtcrime.securesms.contacts.ContactsCursorLoader.DisplayMode;
|
||||
import org.thoughtcrime.securesms.recipients.RecipientId;
|
||||
import org.thoughtcrime.securesms.util.DirectoryHelper;
|
||||
import org.thoughtcrime.securesms.util.DynamicLanguage;
|
||||
import org.thoughtcrime.securesms.util.DynamicNoActionBarTheme;
|
||||
|
@ -114,10 +113,10 @@ public abstract class ContactSelectionActivity extends PassphraseRequiredActionB
|
|||
}
|
||||
|
||||
@Override
|
||||
public void onContactSelected(RecipientId recipientId) {}
|
||||
public void onContactSelected(String number) {}
|
||||
|
||||
@Override
|
||||
public void onContactDeselected(RecipientId recipientId) {}
|
||||
public void onContactDeselected(String number) {}
|
||||
|
||||
private static class RefreshDirectoryTask extends AsyncTask<Context, Void, Void> {
|
||||
|
||||
|
|
|
@ -50,7 +50,6 @@ import org.thoughtcrime.securesms.contacts.ContactsCursorLoader.DisplayMode;
|
|||
import org.thoughtcrime.securesms.logging.Log;
|
||||
import org.thoughtcrime.securesms.mms.GlideApp;
|
||||
import org.thoughtcrime.securesms.permissions.Permissions;
|
||||
import org.thoughtcrime.securesms.recipients.RecipientId;
|
||||
import org.thoughtcrime.securesms.util.DirectoryHelper;
|
||||
import org.thoughtcrime.securesms.util.StickyHeaderDecoration;
|
||||
import org.thoughtcrime.securesms.util.TextSecurePreferences;
|
||||
|
@ -81,7 +80,7 @@ public final class ContactSelectionListFragment extends Fragment
|
|||
public static final String RECENTS = "recents";
|
||||
|
||||
private TextView emptyText;
|
||||
private Set<RecipientId> selectedContacts;
|
||||
private Set<String> selectedContacts;
|
||||
private OnContactSelectedListener onContactSelectedListener;
|
||||
private SwipeRefreshLayout swipeRefresh;
|
||||
private View showContactsLayout;
|
||||
|
@ -162,8 +161,8 @@ public final class ContactSelectionListFragment extends Fragment
|
|||
Permissions.onRequestPermissionsResult(this, requestCode, permissions, grantResults);
|
||||
}
|
||||
|
||||
public @NonNull List<RecipientId> getSelectedContacts() {
|
||||
List<RecipientId> selected = new LinkedList<>();
|
||||
public @NonNull List<String> getSelectedContacts() {
|
||||
List<String> selected = new LinkedList<>();
|
||||
if (selectedContacts != null) {
|
||||
selected.addAll(selectedContacts);
|
||||
}
|
||||
|
@ -324,14 +323,14 @@ public final class ContactSelectionListFragment extends Fragment
|
|||
private class ListClickListener implements ContactSelectionListAdapter.ItemClickListener {
|
||||
@Override
|
||||
public void onItemClick(ContactSelectionListItem contact) {
|
||||
if (!isMulti() || !selectedContacts.contains(contact.getRecipientId())) {
|
||||
selectedContacts.add(contact.getRecipientId());
|
||||
if (!isMulti() || !selectedContacts.contains(contact.getNumber())) {
|
||||
selectedContacts.add(contact.getNumber());
|
||||
contact.setChecked(true);
|
||||
if (onContactSelectedListener != null) onContactSelectedListener.onContactSelected(contact.getRecipientId());
|
||||
if (onContactSelectedListener != null) onContactSelectedListener.onContactSelected(contact.getNumber());
|
||||
} else {
|
||||
selectedContacts.remove(contact.getRecipientId());
|
||||
selectedContacts.remove(contact.getNumber());
|
||||
contact.setChecked(false);
|
||||
if (onContactSelectedListener != null) onContactSelectedListener.onContactDeselected(contact.getRecipientId());
|
||||
if (onContactSelectedListener != null) onContactSelectedListener.onContactDeselected(contact.getNumber());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -345,8 +344,8 @@ public final class ContactSelectionListFragment extends Fragment
|
|||
}
|
||||
|
||||
public interface OnContactSelectedListener {
|
||||
void onContactSelected(RecipientId recipientId);
|
||||
void onContactDeselected(RecipientId recipientId);
|
||||
void onContactSelected(String number);
|
||||
void onContactDeselected(String number);
|
||||
}
|
||||
|
||||
public interface InviteCallback {
|
||||
|
|
|
@ -284,10 +284,10 @@ public class GroupCreateActivity extends PassphraseRequiredActionBarActivity
|
|||
|
||||
switch (reqCode) {
|
||||
case PICK_CONTACT:
|
||||
List<RecipientId> selected = data.getParcelableArrayListExtra("contacts");
|
||||
List<String> selected = data.getStringArrayListExtra("contacts");
|
||||
|
||||
for (RecipientId id : selected) {
|
||||
Recipient recipient = Recipient.resolved(id);
|
||||
for (String contact : selected) {
|
||||
Recipient recipient = Recipient.external(this, contact);
|
||||
addSelectedContacts(recipient);
|
||||
}
|
||||
break;
|
||||
|
|
|
@ -29,7 +29,6 @@ import org.thoughtcrime.securesms.components.ContactFilterToolbar.OnFilterChange
|
|||
import org.thoughtcrime.securesms.contacts.ContactsCursorLoader.DisplayMode;
|
||||
import org.thoughtcrime.securesms.database.DatabaseFactory;
|
||||
import org.thoughtcrime.securesms.recipients.Recipient;
|
||||
import org.thoughtcrime.securesms.recipients.RecipientId;
|
||||
import org.thoughtcrime.securesms.sms.MessageSender;
|
||||
import org.thoughtcrime.securesms.sms.OutgoingTextMessage;
|
||||
import org.thoughtcrime.securesms.util.ViewUtil;
|
||||
|
@ -98,12 +97,12 @@ public class InviteActivity extends PassphraseRequiredActionBarActivity implemen
|
|||
}
|
||||
|
||||
@Override
|
||||
public void onContactSelected(RecipientId recipientId) {
|
||||
public void onContactSelected(String number) {
|
||||
updateSmsButtonText();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onContactDeselected(RecipientId recipientId) {
|
||||
public void onContactDeselected(String number) {
|
||||
updateSmsButtonText();
|
||||
}
|
||||
|
||||
|
|
|
@ -27,7 +27,6 @@ import org.thoughtcrime.securesms.conversation.ConversationActivity;
|
|||
import org.thoughtcrime.securesms.database.DatabaseFactory;
|
||||
import org.thoughtcrime.securesms.database.ThreadDatabase;
|
||||
import org.thoughtcrime.securesms.recipients.Recipient;
|
||||
import org.thoughtcrime.securesms.recipients.RecipientId;
|
||||
|
||||
/**
|
||||
* Activity container for starting a new conversation.
|
||||
|
@ -50,8 +49,8 @@ public class NewConversationActivity extends ContactSelectionActivity
|
|||
}
|
||||
|
||||
@Override
|
||||
public void onContactSelected(RecipientId recipientId) {
|
||||
Recipient recipient = Recipient.resolved(recipientId);
|
||||
public void onContactSelected(String number) {
|
||||
Recipient recipient = Recipient.external(this, number);
|
||||
|
||||
Intent intent = new Intent(this, ConversationActivity.class);
|
||||
intent.putExtra(ConversationActivity.RECIPIENT_EXTRA, recipient.getId());
|
||||
|
|
|
@ -19,8 +19,6 @@ package org.thoughtcrime.securesms;
|
|||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
|
||||
import org.thoughtcrime.securesms.recipients.RecipientId;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
|
@ -43,9 +41,11 @@ public class PushContactSelectionActivity extends ContactSelectionActivity {
|
|||
getToolbar().setNavigationIcon(R.drawable.ic_check_white_24dp);
|
||||
getToolbar().setNavigationOnClickListener(v -> {
|
||||
Intent resultIntent = getIntent();
|
||||
List<RecipientId> selectedContacts = contactsFragment.getSelectedContacts();
|
||||
List<String> selectedContacts = contactsFragment.getSelectedContacts();
|
||||
|
||||
resultIntent.putParcelableArrayListExtra("contacts", new ArrayList<>(selectedContacts));
|
||||
if (selectedContacts != null) {
|
||||
resultIntent.putStringArrayListExtra("contacts", new ArrayList<>(selectedContacts));
|
||||
}
|
||||
|
||||
setResult(RESULT_OK, resultIntent);
|
||||
finish();
|
||||
|
|
|
@ -272,9 +272,9 @@ public class ShareActivity extends PassphraseRequiredActionBarActivity
|
|||
}
|
||||
|
||||
@Override
|
||||
public void onContactSelected(RecipientId recipientId) {
|
||||
public void onContactSelected(String number) {
|
||||
SimpleTask.run(this.getLifecycle(), () -> {
|
||||
Recipient recipient = Recipient.resolved(recipientId);
|
||||
Recipient recipient = Recipient.external(this, number);
|
||||
long existingThread = DatabaseFactory.getThreadDatabase(this).getThreadIdIfExistsFor(recipient);
|
||||
return new Pair<>(existingThread, recipient);
|
||||
}, result -> {
|
||||
|
@ -284,7 +284,8 @@ public class ShareActivity extends PassphraseRequiredActionBarActivity
|
|||
}
|
||||
|
||||
@Override
|
||||
public void onContactDeselected(RecipientId recipientId) {
|
||||
public void onContactDeselected(String number) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -70,7 +70,7 @@ public class ContactSelectionListAdapter extends CursorRecyclerViewAdapter<ViewH
|
|||
private final ItemClickListener clickListener;
|
||||
private final GlideRequests glideRequests;
|
||||
|
||||
private final Set<RecipientId> selectedContacts = new HashSet<>();
|
||||
private final Set<String> selectedContacts = new HashSet<>();
|
||||
|
||||
public abstract static class ViewHolder extends RecyclerView.ViewHolder {
|
||||
|
||||
|
@ -189,7 +189,7 @@ public class ContactSelectionListAdapter extends CursorRecyclerViewAdapter<ViewH
|
|||
|
||||
viewHolder.unbind(glideRequests);
|
||||
viewHolder.bind(glideRequests, id, contactType, name, number, labelText, color, multiSelect);
|
||||
viewHolder.setChecked(selectedContacts.contains(id));
|
||||
viewHolder.setChecked(selectedContacts.contains(number));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -222,7 +222,7 @@ public class ContactSelectionListAdapter extends CursorRecyclerViewAdapter<ViewH
|
|||
return getHeaderString(position);
|
||||
}
|
||||
|
||||
public Set<RecipientId> getSelectedContacts() {
|
||||
public Set<String> getSelectedContacts() {
|
||||
return selectedContacts;
|
||||
}
|
||||
|
||||
|
|
|
@ -129,8 +129,8 @@ public class ContactSelectionListItem extends LinearLayout implements RecipientF
|
|||
}
|
||||
}
|
||||
|
||||
public @Nullable RecipientId getRecipientId() {
|
||||
return recipient != null ? recipient.getId() : null;
|
||||
public String getNumber() {
|
||||
return number;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
Loading…
Reference in New Issue