mirror of
https://code.briarproject.org/briar/briar.git
synced 2026-02-13 19:29:06 +01:00
New Trust Level Indicator Replaces The Stars
This implements a generic `TrustIndicatorView` with a `setTrustLevel()` method which updates the drawable according to the `Author.State`. Closes #78
This commit is contained in:
@@ -1,81 +0,0 @@
|
||||
package org.briarproject.android.util;
|
||||
|
||||
import android.content.Context;
|
||||
import android.util.AttributeSet;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.widget.FrameLayout;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import org.briarproject.R;
|
||||
import org.briarproject.api.crypto.CryptoComponent;
|
||||
import org.briarproject.api.identity.Author;
|
||||
import org.briarproject.api.identity.AuthorId;
|
||||
|
||||
import javax.inject.Inject;
|
||||
|
||||
import im.delight.android.identicons.IdenticonDrawable;
|
||||
|
||||
public class AuthorView extends FrameLayout {
|
||||
|
||||
private ImageView avatarView;
|
||||
private TextView nameView;
|
||||
private ImageView statusView;
|
||||
|
||||
public AuthorView(Context ctx) {
|
||||
super(ctx);
|
||||
|
||||
initViews();
|
||||
}
|
||||
|
||||
public AuthorView(Context context, AttributeSet attrs) {
|
||||
super(context, attrs);
|
||||
|
||||
initViews();
|
||||
}
|
||||
|
||||
public AuthorView(Context context, AttributeSet attrs,
|
||||
int defStyle) {
|
||||
super(context, attrs, defStyle);
|
||||
|
||||
initViews();
|
||||
}
|
||||
|
||||
private void initViews() {
|
||||
if (isInEditMode())
|
||||
return;
|
||||
|
||||
View v = LayoutInflater.from(getContext()).inflate(
|
||||
R.layout.author_view, this, true);
|
||||
|
||||
avatarView = (ImageView) v.findViewById(R.id.avatarView);
|
||||
nameView = (TextView) v.findViewById(R.id.nameView);
|
||||
statusView = (ImageView) v.findViewById(R.id.statusView);
|
||||
}
|
||||
|
||||
public void init(String name, AuthorId id, Author.Status status) {
|
||||
if (name == null) {
|
||||
nameView.setText(R.string.anonymous);
|
||||
} else {
|
||||
nameView.setText(name);
|
||||
avatarView.setImageDrawable(
|
||||
new IdenticonDrawable(id.getBytes()));
|
||||
}
|
||||
|
||||
switch(status) {
|
||||
case ANONYMOUS:
|
||||
statusView.setImageResource(R.drawable.identity_anonymous);
|
||||
break;
|
||||
case UNKNOWN:
|
||||
statusView.setImageResource(R.drawable.identity_unknown);
|
||||
break;
|
||||
case UNVERIFIED:
|
||||
statusView.setImageResource(R.drawable.identity_unverified);
|
||||
break;
|
||||
case VERIFIED:
|
||||
statusView.setImageResource(R.drawable.identity_verified);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
package org.briarproject.android.util;
|
||||
|
||||
import android.content.Context;
|
||||
import android.support.v4.content.ContextCompat;
|
||||
import android.util.AttributeSet;
|
||||
import android.widget.ImageView;
|
||||
|
||||
import org.briarproject.R;
|
||||
import org.briarproject.api.identity.Author.Status;
|
||||
|
||||
public class TrustIndicatorView extends ImageView {
|
||||
|
||||
public TrustIndicatorView(Context context) {
|
||||
super(context);
|
||||
}
|
||||
|
||||
public TrustIndicatorView(Context context, AttributeSet attrs) {
|
||||
super(context, attrs);
|
||||
}
|
||||
|
||||
public TrustIndicatorView(Context context, AttributeSet attrs,
|
||||
int defStyleAttr) {
|
||||
super(context, attrs, defStyleAttr);
|
||||
}
|
||||
|
||||
public void setTrustLevel(Status status) {
|
||||
int res;
|
||||
switch (status) {
|
||||
case ANONYMOUS:
|
||||
res = R.drawable.trust_indicator_anonymous;
|
||||
break;
|
||||
case UNVERIFIED:
|
||||
res = R.drawable.trust_indicator_unverified;
|
||||
break;
|
||||
case VERIFIED:
|
||||
res = R.drawable.trust_indicator_verified;
|
||||
break;
|
||||
default:
|
||||
res = R.drawable.trust_indicator_unknown;
|
||||
}
|
||||
setImageDrawable(ContextCompat.getDrawable(getContext(), res));
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user