diff options
3 files changed, 8 insertions, 231 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyKeysFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyKeysFragment.java index bb0e4b23a..9ab6878d0 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyKeysFragment.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyKeysFragment.java @@ -50,18 +50,8 @@ public class ViewKeyKeysFragment extends Fragment implements public static final String ARG_DATA_URI = "uri"; private LinearLayout mContainer; - private TextView mAlgorithm; - private TextView mKeyId; - private TextView mExpiry; - private TextView mCreation; - private TextView mFingerprint; - private TextView mSecretKey; - private ListView mKeys; - private static final int LOADER_ID_UNIFIED = 0; - private static final int LOADER_ID_KEYS = 1; - private ViewKeyKeysAdapter mKeysAdapter; private Uri mDataUri; @@ -71,12 +61,6 @@ public class ViewKeyKeysFragment extends Fragment implements View view = inflater.inflate(R.layout.view_key_keys_fragment, container, false); mContainer = (LinearLayout) view.findViewById(R.id.container); - mKeyId = (TextView) view.findViewById(R.id.key_id); - mAlgorithm = (TextView) view.findViewById(R.id.algorithm); - mCreation = (TextView) view.findViewById(R.id.creation); - mExpiry = (TextView) view.findViewById(R.id.expiry); - mFingerprint = (TextView) view.findViewById(R.id.view_key_fingerprint); - mSecretKey = (TextView) view.findViewById(R.id.secret_key); mKeys = (ListView) view.findViewById(R.id.keys); return view; @@ -109,116 +93,30 @@ public class ViewKeyKeysFragment extends Fragment implements // Prepare the loaders. Either re-connect with an existing ones, // or start new ones. - getLoaderManager().initLoader(LOADER_ID_UNIFIED, null, this); - getLoaderManager().initLoader(LOADER_ID_KEYS, null, this); + getLoaderManager().initLoader(0, null, this); } - static final String[] UNIFIED_PROJECTION = new String[] { - KeyRings._ID, KeyRings.MASTER_KEY_ID, KeyRings.HAS_ANY_SECRET, - KeyRings.USER_ID, KeyRings.FINGERPRINT, - KeyRings.ALGORITHM, KeyRings.KEY_SIZE, KeyRings.CREATION, KeyRings.EXPIRY, - - }; - static final int INDEX_UNIFIED_MKI = 1; - static final int INDEX_UNIFIED_HAS_ANY_SECRET = 2; - static final int INDEX_UNIFIED_UID = 3; - static final int INDEX_UNIFIED_FINGERPRINT = 4; - static final int INDEX_UNIFIED_ALGORITHM = 5; - static final int INDEX_UNIFIED_KEY_SIZE = 6; - static final int INDEX_UNIFIED_CREATION = 7; - static final int INDEX_UNIFIED_EXPIRY = 8; - static final String[] KEYS_PROJECTION = new String[] { Keys._ID, Keys.KEY_ID, Keys.RANK, Keys.ALGORITHM, Keys.KEY_SIZE, Keys.HAS_SECRET, Keys.CAN_CERTIFY, Keys.CAN_ENCRYPT, Keys.CAN_SIGN, Keys.IS_REVOKED, Keys.CREATION, Keys.EXPIRY, Keys.FINGERPRINT }; - static final int KEYS_INDEX_CAN_ENCRYPT = 7; public Loader<Cursor> onCreateLoader(int id, Bundle args) { - switch (id) { - case LOADER_ID_UNIFIED: { - Uri baseUri = KeyRings.buildUnifiedKeyRingUri(mDataUri); - return new CursorLoader(getActivity(), baseUri, UNIFIED_PROJECTION, null, null, null); - } - case LOADER_ID_KEYS: { - Uri baseUri = Keys.buildKeysUri(mDataUri); - return new CursorLoader(getActivity(), baseUri, KEYS_PROJECTION, null, null, null); - } - - default: - return null; - } + Uri baseUri = Keys.buildKeysUri(mDataUri); + return new CursorLoader(getActivity(), baseUri, KEYS_PROJECTION, null, null, null); } public void onLoadFinished(Loader<Cursor> loader, Cursor data) { - /* TODO better error handling? May cause problems when a key is deleted, - * because the notification triggers faster than the activity closes. - */ - // Avoid NullPointerExceptions... + // Avoid NullPointerExceptions, if we get an empty result set. if(data.getCount() == 0) { return; } // Swap the new cursor in. (The framework will take care of closing the // old cursor once we return.) - switch (loader.getId()) { - case LOADER_ID_UNIFIED: { - if (data.moveToFirst()) { - if (data.getInt(INDEX_UNIFIED_HAS_ANY_SECRET) != 0) { - mSecretKey.setTextColor(getResources().getColor(R.color.emphasis)); - mSecretKey.setText(R.string.secret_key_yes); - } else { - mSecretKey.setTextColor(Color.BLACK); - mSecretKey.setText(getResources().getString(R.string.secret_key_no)); - } - - // get key id from MASTER_KEY_ID - long masterKeyId = data.getLong(INDEX_UNIFIED_MKI); - String keyIdStr = PgpKeyHelper.convertKeyIdToHex(masterKeyId); - mKeyId.setText(keyIdStr); - - // get creation date from CREATION - if (data.isNull(INDEX_UNIFIED_CREATION)) { - mCreation.setText(R.string.none); - } else { - Date creationDate = new Date(data.getLong(INDEX_UNIFIED_CREATION) * 1000); - - mCreation.setText( - DateFormat.getDateFormat(getActivity().getApplicationContext()).format( - creationDate)); - } - - // get expiry date from EXPIRY - if (data.isNull(INDEX_UNIFIED_EXPIRY)) { - mExpiry.setText(R.string.none); - } else { - Date expiryDate = new Date(data.getLong(INDEX_UNIFIED_EXPIRY) * 1000); - - mExpiry.setText( - DateFormat.getDateFormat(getActivity().getApplicationContext()).format( - expiryDate)); - } - - String algorithmStr = PgpKeyHelper.getAlgorithmInfo( - getActivity(), - data.getInt(INDEX_UNIFIED_ALGORITHM), - data.getInt(INDEX_UNIFIED_KEY_SIZE) - ); - mAlgorithm.setText(algorithmStr); - - byte[] fingerprintBlob = data.getBlob(INDEX_UNIFIED_FINGERPRINT); - String fingerprint = PgpKeyHelper.convertFingerprintToHex(fingerprintBlob); - mFingerprint.setText(PgpKeyHelper.colorizeFingerprint(fingerprint)); - - break; - } - } - - case LOADER_ID_KEYS: - mKeysAdapter.swapCursor(data); - break; - } + mKeysAdapter.swapCursor(data); + getActivity().setProgressBarIndeterminateVisibility(false); mContainer.setVisibility(View.VISIBLE); } @@ -228,11 +126,7 @@ public class ViewKeyKeysFragment extends Fragment implements * We need to make sure we are no longer using it. */ public void onLoaderReset(Loader<Cursor> loader) { - switch (loader.getId()) { - case LOADER_ID_KEYS: - mKeysAdapter.swapCursor(null); - break; - } + mKeysAdapter.swapCursor(null); } } diff --git a/OpenKeychain/src/main/res/layout/view_key_keys_fragment.xml b/OpenKeychain/src/main/res/layout/view_key_keys_fragment.xml index 88da26a95..84386074f 100644 --- a/OpenKeychain/src/main/res/layout/view_key_keys_fragment.xml +++ b/OpenKeychain/src/main/res/layout/view_key_keys_fragment.xml @@ -1,5 +1,4 @@ <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:bootstrapbutton="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent"> @@ -21,122 +20,6 @@ android:layout_height="wrap_content" android:layout_marginBottom="4dp" android:layout_marginTop="14dp" - android:text="@string/section_master_key" /> - - <TableLayout - android:layout_width="wrap_content" - android:paddingLeft="8dp" - android:layout_height="0dp" - android:layout_weight="1" - android:shrinkColumns="1"> - - <TableRow> - - <TextView - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_gravity="center_vertical" - android:paddingRight="10dip" - android:text="@string/label_key_id" /> - - <TextView - android:id="@+id/key_id" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:paddingRight="5dip" - android:text="" - android:typeface="monospace" /> - </TableRow> - - <TableRow> - - <TextView - android:id="@+id/label_algorithm" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_gravity="center_vertical" - android:paddingRight="10dip" - android:text="@string/label_algorithm" /> - - <TextView - android:id="@+id/algorithm" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:paddingRight="5dip" - android:text="" /> - </TableRow> - - <TableRow - android:layout_width="fill_parent" - android:layout_height="fill_parent" - android:id="@+id/tableRow"> - - <TextView - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_gravity="center_vertical" - android:paddingRight="10dip" - android:text="@string/label_fingerprint" /> - - <TextView - android:id="@+id/view_key_fingerprint" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:typeface="monospace" /> - </TableRow> - - <TableRow> - - <TextView - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_gravity="center_vertical" - android:paddingRight="10dip" - android:text="@string/label_creation" /> - - <TextView - android:id="@+id/creation" - android:layout_width="match_parent" - android:layout_height="wrap_content" /> - </TableRow> - - <TableRow> - - <TextView - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_gravity="center_vertical" - android:paddingRight="10dip" - android:text="@string/label_expiry" /> - - <TextView - android:id="@+id/expiry" - android:layout_width="match_parent" - android:layout_height="wrap_content" /> - </TableRow> - - <TableRow> - - <TextView - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_gravity="center_vertical" - android:paddingRight="10dip" - android:text="@string/label_secret_key" /> - - <TextView - android:id="@+id/secret_key" - android:layout_width="match_parent" - android:layout_height="wrap_content" /> - </TableRow> - </TableLayout> - - <TextView - style="@style/SectionHeader" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_marginBottom="4dp" - android:layout_marginTop="14dp" android:text="@string/section_keys" /> <org.sufficientlysecure.keychain.ui.widget.FixedListView diff --git a/OpenKeychain/src/main/res/values/strings.xml b/OpenKeychain/src/main/res/values/strings.xml index 76bf4bd82..ecc8b5a51 100644 --- a/OpenKeychain/src/main/res/values/strings.xml +++ b/OpenKeychain/src/main/res/values/strings.xml @@ -31,7 +31,7 @@ <!-- section --> <string name="section_user_ids">Identities</string> - <string name="section_keys">Keys</string> + <string name="section_keys">Subkeys</string> <string name="section_general">General</string> <string name="section_defaults">Defaults</string> <string name="section_advanced">Advanced</string> |