token-import: option to simulate keys for import in debug builds

This commit is contained in:
Vincent Breitmoser
2017-09-05 19:45:21 +02:00
parent fb2a8624a4
commit 8ae12e7590
3 changed files with 55 additions and 4 deletions

View File

@@ -23,14 +23,19 @@ import android.os.Handler;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.view.animation.Animation;
import org.bouncycastle.util.encoders.Hex;
import org.sufficientlysecure.keychain.BuildConfig;
import org.sufficientlysecure.keychain.R;
import org.sufficientlysecure.keychain.ui.CreateKeyActivity.FragAction;
import org.sufficientlysecure.keychain.ui.base.BaseSecurityTokenActivity;
import org.sufficientlysecure.keychain.ui.token.ManageSecurityTokenFragment;
import org.sufficientlysecure.keychain.ui.util.KeyFormattingUtils;
@@ -48,6 +53,27 @@ public class CreateSecurityTokenWaitFragment extends Fragment {
if (this.getActivity() instanceof BaseSecurityTokenActivity) {
((BaseSecurityTokenActivity) this.getActivity()).checkDeviceConnection();
}
setHasOptionsMenu(BuildConfig.DEBUG);
}
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.token_debug, menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.menu_token_debug_uri:
mCreateKeyActivity.loadFragment(
ManageSecurityTokenFragment.newInstanceDebugUri(), FragAction.TO_RIGHT);
break;
case R.id.menu_token_debug_keyserver:
mCreateKeyActivity.loadFragment(
ManageSecurityTokenFragment.newInstanceDebugKeyserver(), FragAction.TO_RIGHT);
}
return super.onOptionsItemSelected(item);
}
@Override

View File

@@ -37,6 +37,7 @@ import android.view.ViewGroup;
import android.widget.TextView;
import org.bouncycastle.util.encoders.Hex;
import org.sufficientlysecure.keychain.BuildConfig;
import org.sufficientlysecure.keychain.R;
import org.sufficientlysecure.keychain.keyimport.ParcelableKeyRing;
import org.sufficientlysecure.keychain.operations.results.ImportKeyResult;
@@ -82,10 +83,23 @@ public class ManageSecurityTokenFragment extends Fragment implements ManageSecur
private LayoutInflater layoutInflater;
private StatusIndicator latestStatusIndicator;
public static Fragment newInstanceForDebug() {
// byte[] scannedFps = KeyFormattingUtils.convertFingerprintHexFingerprint("4700BA1AC417ABEF3CC7765AD686905837779C3E");
byte[] scannedFps = KeyFormattingUtils.convertFingerprintHexFingerprint("1efdb4845ca242ca6977fddb1f788094fd3b430a");
return newInstance(scannedFps, Hex.decode("010203040506"), "yubinu2@mugenguild.com", "http://valodim.stratum0.net/mryubinu3.asc");
public static Fragment newInstanceDebugKeyserver() {
if (!BuildConfig.DEBUG) {
throw new UnsupportedOperationException("This operation is only available in debug builds!");
}
byte[] scannedFps =
KeyFormattingUtils.convertFingerprintHexFingerprint("1efdb4845ca242ca6977fddb1f788094fd3b430a");
return newInstance(scannedFps, Hex.decode("010203040506"), "yubinu2@mugenguild.com", null);
}
public static Fragment newInstanceDebugUri() {
if (!BuildConfig.DEBUG) {
throw new UnsupportedOperationException("This operation is only available in debug builds!");
}
byte[] scannedFps =
KeyFormattingUtils.convertFingerprintHexFingerprint("4700BA1AC417ABEF3CC7765AD686905837779C3E");
return newInstance(scannedFps, Hex.decode("010203040506"), "yubinu2@mugenguild.com",
"http://valodim.stratum0.net/mryubinu2.asc");
}
public static Fragment newInstance(byte[] scannedFingerprints, byte[] nfcAid, String userId, String tokenUrl) {