diff --git a/app/src/main/java/org/thoughtcrime/securesms/ContactSelectionListFragment.java b/app/src/main/java/org/thoughtcrime/securesms/ContactSelectionListFragment.java index 91dda8d7a8..82dc7f2b22 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/ContactSelectionListFragment.java +++ b/app/src/main/java/org/thoughtcrime/securesms/ContactSelectionListFragment.java @@ -23,6 +23,7 @@ import android.content.Context; import android.database.Cursor; import android.os.AsyncTask; import android.os.Bundle; +import android.text.TextUtils; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -314,7 +315,11 @@ public final class ContactSelectionListFragment extends Fragment } if (headerAdapter != null) { - headerAdapter.show(); + if (TextUtils.isEmpty(cursorFilter)) { + headerAdapter.show(); + } else { + headerAdapter.hide(); + } } emptyText.setText(R.string.contact_selection_group_activity__no_contacts); diff --git a/app/src/main/java/org/thoughtcrime/securesms/database/RecipientDatabase.java b/app/src/main/java/org/thoughtcrime/securesms/database/RecipientDatabase.java index 010a286738..62cae4deb5 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/database/RecipientDatabase.java +++ b/app/src/main/java/org/thoughtcrime/securesms/database/RecipientDatabase.java @@ -1451,7 +1451,7 @@ public class RecipientDatabase extends Database { args = new String[] { "0", String.valueOf(RegisteredState.REGISTERED.getId()), "1" }; } else { selection += " AND " + ID + " != ?"; - args = new String[] { "0", String.valueOf(RegisteredState.REGISTERED.getId()), Recipient.self().getId().serialize() }; + args = new String[] { "0", String.valueOf(RegisteredState.REGISTERED.getId()), "1", Recipient.self().getId().serialize() }; } String orderBy = SORT_NAME + ", " + SYSTEM_DISPLAY_NAME + ", " + SEARCH_PROFILE_NAME + ", " + USERNAME + ", " + PHONE; diff --git a/app/src/main/java/org/thoughtcrime/securesms/groups/ui/creategroup/details/AddGroupDetailsFragment.java b/app/src/main/java/org/thoughtcrime/securesms/groups/ui/creategroup/details/AddGroupDetailsFragment.java index 3d152eca04..9d0e8fb5be 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/groups/ui/creategroup/details/AddGroupDetailsFragment.java +++ b/app/src/main/java/org/thoughtcrime/securesms/groups/ui/creategroup/details/AddGroupDetailsFragment.java @@ -140,7 +140,7 @@ public class AddGroupDetailsFragment extends Fragment { initializeViewModel(); - avatar.setOnClickListener(v -> AvatarSelectionBottomSheetDialogFragment.create(false, true, REQUEST_CODE_AVATAR, true) + avatar.setOnClickListener(v -> AvatarSelectionBottomSheetDialogFragment.create(viewModel.hasAvatar(), true, REQUEST_CODE_AVATAR, true) .show(getChildFragmentManager(), "BOTTOM")); members.setRecipientLongClickListener(this::handleRecipientLongClick); members.setRecipientClickListener(this::handleRecipientClick); @@ -162,11 +162,19 @@ public class AddGroupDetailsFragment extends Fragment { .into(avatar); } }); + + name.requestFocus(); } @Override public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { if (requestCode == REQUEST_CODE_AVATAR && resultCode == Activity.RESULT_OK && data != null) { + + if (data.getBooleanExtra("delete", false)) { + viewModel.setAvatar(null); + return; + } + final Media result = data.getParcelableExtra(AvatarSelectionActivity.EXTRA_MEDIA); final DecryptableStreamUriLoader.DecryptableUri decryptableUri = new DecryptableStreamUriLoader.DecryptableUri(result.getUri()); diff --git a/app/src/main/java/org/thoughtcrime/securesms/groups/ui/creategroup/details/AddGroupDetailsViewModel.java b/app/src/main/java/org/thoughtcrime/securesms/groups/ui/creategroup/details/AddGroupDetailsViewModel.java index 16206c1907..0a97ea33f1 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/groups/ui/creategroup/details/AddGroupDetailsViewModel.java +++ b/app/src/main/java/org/thoughtcrime/securesms/groups/ui/creategroup/details/AddGroupDetailsViewModel.java @@ -3,6 +3,7 @@ package org.thoughtcrime.securesms.groups.ui.creategroup.details; import android.text.TextUtils; import androidx.annotation.NonNull; +import androidx.annotation.Nullable; import androidx.lifecycle.LiveData; import androidx.lifecycle.MutableLiveData; import androidx.lifecycle.Transformations; @@ -72,10 +73,14 @@ public final class AddGroupDetailsViewModel extends ViewModel { return isMms; } - void setAvatar(@NonNull byte[] avatar) { + void setAvatar(@Nullable byte[] avatar) { this.avatar.setValue(avatar); } + boolean hasAvatar() { + return avatar.getValue() != null; + } + void setName(@NonNull String name) { this.name.setValue(name); }