OpenPGP key display in muc details is now prettier and linked to openkeychain
This commit is contained in:
parent
ca49603c85
commit
5d0e1374b2
|
@ -35,6 +35,15 @@
|
|||
android:textColor="#5b5b5b"
|
||||
android:singleLine="true"
|
||||
/>
|
||||
<TextView
|
||||
android:id="@+id/key"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textSize="18sp"
|
||||
android:textColor="#5b5b5b"
|
||||
android:typeface="monospace"
|
||||
android:visibility="gone"
|
||||
/>
|
||||
</LinearLayout>
|
||||
|
||||
</RelativeLayout>
|
|
@ -303,4 +303,13 @@ public class PgpEngine {
|
|||
Intent result = api.executeApi(params, null, null);
|
||||
return (PendingIntent) result.getParcelableExtra(OpenPgpApi.RESULT_INTENT);
|
||||
}
|
||||
|
||||
public PendingIntent getIntentForKey(Account account, long pgpKeyId) {
|
||||
Intent params = new Intent();
|
||||
params.setAction(OpenPgpApi.ACTION_GET_KEY);
|
||||
params.putExtra(OpenPgpApi.EXTRA_KEY_ID, pgpKeyId);
|
||||
params.putExtra(OpenPgpApi.EXTRA_ACCOUNT_NAME, account.getJid());
|
||||
Intent result = api.executeApi(params, null, null);
|
||||
return (PendingIntent) result.getParcelableExtra(OpenPgpApi.RESULT_INTENT);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -6,13 +6,16 @@ import java.util.List;
|
|||
import org.openintents.openpgp.util.OpenPgpUtils;
|
||||
|
||||
import eu.siacs.conversations.R;
|
||||
import eu.siacs.conversations.crypto.PgpEngine;
|
||||
import eu.siacs.conversations.entities.Conversation;
|
||||
import eu.siacs.conversations.entities.MucOptions;
|
||||
import eu.siacs.conversations.entities.MucOptions.User;
|
||||
import eu.siacs.conversations.utils.UIHelper;
|
||||
import android.app.PendingIntent;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.SharedPreferences;
|
||||
import android.content.IntentSender.SendIntentException;
|
||||
import android.os.Bundle;
|
||||
import android.preference.PreferenceManager;
|
||||
import android.util.Log;
|
||||
|
@ -169,19 +172,35 @@ public class MucDetailsActivity extends XmppActivity {
|
|||
}
|
||||
this.users.clear();
|
||||
this.users.addAll(conversation.getMucOptions().getUsers());
|
||||
//contactsAdapter.notifyDataSetChanged();
|
||||
LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
|
||||
membersView.removeAllViews();
|
||||
for(User contact : conversation.getMucOptions().getUsers()) {
|
||||
for(final User contact : conversation.getMucOptions().getUsers()) {
|
||||
View view = (View) inflater.inflate(R.layout.contact, null);
|
||||
|
||||
((TextView) view.findViewById(R.id.contact_display_name))
|
||||
.setText(contact.getName());
|
||||
TextView displayName = (TextView) view.findViewById(R.id.contact_display_name);
|
||||
TextView key = (TextView) view.findViewById(R.id.key);
|
||||
displayName.setText(contact.getName());
|
||||
TextView role = (TextView) view.findViewById(R.id.contact_jid);
|
||||
if (contact.getPgpKeyId()==0) {
|
||||
role.setText(getReadableRole(contact.getRole()));
|
||||
} else {
|
||||
role.setText(getReadableRole(contact.getRole())+" \u00B7 "+OpenPgpUtils.convertKeyIdToHex(contact.getPgpKeyId()));
|
||||
role.setText(getReadableRole(contact.getRole()));
|
||||
if (contact.getPgpKeyId()!=0) {
|
||||
key.setVisibility(View.VISIBLE);
|
||||
key.setOnClickListener(new OnClickListener() {
|
||||
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
PgpEngine pgp = xmppConnectionService.getPgpEngine();
|
||||
if (pgp!=null) {
|
||||
PendingIntent intent = pgp.getIntentForKey(conversation.getAccount(), contact.getPgpKeyId());
|
||||
if (intent!=null) {
|
||||
try {
|
||||
startIntentSenderForResult(intent.getIntentSender(), 0, null, 0, 0, 0);
|
||||
} catch (SendIntentException e) {
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
key.setText(OpenPgpUtils.convertKeyIdToHex(contact.getPgpKeyId()));
|
||||
}
|
||||
ImageView imageView = (ImageView) view
|
||||
.findViewById(R.id.contact_photo);
|
||||
|
|
Loading…
Reference in a new issue