do not show 'paste as quote' if clip is NULL
This commit is contained in:
parent
9e7db440df
commit
cdcd2f8b04
|
@ -32,57 +32,58 @@ package eu.siacs.conversations.ui.util;
|
||||||
import android.content.ClipData;
|
import android.content.ClipData;
|
||||||
import android.content.ClipboardManager;
|
import android.content.ClipboardManager;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.util.Log;
|
import android.text.TextUtils;
|
||||||
import android.view.ActionMode;
|
import android.view.ActionMode;
|
||||||
import android.view.Menu;
|
import android.view.Menu;
|
||||||
import android.view.MenuInflater;
|
import android.view.MenuInflater;
|
||||||
import android.view.MenuItem;
|
import android.view.MenuItem;
|
||||||
|
|
||||||
import eu.siacs.conversations.Config;
|
|
||||||
import eu.siacs.conversations.R;
|
import eu.siacs.conversations.R;
|
||||||
import eu.siacs.conversations.ui.widget.EditMessage;
|
import eu.siacs.conversations.ui.widget.EditMessage;
|
||||||
|
|
||||||
public class EditMessageActionModeCallback implements ActionMode.Callback {
|
public class EditMessageActionModeCallback implements ActionMode.Callback {
|
||||||
|
|
||||||
private final EditMessage editMessage;
|
private final EditMessage editMessage;
|
||||||
private final ClipboardManager clipboardManager;
|
private final ClipboardManager clipboardManager;
|
||||||
|
|
||||||
public EditMessageActionModeCallback(EditMessage editMessage) {
|
public EditMessageActionModeCallback(EditMessage editMessage) {
|
||||||
this.editMessage = editMessage;
|
this.editMessage = editMessage;
|
||||||
this.clipboardManager = (ClipboardManager) editMessage.getContext().getSystemService(Context.CLIPBOARD_SERVICE);
|
this.clipboardManager = (ClipboardManager) editMessage.getContext().getSystemService(Context.CLIPBOARD_SERVICE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
|
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
|
||||||
MenuInflater inflater = mode.getMenuInflater();
|
final MenuInflater inflater = mode.getMenuInflater();
|
||||||
inflater.inflate(R.menu.edit_message_actions, menu);
|
inflater.inflate(R.menu.edit_message_actions, menu);
|
||||||
MenuItem pasteAsQuote = menu.findItem(R.id.paste_as_quote);
|
final MenuItem pasteAsQuote = menu.findItem(R.id.paste_as_quote);
|
||||||
ClipData primaryClip = clipboardManager.getPrimaryClip();
|
final ClipData primaryClip = clipboardManager.getPrimaryClip();
|
||||||
if (primaryClip != null && primaryClip.getItemCount() >= 0) {
|
if (primaryClip != null && primaryClip.getItemCount() >= 0) {
|
||||||
pasteAsQuote.setVisible(primaryClip.getDescription().getMimeType(0).startsWith("text/") && primaryClip.getItemAt(0).getText() != null);
|
pasteAsQuote.setVisible(primaryClip.getDescription().getMimeType(0).startsWith("text/") && !TextUtils.isEmpty(primaryClip.getItemAt(0).getText()));
|
||||||
}
|
} else {
|
||||||
return true;
|
pasteAsQuote.setVisible(false);
|
||||||
}
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
|
public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
|
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
|
||||||
if (item.getItemId() == R.id.paste_as_quote) {
|
if (item.getItemId() == R.id.paste_as_quote) {
|
||||||
final ClipData primaryClip = clipboardManager.getPrimaryClip();
|
final ClipData primaryClip = clipboardManager.getPrimaryClip();
|
||||||
if (primaryClip != null && primaryClip.getItemCount() >= 1) {
|
if (primaryClip != null && primaryClip.getItemCount() >= 1) {
|
||||||
editMessage.insertAsQuote(primaryClip.getItemAt(0).getText().toString());
|
editMessage.insertAsQuote(primaryClip.getItemAt(0).getText().toString());
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onDestroyActionMode(ActionMode mode) {
|
public void onDestroyActionMode(ActionMode mode) {
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue