mirror of
https://github.com/moparisthebest/open-keychain
synced 2025-02-07 18:40:19 -05:00
Use icons in key view
This commit is contained in:
parent
a3045c710e
commit
3d6edd1190
@ -494,19 +494,19 @@ public class KeyListFragment extends LoaderFragment
|
|||||||
if (isRevoked) {
|
if (isRevoked) {
|
||||||
h.mStatus.setVisibility(View.VISIBLE);
|
h.mStatus.setVisibility(View.VISIBLE);
|
||||||
h.mStatus.setImageDrawable(
|
h.mStatus.setImageDrawable(
|
||||||
getResources().getDrawable(R.drawable.status_signature_revoked_cutout));
|
getResources().getDrawable(R.drawable.status_signature_revoked));
|
||||||
h.mStatus.setColorFilter(getResources().getColor(R.color.result_red),
|
h.mStatus.setColorFilter(getResources().getColor(R.color.result_red),
|
||||||
PorterDuff.Mode.SRC_ATOP);
|
PorterDuff.Mode.SRC_ATOP);
|
||||||
} else if (isExpired) {
|
} else if (isExpired) {
|
||||||
h.mStatus.setVisibility(View.VISIBLE);
|
h.mStatus.setVisibility(View.VISIBLE);
|
||||||
h.mStatus.setImageDrawable(
|
h.mStatus.setImageDrawable(
|
||||||
getResources().getDrawable(R.drawable.status_signature_expired_cutout));
|
getResources().getDrawable(R.drawable.status_signature_expired));
|
||||||
h.mStatus.setColorFilter(getResources().getColor(R.color.result_orange),
|
h.mStatus.setColorFilter(getResources().getColor(R.color.result_orange),
|
||||||
PorterDuff.Mode.SRC_ATOP);
|
PorterDuff.Mode.SRC_ATOP);
|
||||||
} else if (isVerified) {
|
} else if (isVerified) {
|
||||||
h.mStatus.setVisibility(View.VISIBLE);
|
h.mStatus.setVisibility(View.VISIBLE);
|
||||||
h.mStatus.setImageDrawable(
|
h.mStatus.setImageDrawable(
|
||||||
getResources().getDrawable(R.drawable.status_signature_verified_cutout));
|
getResources().getDrawable(R.drawable.status_signature_verified));
|
||||||
h.mStatus.setColorFilter(getResources().getColor(R.color.result_green),
|
h.mStatus.setColorFilter(getResources().getColor(R.color.result_green),
|
||||||
PorterDuff.Mode.SRC_ATOP);
|
PorterDuff.Mode.SRC_ATOP);
|
||||||
} else {
|
} else {
|
||||||
|
@ -22,6 +22,7 @@ import android.annotation.TargetApi;
|
|||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.database.Cursor;
|
import android.database.Cursor;
|
||||||
|
import android.graphics.PorterDuff;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.nfc.NdefMessage;
|
import android.nfc.NdefMessage;
|
||||||
import android.nfc.NdefRecord;
|
import android.nfc.NdefRecord;
|
||||||
@ -43,6 +44,9 @@ import android.view.Menu;
|
|||||||
import android.view.MenuItem;
|
import android.view.MenuItem;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.Window;
|
import android.view.Window;
|
||||||
|
import android.widget.ImageView;
|
||||||
|
import android.widget.LinearLayout;
|
||||||
|
import android.widget.TextView;
|
||||||
|
|
||||||
import com.devspark.appmsg.AppMsg;
|
import com.devspark.appmsg.AppMsg;
|
||||||
|
|
||||||
@ -81,9 +85,11 @@ public class ViewKeyActivity extends ActionBarActivity implements
|
|||||||
private ViewPager mViewPager;
|
private ViewPager mViewPager;
|
||||||
private SlidingTabLayout mSlidingTabLayout;
|
private SlidingTabLayout mSlidingTabLayout;
|
||||||
private PagerTabStripAdapter mTabsAdapter;
|
private PagerTabStripAdapter mTabsAdapter;
|
||||||
|
|
||||||
|
private LinearLayout mStatusLayout;
|
||||||
|
private TextView mStatusText;
|
||||||
|
private ImageView mStatusImage;
|
||||||
private View mStatusDivider;
|
private View mStatusDivider;
|
||||||
private View mStatusRevoked;
|
|
||||||
private View mStatusExpired;
|
|
||||||
|
|
||||||
public static final int REQUEST_CODE_LOOKUP_KEY = 0x00007006;
|
public static final int REQUEST_CODE_LOOKUP_KEY = 0x00007006;
|
||||||
|
|
||||||
@ -115,9 +121,10 @@ public class ViewKeyActivity extends ActionBarActivity implements
|
|||||||
|
|
||||||
setContentView(R.layout.view_key_activity);
|
setContentView(R.layout.view_key_activity);
|
||||||
|
|
||||||
mStatusDivider = findViewById(R.id.status_divider);
|
mStatusLayout = (LinearLayout) findViewById(R.id.view_key_status_layout);
|
||||||
mStatusRevoked = findViewById(R.id.view_key_revoked);
|
mStatusText = (TextView) findViewById(R.id.view_key_status_text);
|
||||||
mStatusExpired = findViewById(R.id.view_key_expired);
|
mStatusImage = (ImageView) findViewById(R.id.view_key_status_image);
|
||||||
|
mStatusDivider = findViewById(R.id.view_key_status_divider);
|
||||||
|
|
||||||
mViewPager = (ViewPager) findViewById(R.id.view_key_pager);
|
mViewPager = (ViewPager) findViewById(R.id.view_key_pager);
|
||||||
mSlidingTabLayout = (SlidingTabLayout) findViewById(R.id.view_key_sliding_tab_layout);
|
mSlidingTabLayout = (SlidingTabLayout) findViewById(R.id.view_key_sliding_tab_layout);
|
||||||
@ -515,22 +522,32 @@ public class ViewKeyActivity extends ActionBarActivity implements
|
|||||||
String keyIdStr = PgpKeyHelper.convertKeyIdToHex(masterKeyId);
|
String keyIdStr = PgpKeyHelper.convertKeyIdToHex(masterKeyId);
|
||||||
getSupportActionBar().setSubtitle(keyIdStr);
|
getSupportActionBar().setSubtitle(keyIdStr);
|
||||||
|
|
||||||
// If this key is revoked, it cannot be used for anything!
|
boolean isRevoked = data.getInt(INDEX_UNIFIED_IS_REVOKED) > 0;
|
||||||
if (data.getInt(INDEX_UNIFIED_IS_REVOKED) != 0) {
|
boolean isExpired = !data.isNull(INDEX_UNIFIED_EXPIRY)
|
||||||
mStatusDivider.setVisibility(View.VISIBLE);
|
&& new Date(data.getLong(INDEX_UNIFIED_EXPIRY) * 1000).before(new Date());
|
||||||
mStatusRevoked.setVisibility(View.VISIBLE);
|
|
||||||
mStatusExpired.setVisibility(View.GONE);
|
|
||||||
} else {
|
|
||||||
mStatusRevoked.setVisibility(View.GONE);
|
|
||||||
|
|
||||||
Date expiryDate = new Date(data.getLong(INDEX_UNIFIED_EXPIRY) * 1000);
|
// Note: order is important
|
||||||
if (!data.isNull(INDEX_UNIFIED_EXPIRY) && expiryDate.before(new Date())) {
|
if (isRevoked) {
|
||||||
mStatusDivider.setVisibility(View.VISIBLE);
|
mStatusDivider.setVisibility(View.VISIBLE);
|
||||||
mStatusExpired.setVisibility(View.VISIBLE);
|
mStatusLayout.setVisibility(View.VISIBLE);
|
||||||
} else {
|
mStatusText.setText(R.string.view_key_revoked);
|
||||||
mStatusDivider.setVisibility(View.GONE);
|
mStatusText.setTextColor(getResources().getColor(R.color.result_red));
|
||||||
mStatusExpired.setVisibility(View.GONE);
|
mStatusImage.setImageDrawable(
|
||||||
}
|
getResources().getDrawable(R.drawable.status_signature_revoked));
|
||||||
|
mStatusImage.setColorFilter(getResources().getColor(R.color.result_red),
|
||||||
|
PorterDuff.Mode.SRC_ATOP);
|
||||||
|
} else if (isExpired) {
|
||||||
|
mStatusDivider.setVisibility(View.VISIBLE);
|
||||||
|
mStatusLayout.setVisibility(View.VISIBLE);
|
||||||
|
mStatusText.setText(R.string.view_key_expired);
|
||||||
|
mStatusText.setTextColor(getResources().getColor(R.color.result_orange));
|
||||||
|
mStatusImage.setImageDrawable(
|
||||||
|
getResources().getDrawable(R.drawable.status_signature_expired_cutout));
|
||||||
|
mStatusImage.setColorFilter(getResources().getColor(R.color.result_orange),
|
||||||
|
PorterDuff.Mode.SRC_ATOP);
|
||||||
|
} else {
|
||||||
|
mStatusDivider.setVisibility(View.GONE);
|
||||||
|
mStatusLayout.setVisibility(View.GONE);
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
@ -43,7 +43,7 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:id="@+id/status_image"
|
android:id="@+id/status_image"
|
||||||
android:layout_gravity="center"
|
android:layout_gravity="center"
|
||||||
android:src="@drawable/status_signature_verified_cutout"
|
android:src="@drawable/status_signature_revoked_cutout"
|
||||||
android:padding="16dp" />
|
android:padding="16dp" />
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
@ -10,36 +10,36 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:orientation="vertical" />
|
android:orientation="vertical" />
|
||||||
|
|
||||||
<TextView
|
<LinearLayout
|
||||||
android:layout_width="match_parent"
|
android:id="@+id/view_key_status_layout"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="This key is expired!"
|
android:layout_gravity="center"
|
||||||
android:id="@+id/view_key_expired"
|
|
||||||
android:textColor="@color/alert"
|
|
||||||
android:textAppearance="?android:attr/textAppearanceSmall"
|
|
||||||
android:gravity="center_vertical|center_horizontal"
|
|
||||||
android:layout_marginTop="8dp"
|
android:layout_marginTop="8dp"
|
||||||
android:layout_marginBottom="8dp"
|
android:layout_marginBottom="8dp"
|
||||||
android:visibility="gone" />
|
android:orientation="horizontal">
|
||||||
|
|
||||||
<TextView
|
<ImageView
|
||||||
android:layout_width="match_parent"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="This key has been revoked!"
|
android:id="@+id/view_key_status_image" />
|
||||||
android:id="@+id/view_key_revoked"
|
|
||||||
android:textColor="@color/alert"
|
<TextView
|
||||||
android:textAppearance="?android:attr/textAppearanceSmall"
|
android:layout_width="wrap_content"
|
||||||
android:gravity="center_vertical|center_horizontal"
|
android:layout_height="wrap_content"
|
||||||
android:visibility="gone"
|
android:id="@+id/view_key_status_text"
|
||||||
android:layout_marginTop="8dp"
|
android:textAppearance="?android:attr/textAppearanceMedium"
|
||||||
android:layout_marginBottom="8dp" />
|
android:layout_gravity="center_vertical"
|
||||||
|
android:layout_marginLeft="8dp"/>
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
<View
|
<View
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="1dip"
|
android:layout_height="1dip"
|
||||||
android:background="?android:attr/listDivider"
|
android:background="?android:attr/listDivider"
|
||||||
android:visibility="gone"
|
android:visibility="gone"
|
||||||
android:id="@+id/status_divider" />
|
android:id="@+id/view_key_status_divider" />
|
||||||
|
|
||||||
<org.sufficientlysecure.keychain.ui.widget.SlidingTabLayout
|
<org.sufficientlysecure.keychain.ui.widget.SlidingTabLayout
|
||||||
android:id="@+id/view_key_sliding_tab_layout"
|
android:id="@+id/view_key_sliding_tab_layout"
|
||||||
|
@ -492,6 +492,10 @@
|
|||||||
<string name="create_key_upload">Upload key to keyserver</string>
|
<string name="create_key_upload">Upload key to keyserver</string>
|
||||||
<string name="create_key_empty">This field is required</string>
|
<string name="create_key_empty">This field is required</string>
|
||||||
|
|
||||||
|
<!-- View key -->
|
||||||
|
<string name="view_key_revoked">This key has been revoked!</string>
|
||||||
|
<string name="view_key_expired">This key is expired!</string>
|
||||||
|
|
||||||
<!-- Navigation Drawer -->
|
<!-- Navigation Drawer -->
|
||||||
<string name="nav_keys">Keys</string>
|
<string name="nav_keys">Keys</string>
|
||||||
<string name="nav_encrypt">Sign and Encrypt</string>
|
<string name="nav_encrypt">Sign and Encrypt</string>
|
||||||
|
Loading…
Reference in New Issue
Block a user