add linked it to view key context menu
This commit is contained in:
@@ -72,6 +72,7 @@ import org.sufficientlysecure.keychain.provider.KeychainContract;
|
|||||||
import org.sufficientlysecure.keychain.provider.ProviderHelper;
|
import org.sufficientlysecure.keychain.provider.ProviderHelper;
|
||||||
import org.sufficientlysecure.keychain.service.KeychainIntentService;
|
import org.sufficientlysecure.keychain.service.KeychainIntentService;
|
||||||
import org.sufficientlysecure.keychain.service.KeychainIntentServiceHandler;
|
import org.sufficientlysecure.keychain.service.KeychainIntentServiceHandler;
|
||||||
|
import org.sufficientlysecure.keychain.ui.linked.LinkedIdWizard;
|
||||||
import org.sufficientlysecure.keychain.ui.util.FormattingUtils;
|
import org.sufficientlysecure.keychain.ui.util.FormattingUtils;
|
||||||
import org.sufficientlysecure.keychain.ui.util.KeyFormattingUtils;
|
import org.sufficientlysecure.keychain.ui.util.KeyFormattingUtils;
|
||||||
import org.sufficientlysecure.keychain.ui.util.Notify;
|
import org.sufficientlysecure.keychain.ui.util.Notify;
|
||||||
@@ -334,6 +335,12 @@ public class ViewKeyActivity extends BaseActivity implements
|
|||||||
certifyFingeprint(mDataUri);
|
certifyFingeprint(mDataUri);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
case R.id.menu_key_view_add_linked_identity: {
|
||||||
|
Intent intent = new Intent(this, LinkedIdWizard.class);
|
||||||
|
intent.setData(mDataUri);
|
||||||
|
startActivity(intent);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} catch (ProviderHelper.NotFoundException e) {
|
} catch (ProviderHelper.NotFoundException e) {
|
||||||
Notify.showNotify(this, R.string.error_key_not_found, Notify.Style.ERROR);
|
Notify.showNotify(this, R.string.error_key_not_found, Notify.Style.ERROR);
|
||||||
@@ -346,6 +353,10 @@ public class ViewKeyActivity extends BaseActivity implements
|
|||||||
public boolean onPrepareOptionsMenu(Menu menu) {
|
public boolean onPrepareOptionsMenu(Menu menu) {
|
||||||
MenuItem editKey = menu.findItem(R.id.menu_key_view_edit);
|
MenuItem editKey = menu.findItem(R.id.menu_key_view_edit);
|
||||||
editKey.setVisible(mIsSecret);
|
editKey.setVisible(mIsSecret);
|
||||||
|
|
||||||
|
MenuItem addLinked = menu.findItem(R.id.menu_key_view_add_linked_identity);
|
||||||
|
addLinked.setVisible(mIsSecret);
|
||||||
|
|
||||||
MenuItem certifyFingerprint = menu.findItem(R.id.menu_key_view_certify_fingerprint);
|
MenuItem certifyFingerprint = menu.findItem(R.id.menu_key_view_certify_fingerprint);
|
||||||
certifyFingerprint.setVisible(!mIsSecret && !mIsVerified);
|
certifyFingerprint.setVisible(!mIsSecret && !mIsVerified);
|
||||||
|
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ import org.sufficientlysecure.keychain.Constants;
|
|||||||
import org.sufficientlysecure.keychain.R;
|
import org.sufficientlysecure.keychain.R;
|
||||||
import org.sufficientlysecure.keychain.pgp.exception.PgpKeyNotFoundException;
|
import org.sufficientlysecure.keychain.pgp.exception.PgpKeyNotFoundException;
|
||||||
import org.sufficientlysecure.keychain.provider.CachedPublicKeyRing;
|
import org.sufficientlysecure.keychain.provider.CachedPublicKeyRing;
|
||||||
|
import org.sufficientlysecure.keychain.provider.KeychainContract;
|
||||||
import org.sufficientlysecure.keychain.provider.ProviderHelper;
|
import org.sufficientlysecure.keychain.provider.ProviderHelper;
|
||||||
import org.sufficientlysecure.keychain.util.Log;
|
import org.sufficientlysecure.keychain.util.Log;
|
||||||
|
|
||||||
@@ -47,7 +48,14 @@ public class LinkedIdWizard extends ActionBarActivity {
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
Uri uri = getIntent().getData();
|
Uri uri = getIntent().getData();
|
||||||
|
uri = KeychainContract.KeyRings.buildUnifiedKeyRingUri(uri);
|
||||||
CachedPublicKeyRing ring = new ProviderHelper(this).getCachedPublicKeyRing(uri);
|
CachedPublicKeyRing ring = new ProviderHelper(this).getCachedPublicKeyRing(uri);
|
||||||
|
if (!ring.hasAnySecret()) {
|
||||||
|
Log.e(Constants.TAG, "Linked Identities can only be added to secret keys!");
|
||||||
|
finish();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
mMasterKeyId = ring.extractOrGetMasterKeyId();
|
mMasterKeyId = ring.extractOrGetMasterKeyId();
|
||||||
mFingerprint = ring.getFingerprint();
|
mFingerprint = ring.getFingerprint();
|
||||||
} catch (PgpKeyNotFoundException e) {
|
} catch (PgpKeyNotFoundException e) {
|
||||||
|
|||||||
@@ -37,4 +37,9 @@
|
|||||||
android:visible="false"
|
android:visible="false"
|
||||||
android:title="@string/menu_certify_fingerprint" />
|
android:title="@string/menu_certify_fingerprint" />
|
||||||
|
|
||||||
|
<item
|
||||||
|
android:id="@+id/menu_key_view_add_linked_identity"
|
||||||
|
app:showAsAction="never"
|
||||||
|
android:title="@string/menu_linked_add_identity" />
|
||||||
|
|
||||||
</menu>
|
</menu>
|
||||||
@@ -1292,8 +1292,9 @@
|
|||||||
<string name="linked_id_generic_text">"This file claims ownership of the OpenPGP key with long id %2$s.\n\nCookie for proof:\n%1$s"</string>
|
<string name="linked_id_generic_text">"This file claims ownership of the OpenPGP key with long id %2$s.\n\nCookie for proof:\n%1$s"</string>
|
||||||
<string name="linked_verifying">Verifying…</string>
|
<string name="linked_verifying">Verifying…</string>
|
||||||
<string name="linked_verify_success">Verification successful!</string>
|
<string name="linked_verify_success">Verification successful!</string>
|
||||||
<string name="linked_verify_error">Veriication error!</string>
|
<string name="linked_verify_error">Verification error!</string>
|
||||||
<string name="linked_verify_pending">Not yet verified</string>
|
<string name="linked_verify_pending">Not yet verified</string>
|
||||||
<string name="linked_need_verify">The resource needs to be verified before you can proceed!</string>
|
<string name="linked_need_verify">The resource needs to be verified before you can proceed!</string>
|
||||||
|
<string name="menu_linked_add_identity">"Add Linked Identity"</string>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
Reference in New Issue
Block a user