Fix some more UX issues with blocked users.
This commit is contained in:
parent
8c6001fa5a
commit
4bdcaa72cd
3 changed files with 23 additions and 24 deletions
|
@ -429,7 +429,7 @@ public class RecipientPreferenceActivity extends PassphraseRequiredActionBarActi
|
|||
aboutPreference.setSummary(recipient.getCustomLabel());
|
||||
}
|
||||
|
||||
aboutPreference.setSecure(recipient.getRegistered() == RecipientDatabase.RegisteredState.REGISTERED);
|
||||
aboutPreference.setState(recipient.getRegistered() == RecipientDatabase.RegisteredState.REGISTERED, recipient.isBlocked());
|
||||
|
||||
IdentityUtil.getRemoteIdentityKey(getActivity(), recipient).addListener(new ListenableFuture.Listener<Optional<IdentityRecord>>() {
|
||||
@Override
|
||||
|
|
|
@ -770,9 +770,19 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity
|
|||
if (isSecureText) {
|
||||
menu.findItem(R.id.menu_call_secure).setVisible(false);
|
||||
menu.findItem(R.id.menu_video_secure).setVisible(false);
|
||||
|
||||
if (menu.findItem(R.id.menu_expiring_messages) != null) {
|
||||
menu.findItem(R.id.menu_expiring_messages).setVisible(false);
|
||||
}
|
||||
|
||||
if (menu.findItem(R.id.menu_expiring_messages_off) != null) {
|
||||
menu.findItem(R.id.menu_expiring_messages_off).setVisible(false);
|
||||
}
|
||||
} else {
|
||||
menu.findItem(R.id.menu_call_insecure).setVisible(false);
|
||||
}
|
||||
|
||||
menu.findItem(R.id.menu_mute_notifications).setVisible(false);
|
||||
}
|
||||
|
||||
searchViewItem = menu.findItem(R.id.menu_search);
|
||||
|
@ -983,24 +993,11 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity
|
|||
}
|
||||
|
||||
private void handleUnblock() {
|
||||
int titleRes = R.string.ConversationActivity_unblock_this_contact_question;
|
||||
int bodyRes = R.string.ConversationActivity_you_will_once_again_be_able_to_receive_messages_and_calls_from_this_contact;
|
||||
|
||||
if (recipient.get().isGroup()) {
|
||||
titleRes = R.string.ConversationActivity_unblock_this_group_question;
|
||||
bodyRes = R.string.ConversationActivity_unblock_this_group_description;
|
||||
}
|
||||
|
||||
//noinspection CodeBlock2Expr
|
||||
new AlertDialog.Builder(this)
|
||||
.setTitle(titleRes)
|
||||
.setMessage(bodyRes)
|
||||
.setNegativeButton(android.R.string.cancel, null)
|
||||
.setPositiveButton(R.string.ConversationActivity_unblock, (dialog, which) -> {
|
||||
SignalExecutors.BOUNDED.execute(() -> {
|
||||
RecipientUtil.unblock(ConversationActivity.this, recipient.get());
|
||||
});
|
||||
}).show();
|
||||
BlockUnblockDialog.showUnblockFor(this, getLifecycle(), recipient.get(), () -> {
|
||||
SignalExecutors.BOUNDED.execute(() -> {
|
||||
RecipientUtil.unblock(ConversationActivity.this, recipient.get());
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
@TargetApi(Build.VERSION_CODES.KITKAT)
|
||||
|
|
|
@ -20,6 +20,7 @@ public class ContactPreference extends Preference {
|
|||
|
||||
private Listener listener;
|
||||
private boolean secure;
|
||||
private boolean blocked;
|
||||
|
||||
public ContactPreference(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
|
||||
super(context, attrs, defStyleAttr, defStyleRes);
|
||||
|
@ -55,15 +56,16 @@ public class ContactPreference extends Preference {
|
|||
this.secureVideoButton = (ImageView) view.findViewById(R.id.secure_video);
|
||||
|
||||
if (listener != null) setListener(listener);
|
||||
setSecure(secure);
|
||||
setState(secure, blocked);
|
||||
}
|
||||
|
||||
public void setSecure(boolean secure) {
|
||||
public void setState(boolean secure, boolean blocked) {
|
||||
this.secure = secure;
|
||||
|
||||
if (secureCallButton != null) secureCallButton.setVisibility(secure ? View.VISIBLE : View.GONE);
|
||||
if (secureVideoButton != null) secureVideoButton.setVisibility(secure ? View.VISIBLE : View.GONE);
|
||||
if (callButton != null) callButton.setVisibility(secure ? View.GONE : View.VISIBLE);
|
||||
if (secureCallButton != null) secureCallButton.setVisibility(secure && !blocked ? View.VISIBLE : View.GONE);
|
||||
if (secureVideoButton != null) secureVideoButton.setVisibility(secure && !blocked ? View.VISIBLE : View.GONE);
|
||||
if (callButton != null) callButton.setVisibility(secure || blocked ? View.GONE : View.VISIBLE);
|
||||
if (messageButton != null) messageButton.setVisibility(blocked ? View.GONE : View.VISIBLE);
|
||||
|
||||
int color;
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue