avoid some null pointers when pgp api is not installed
This commit is contained in:
parent
c609eefefa
commit
69af009c88
|
@ -439,6 +439,7 @@ public class ConversationFragment extends Fragment {
|
|||
ConversationActivity activity = (ConversationActivity) getActivity();
|
||||
final XmppConnectionService xmppService = activity.xmppConnectionService;
|
||||
Contact contact = message.getConversation().getContact();
|
||||
if (activity.hasPgp()) {
|
||||
if (contact.getPgpKeyId() != 0) {
|
||||
xmppService.sendMessage(message, null);
|
||||
chatMsg.setText("");
|
||||
|
@ -462,9 +463,6 @@ public class ConversationFragment extends Fragment {
|
|||
builder.create().show();
|
||||
}
|
||||
}
|
||||
|
||||
public void resendPgpMessage(String msg) {
|
||||
this.queuedPqpMessage = msg;
|
||||
}
|
||||
|
||||
protected void sendOtrMessage(final Message message) {
|
||||
|
|
|
@ -237,6 +237,7 @@ public class ManageAccountActivity extends XmppActivity implements ActionMode.Ca
|
|||
builder.setNegativeButton("Cancel",null);
|
||||
builder.create().show();
|
||||
} else if (item.getItemId()==R.id.announce_pgp) {
|
||||
if (this.hasPgp()) {
|
||||
mode.finish();
|
||||
try {
|
||||
xmppConnectionService.generatePgpAnnouncement(selectedAccountForActionMode);
|
||||
|
@ -248,6 +249,7 @@ public class ManageAccountActivity extends XmppActivity implements ActionMode.Ca
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
@ -3,6 +3,8 @@ package eu.siacs.conversations.ui;
|
|||
import eu.siacs.conversations.services.XmppConnectionService;
|
||||
import eu.siacs.conversations.services.XmppConnectionService.XmppConnectionBinder;
|
||||
import android.app.Activity;
|
||||
import android.app.AlertDialog;
|
||||
import android.app.AlertDialog.Builder;
|
||||
import android.content.ComponentName;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
|
@ -63,5 +65,18 @@ public abstract class XmppActivity extends Activity {
|
|||
}
|
||||
}
|
||||
|
||||
public boolean hasPgp() {
|
||||
if (xmppConnectionService.getPgpEngine()!=null) {
|
||||
return true;
|
||||
} else {
|
||||
Builder builder = new AlertDialog.Builder(getApplicationContext());
|
||||
builder.setTitle("OpenKeychain not found");
|
||||
builder.setIconAttribute(android.R.attr.alertDialogIcon);
|
||||
builder.setMessage("Please make sure you have installed OpenKeychain");
|
||||
builder.create().show();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
abstract void onBackendConnected();
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue