allow progress message to be set later
This commit is contained in:
@@ -183,45 +183,6 @@ public class CreateKeyYubiKeyImportFragment
|
||||
|
||||
public void importKey() {
|
||||
|
||||
// Message is received after decrypting is done in KeychainService
|
||||
ServiceProgressHandler saveHandler = new ServiceProgressHandler(getActivity()) {
|
||||
@Override
|
||||
public void handleMessage(Message message) {
|
||||
// handle messages by standard KeychainIntentServiceHandler first
|
||||
super.handleMessage(message);
|
||||
|
||||
if (message.arg1 == MessageStatus.OKAY.ordinal()) {
|
||||
// get returned data bundle
|
||||
Bundle returnData = message.getData();
|
||||
|
||||
ImportKeyResult result =
|
||||
returnData.getParcelable(DecryptVerifyResult.EXTRA_RESULT);
|
||||
|
||||
long[] masterKeyIds = result.getImportedMasterKeyIds();
|
||||
|
||||
// TODO handle masterKeyIds.length != 1...? sorta outlandish scenario
|
||||
|
||||
if (!result.success() || masterKeyIds.length == 0) {
|
||||
result.createNotify(getActivity()).show();
|
||||
return;
|
||||
}
|
||||
|
||||
Intent intent = new Intent(getActivity(), ViewKeyActivity.class);
|
||||
// use the imported masterKeyId, not the one from the yubikey, because
|
||||
// that one might* just have been a subkey of the imported key
|
||||
intent.setData(KeyRings.buildGenericKeyRingUri(masterKeyIds[0]));
|
||||
intent.putExtra(ViewKeyActivity.EXTRA_DISPLAY_RESULT, result);
|
||||
intent.putExtra(ViewKeyActivity.EXTRA_NFC_AID, mNfcAid);
|
||||
intent.putExtra(ViewKeyActivity.EXTRA_NFC_USER_ID, mNfcUserId);
|
||||
intent.putExtra(ViewKeyActivity.EXTRA_NFC_FINGERPRINTS, mNfcFingerprints);
|
||||
startActivity(intent);
|
||||
getActivity().finish();
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
};
|
||||
|
||||
ArrayList<ParcelableKeyRing> keyList = new ArrayList<>();
|
||||
keyList.add(new ParcelableKeyRing(mNfcFingerprint, null, null));
|
||||
mKeyList = keyList;
|
||||
@@ -233,9 +194,9 @@ public class CreateKeyYubiKeyImportFragment
|
||||
mKeyserver = cloudPrefs.keyserver;
|
||||
}
|
||||
|
||||
// TODO: PHILIP make the progress dialog show importing
|
||||
super.setProgressMessageResource(R.string.progress_importing);
|
||||
|
||||
cryptoOperation();
|
||||
super.cryptoOperation();
|
||||
|
||||
}
|
||||
|
||||
@@ -267,7 +228,7 @@ public class CreateKeyYubiKeyImportFragment
|
||||
super.onCryptoOperationError(result);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
Intent intent = new Intent(getActivity(), ViewKeyActivity.class);
|
||||
// use the imported masterKeyId, not the one from the yubikey, because
|
||||
// that one might* just have been a subkey of the imported key
|
||||
|
||||
@@ -63,6 +63,11 @@ public abstract class CryptoOperationFragment<T extends Parcelable, S extends Op
|
||||
mOperationHelper = new CryptoOperationHelper<>(this, callback);
|
||||
}
|
||||
|
||||
public void setProgressMessageResource(int id) {
|
||||
mOperationHelper.setProgressMessageResource(id);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void onActivityResult(int requestCode, int resultCode, Intent data) {
|
||||
mOperationHelper.handleActivityResult(requestCode, resultCode, data);
|
||||
|
||||
@@ -67,7 +67,7 @@ public class CryptoOperationHelper<T extends Parcelable, S extends OperationResu
|
||||
// otherwise all CryptoOperationHandlers may respond to the same onActivityResult
|
||||
private int mRequestedCode = -1;
|
||||
|
||||
private int mProgressMessageString;
|
||||
private int mProgressMessageResource;
|
||||
|
||||
private FragmentActivity mActivity;
|
||||
private Fragment mFragment;
|
||||
@@ -84,7 +84,7 @@ public class CryptoOperationHelper<T extends Parcelable, S extends OperationResu
|
||||
mActivity = activity;
|
||||
mUseFragment = false;
|
||||
mCallback = callback;
|
||||
mProgressMessageString = progressMessageString;
|
||||
mProgressMessageResource = progressMessageString;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -95,7 +95,7 @@ public class CryptoOperationHelper<T extends Parcelable, S extends OperationResu
|
||||
public CryptoOperationHelper(Fragment fragment, Callback<T, S> callback, int progressMessageString) {
|
||||
mFragment = fragment;
|
||||
mUseFragment = true;
|
||||
mProgressMessageString = progressMessageString;
|
||||
mProgressMessageResource = progressMessageString;
|
||||
mCallback = callback;
|
||||
}
|
||||
|
||||
@@ -107,10 +107,14 @@ public class CryptoOperationHelper<T extends Parcelable, S extends OperationResu
|
||||
public CryptoOperationHelper(Fragment fragment, Callback<T, S> callback) {
|
||||
mFragment = fragment;
|
||||
mUseFragment = true;
|
||||
mProgressMessageString = R.string.progress_building_key;
|
||||
mProgressMessageResource = R.string.progress_building_key;
|
||||
mCallback = callback;
|
||||
}
|
||||
|
||||
public void setProgressMessageResource(int id) {
|
||||
mProgressMessageResource = id;
|
||||
}
|
||||
|
||||
private void initiateInputActivity(RequiredInputParcel requiredInput) {
|
||||
|
||||
Activity activity = mUseFragment ? mFragment.getActivity() : mActivity;
|
||||
@@ -254,7 +258,7 @@ public class CryptoOperationHelper<T extends Parcelable, S extends OperationResu
|
||||
};
|
||||
|
||||
saveHandler.showProgressDialog(
|
||||
activity.getString(mProgressMessageString),
|
||||
activity.getString(mProgressMessageResource),
|
||||
ProgressDialog.STYLE_HORIZONTAL, false);
|
||||
|
||||
// Create a new Messenger for the communication back
|
||||
|
||||
Reference in New Issue
Block a user