|
|
|
@ -266,13 +266,14 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
|
|
|
|
|
|
|
|
|
|
private RecyclerView rvAttachment;
|
|
|
|
|
private CheckBox cbInline;
|
|
|
|
|
private ImageButton ibDecrypt;
|
|
|
|
|
private Button btnDownloadAttachments;
|
|
|
|
|
private Button btnSaveAttachments;
|
|
|
|
|
private TextView tvNoInternetAttachments;
|
|
|
|
|
|
|
|
|
|
private BottomNavigationView bnvActions;
|
|
|
|
|
|
|
|
|
|
private ImageButton ibDecrypt;
|
|
|
|
|
private ImageButton ibQuotes;
|
|
|
|
|
private ImageButton ibImages;
|
|
|
|
|
private ImageButton ibFull;
|
|
|
|
|
private TextView tvBody;
|
|
|
|
@ -409,6 +410,7 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
ibDecrypt = vsBody.findViewById(R.id.ibDecrypt);
|
|
|
|
|
ibQuotes = vsBody.findViewById(R.id.ibQuotes);
|
|
|
|
|
ibImages = vsBody.findViewById(R.id.ibImages);
|
|
|
|
|
ibFull = vsBody.findViewById(R.id.ibFull);
|
|
|
|
|
tvBody = vsBody.findViewById(R.id.tvBody);
|
|
|
|
@ -469,6 +471,7 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
|
|
|
|
|
ibAddContact.setOnClickListener(this);
|
|
|
|
|
|
|
|
|
|
ibDecrypt.setOnClickListener(this);
|
|
|
|
|
ibQuotes.setOnClickListener(this);
|
|
|
|
|
btnDownloadAttachments.setOnClickListener(this);
|
|
|
|
|
btnSaveAttachments.setOnClickListener(this);
|
|
|
|
|
|
|
|
|
@ -502,6 +505,7 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
|
|
|
|
|
ibAddContact.setOnClickListener(null);
|
|
|
|
|
|
|
|
|
|
ibDecrypt.setOnClickListener(null);
|
|
|
|
|
ibQuotes.setOnClickListener(null);
|
|
|
|
|
btnDownloadAttachments.setOnClickListener(null);
|
|
|
|
|
btnSaveAttachments.setOnClickListener(null);
|
|
|
|
|
|
|
|
|
@ -834,13 +838,14 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
|
|
|
|
|
pbCalendarWait.setVisibility(View.GONE);
|
|
|
|
|
|
|
|
|
|
cbInline.setVisibility(View.GONE);
|
|
|
|
|
ibDecrypt.setVisibility(View.GONE);
|
|
|
|
|
btnDownloadAttachments.setVisibility(View.GONE);
|
|
|
|
|
btnSaveAttachments.setVisibility(View.GONE);
|
|
|
|
|
tvNoInternetAttachments.setVisibility(View.GONE);
|
|
|
|
|
|
|
|
|
|
bnvActions.setVisibility(View.GONE);
|
|
|
|
|
|
|
|
|
|
ibDecrypt.setVisibility(View.GONE);
|
|
|
|
|
ibQuotes.setVisibility(View.GONE);
|
|
|
|
|
ibImages.setVisibility(View.GONE);
|
|
|
|
|
ibFull.setVisibility(View.GONE);
|
|
|
|
|
tvBody.setVisibility(View.GONE);
|
|
|
|
@ -1386,9 +1391,7 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
|
|
|
|
|
if (message == null)
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
|
|
if (view.getId() == R.id.ibDecrypt)
|
|
|
|
|
onMenuDecrypt(message);
|
|
|
|
|
else if (view.getId() == R.id.ivSnoozed)
|
|
|
|
|
if (view.getId() == R.id.ivSnoozed)
|
|
|
|
|
onShowSnoozed(message);
|
|
|
|
|
else if (view.getId() == R.id.ivFlagged)
|
|
|
|
|
onToggleFlag(message);
|
|
|
|
@ -1409,6 +1412,12 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
|
|
|
|
|
case R.id.btnSaveAttachments:
|
|
|
|
|
onSaveAttachments(message);
|
|
|
|
|
break;
|
|
|
|
|
case R.id.ibDecrypt:
|
|
|
|
|
onMenuDecrypt(message);
|
|
|
|
|
break;
|
|
|
|
|
case R.id.ibQuotes:
|
|
|
|
|
onShowQuotes(message);
|
|
|
|
|
break;
|
|
|
|
|
case R.id.ibImages:
|
|
|
|
|
onShowImages(message);
|
|
|
|
|
break;
|
|
|
|
@ -1825,6 +1834,11 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void onShowQuotes(TupleMessageEx message) {
|
|
|
|
|
properties.setValue("quotes", message.id, true);
|
|
|
|
|
loadText(message);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void onShowImages(final TupleMessageEx message) {
|
|
|
|
|
final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
|
|
|
|
|
if (prefs.getBoolean("show_images_confirmed", false)) {
|
|
|
|
@ -1913,7 +1927,7 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
|
|
|
|
|
Bundle args = new Bundle();
|
|
|
|
|
args.putSerializable("message", message);
|
|
|
|
|
args.putBoolean("show_images", show_images);
|
|
|
|
|
args.putBoolean("show_quotes", show_quotes);
|
|
|
|
|
args.putBoolean("show_quotes", show_quotes || !threading);
|
|
|
|
|
args.putInt("zoom", zoom);
|
|
|
|
|
bodyTask.setCount(false).execute(context, owner, args, "message:body");
|
|
|
|
|
}
|
|
|
|
@ -1997,6 +2011,7 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
|
|
|
|
|
builder.getSpanFlags(squote));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
args.putBoolean("has_quotes", quoteSpans.length > 0);
|
|
|
|
|
args.putBoolean("has_images", builder.getSpans(0, body.length(), ImageSpan.class).length > 0);
|
|
|
|
|
|
|
|
|
|
return builder;
|
|
|
|
@ -2015,10 +2030,13 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
|
|
|
|
|
if (!show_expanded)
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
|
|
boolean has_quotes = args.getBoolean("has_quotes");
|
|
|
|
|
boolean has_images = args.getBoolean("has_images");
|
|
|
|
|
boolean show_quotes = properties.getValue("quotes", message.id);
|
|
|
|
|
boolean show_images = properties.getValue("images", message.id);
|
|
|
|
|
|
|
|
|
|
ibFull.setVisibility(hasWebView ? View.VISIBLE : View.GONE);
|
|
|
|
|
ibQuotes.setVisibility(has_quotes && threading && !show_quotes ? View.VISIBLE : View.GONE);
|
|
|
|
|
ibImages.setVisibility(has_images && !show_images ? View.VISIBLE : View.GONE);
|
|
|
|
|
|
|
|
|
|
tvBody.setText(body);
|
|
|
|
|