diff options
Diffstat (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui')
24 files changed, 299 insertions, 305 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/CertifyKeyFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/CertifyKeyFragment.java index 17836aa37..6afe2256b 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/CertifyKeyFragment.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/CertifyKeyFragment.java @@ -52,12 +52,11 @@ import org.sufficientlysecure.keychain.provider.KeychainDatabase.Tables; import org.sufficientlysecure.keychain.provider.ProviderHelper; import org.sufficientlysecure.keychain.service.CertifyActionsParcel; import org.sufficientlysecure.keychain.service.CertifyActionsParcel.CertifyAction; -import org.sufficientlysecure.keychain.service.KeychainIntentService; +import org.sufficientlysecure.keychain.service.KeychainService; import org.sufficientlysecure.keychain.service.ServiceProgressHandler; import org.sufficientlysecure.keychain.service.input.CryptoInputParcel; import org.sufficientlysecure.keychain.ui.adapter.MultiUserIdsAdapter; import org.sufficientlysecure.keychain.ui.base.CachingCryptoOperationFragment; -import org.sufficientlysecure.keychain.ui.dialog.ProgressDialogFragment; import org.sufficientlysecure.keychain.ui.util.Notify; import org.sufficientlysecure.keychain.ui.widget.CertifyKeySpinner; import org.sufficientlysecure.keychain.util.Log; @@ -104,7 +103,7 @@ public class CertifyKeyFragment extends CachingCryptoOperationFragment<CertifyAc } mPassthroughMessenger = getActivity().getIntent().getParcelableExtra( - KeychainIntentService.EXTRA_MESSENGER); + KeychainService.EXTRA_MESSENGER); mPassthroughMessenger = null; // TODO doesn't work with CryptoOperationFragment, disabled for now ArrayList<Boolean> checkedStates; @@ -330,31 +329,32 @@ public class CertifyKeyFragment extends CachingCryptoOperationFragment<CertifyAc cacheActionsParcel(actionsParcel); } - data.putParcelable(KeychainIntentService.EXTRA_CRYPTO_INPUT, cryptoInput); - data.putParcelable(KeychainIntentService.CERTIFY_PARCEL, actionsParcel); + data.putParcelable(KeychainService.EXTRA_CRYPTO_INPUT, cryptoInput); + data.putParcelable(KeychainService.CERTIFY_PARCEL, actionsParcel); if (mUploadKeyCheckbox.isChecked()) { String keyserver = Preferences.getPreferences(getActivity()).getPreferredKeyserver(); - data.putString(KeychainIntentService.UPLOAD_KEY_SERVER, keyserver); + data.putString(KeychainService.UPLOAD_KEY_SERVER, keyserver); } } // Send all information needed to service to sign key in other thread - Intent intent = new Intent(getActivity(), KeychainIntentService.class); - intent.setAction(KeychainIntentService.ACTION_CERTIFY_KEYRING); - intent.putExtra(KeychainIntentService.EXTRA_DATA, data); + Intent intent = new Intent(getActivity(), KeychainService.class); + intent.setAction(KeychainService.ACTION_CERTIFY_KEYRING); + intent.putExtra(KeychainService.EXTRA_DATA, data); if (mPassthroughMessenger != null) { - intent.putExtra(KeychainIntentService.EXTRA_MESSENGER, mPassthroughMessenger); + intent.putExtra(KeychainService.EXTRA_MESSENGER, mPassthroughMessenger); } else { - // Message is received after signing is done in KeychainIntentService + // Message is received after signing is done in KeychainService ServiceProgressHandler saveHandler = new ServiceProgressHandler( getActivity(), getString(R.string.progress_certifying), ProgressDialog.STYLE_SPINNER, - true, - ProgressDialogFragment.ServiceType.KEYCHAIN_INTENT) { + true + ) { + @Override public void handleMessage(Message message) { // handle messages by KeychainIntentCryptoServiceHandler first super.handleMessage(message); @@ -379,7 +379,7 @@ public class CertifyKeyFragment extends CachingCryptoOperationFragment<CertifyAc // Create a new Messenger for the communication back Messenger messenger = new Messenger(saveHandler); - intent.putExtra(KeychainIntentService.EXTRA_MESSENGER, messenger); + intent.putExtra(KeychainService.EXTRA_MESSENGER, messenger); // show progress dialog saveHandler.showProgressDialog(getActivity()); diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ConsolidateDialogActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ConsolidateDialogActivity.java index 11ba3e287..054e43f21 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ConsolidateDialogActivity.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ConsolidateDialogActivity.java @@ -25,9 +25,8 @@ import android.os.Messenger; import android.support.v4.app.FragmentActivity; import org.sufficientlysecure.keychain.R; -import org.sufficientlysecure.keychain.service.KeychainIntentService; +import org.sufficientlysecure.keychain.service.KeychainService; import org.sufficientlysecure.keychain.service.ServiceProgressHandler; -import org.sufficientlysecure.keychain.ui.dialog.ProgressDialogFragment; /** * We can not directly create a dialog on the application context. @@ -49,12 +48,13 @@ public class ConsolidateDialogActivity extends FragmentActivity { } private void consolidateRecovery(boolean recovery) { - // Message is received after importing is done in KeychainIntentService + // Message is received after importing is done in KeychainService ServiceProgressHandler saveHandler = new ServiceProgressHandler( this, getString(R.string.progress_importing), - ProgressDialog.STYLE_HORIZONTAL, - ProgressDialogFragment.ServiceType.KEYCHAIN_INTENT) { + ProgressDialog.STYLE_HORIZONTAL + ) { + @Override public void handleMessage(Message message) { // handle messages by standard KeychainIntentServiceHandler first super.handleMessage(message); @@ -68,7 +68,7 @@ public class ConsolidateDialogActivity extends FragmentActivity { return; } final ConsolidateResult result = - returnData.getParcelable(KeychainIntentService.RESULT_CONSOLIDATE); + returnData.getParcelable(KeychainService.RESULT_CONSOLIDATE); if (result == null) { return; } @@ -81,17 +81,17 @@ public class ConsolidateDialogActivity extends FragmentActivity { }; // Send all information needed to service to import key in other thread - Intent intent = new Intent(this, KeychainIntentService.class); - intent.setAction(KeychainIntentService.ACTION_CONSOLIDATE); + Intent intent = new Intent(this, KeychainService.class); + intent.setAction(KeychainService.ACTION_CONSOLIDATE); // fill values for this action Bundle data = new Bundle(); - data.putBoolean(KeychainIntentService.CONSOLIDATE_RECOVERY, recovery); - intent.putExtra(KeychainIntentService.EXTRA_DATA, data); + data.putBoolean(KeychainService.CONSOLIDATE_RECOVERY, recovery); + intent.putExtra(KeychainService.EXTRA_DATA, data); // Create a new Messenger for the communication back Messenger messenger = new Messenger(saveHandler); - intent.putExtra(KeychainIntentService.EXTRA_MESSENGER, messenger); + intent.putExtra(KeychainService.EXTRA_MESSENGER, messenger); // show progress dialog saveHandler.showProgressDialog(this); diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/CreateKeyFinalFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/CreateKeyFinalFragment.java index b4131b23d..b39064e20 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/CreateKeyFinalFragment.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/CreateKeyFinalFragment.java @@ -38,13 +38,12 @@ import org.sufficientlysecure.keychain.operations.results.EditKeyResult; import org.sufficientlysecure.keychain.operations.results.OperationResult; import org.sufficientlysecure.keychain.pgp.KeyRing; import org.sufficientlysecure.keychain.provider.KeychainContract; -import org.sufficientlysecure.keychain.service.KeychainIntentService; +import org.sufficientlysecure.keychain.service.KeychainService; import org.sufficientlysecure.keychain.service.ServiceProgressHandler; import org.sufficientlysecure.keychain.service.SaveKeyringParcel; import org.sufficientlysecure.keychain.service.SaveKeyringParcel.Algorithm; import org.sufficientlysecure.keychain.service.SaveKeyringParcel.ChangeUnlockParcel; import org.sufficientlysecure.keychain.ui.CreateKeyActivity.FragAction; -import org.sufficientlysecure.keychain.ui.dialog.ProgressDialogFragment; import org.sufficientlysecure.keychain.util.Log; import org.sufficientlysecure.keychain.util.Preferences; @@ -195,14 +194,15 @@ public class CreateKeyFinalFragment extends Fragment { private void createKey() { - Intent intent = new Intent(getActivity(), KeychainIntentService.class); - intent.setAction(KeychainIntentService.ACTION_EDIT_KEYRING); + Intent intent = new Intent(getActivity(), KeychainService.class); + intent.setAction(KeychainService.ACTION_EDIT_KEYRING); ServiceProgressHandler saveHandler = new ServiceProgressHandler( getActivity(), getString(R.string.progress_building_key), - ProgressDialog.STYLE_HORIZONTAL, - ProgressDialogFragment.ServiceType.KEYCHAIN_INTENT) { + ProgressDialog.STYLE_HORIZONTAL + ) { + @Override public void handleMessage(Message message) { // handle messages by standard KeychainIntentServiceHandler first super.handleMessage(message); @@ -237,13 +237,13 @@ public class CreateKeyFinalFragment extends Fragment { Bundle data = new Bundle(); // get selected key entries - data.putParcelable(KeychainIntentService.EDIT_KEYRING_PARCEL, mSaveKeyringParcel); + data.putParcelable(KeychainService.EDIT_KEYRING_PARCEL, mSaveKeyringParcel); - intent.putExtra(KeychainIntentService.EXTRA_DATA, data); + intent.putExtra(KeychainService.EXTRA_DATA, data); // Create a new Messenger for the communication back Messenger messenger = new Messenger(saveHandler); - intent.putExtra(KeychainIntentService.EXTRA_MESSENGER, messenger); + intent.putExtra(KeychainService.EXTRA_MESSENGER, messenger); saveHandler.showProgressDialog(getActivity()); @@ -253,9 +253,9 @@ public class CreateKeyFinalFragment extends Fragment { // TODO move into EditKeyOperation private void uploadKey(final EditKeyResult saveKeyResult) { // Send all information needed to service to upload key in other thread - final Intent intent = new Intent(getActivity(), KeychainIntentService.class); + final Intent intent = new Intent(getActivity(), KeychainService.class); - intent.setAction(KeychainIntentService.ACTION_UPLOAD_KEYRING); + intent.setAction(KeychainService.ACTION_UPLOAD_KEYRING); // set data uri as path to keyring Uri blobUri = KeychainContract.KeyRings.buildUnifiedKeyRingUri( @@ -267,15 +267,16 @@ public class CreateKeyFinalFragment extends Fragment { // upload to favorite keyserver String keyserver = Preferences.getPreferences(getActivity()).getPreferredKeyserver(); - data.putString(KeychainIntentService.UPLOAD_KEY_SERVER, keyserver); + data.putString(KeychainService.UPLOAD_KEY_SERVER, keyserver); - intent.putExtra(KeychainIntentService.EXTRA_DATA, data); + intent.putExtra(KeychainService.EXTRA_DATA, data); ServiceProgressHandler saveHandler = new ServiceProgressHandler( getActivity(), getString(R.string.progress_uploading), - ProgressDialog.STYLE_HORIZONTAL, - ProgressDialogFragment.ServiceType.KEYCHAIN_INTENT) { + ProgressDialog.STYLE_HORIZONTAL + ) { + @Override public void handleMessage(Message message) { // handle messages by standard KeychainIntentServiceHandler first super.handleMessage(message); @@ -297,7 +298,7 @@ public class CreateKeyFinalFragment extends Fragment { // Create a new Messenger for the communication back Messenger messenger = new Messenger(saveHandler); - intent.putExtra(KeychainIntentService.EXTRA_MESSENGER, messenger); + intent.putExtra(KeychainService.EXTRA_MESSENGER, messenger); // show progress dialog saveHandler.showProgressDialog(getActivity()); diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/CreateKeyYubiKeyImportFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/CreateKeyYubiKeyImportFragment.java index 61db8552b..ba8e8321a 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/CreateKeyYubiKeyImportFragment.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/CreateKeyYubiKeyImportFragment.java @@ -40,11 +40,10 @@ import org.sufficientlysecure.keychain.keyimport.ParcelableKeyRing; import org.sufficientlysecure.keychain.operations.results.DecryptVerifyResult; import org.sufficientlysecure.keychain.operations.results.ImportKeyResult; import org.sufficientlysecure.keychain.provider.KeychainContract.KeyRings; -import org.sufficientlysecure.keychain.service.KeychainIntentService; +import org.sufficientlysecure.keychain.service.KeychainService; import org.sufficientlysecure.keychain.service.ServiceProgressHandler; import org.sufficientlysecure.keychain.ui.CreateKeyActivity.FragAction; import org.sufficientlysecure.keychain.ui.CreateKeyActivity.NfcListenerFragment; -import org.sufficientlysecure.keychain.ui.dialog.ProgressDialogFragment; import org.sufficientlysecure.keychain.ui.util.KeyFormattingUtils; import org.sufficientlysecure.keychain.util.Preferences; @@ -176,13 +175,13 @@ public class CreateKeyYubiKeyImportFragment extends Fragment implements NfcListe public void importKey() { - // Message is received after decrypting is done in KeychainIntentService + // Message is received after decrypting is done in KeychainService ServiceProgressHandler saveHandler = new ServiceProgressHandler( getActivity(), getString(R.string.progress_importing), - ProgressDialog.STYLE_HORIZONTAL, - ProgressDialogFragment.ServiceType.KEYCHAIN_INTENT + ProgressDialog.STYLE_HORIZONTAL ) { + @Override public void handleMessage(Message message) { // handle messages by standard KeychainIntentServiceHandler first super.handleMessage(message); @@ -220,29 +219,29 @@ public class CreateKeyYubiKeyImportFragment extends Fragment implements NfcListe }; // Send all information needed to service to decrypt in other thread - Intent intent = new Intent(getActivity(), KeychainIntentService.class); + Intent intent = new Intent(getActivity(), KeychainService.class); // fill values for this action Bundle data = new Bundle(); - intent.setAction(KeychainIntentService.ACTION_IMPORT_KEYRING); + intent.setAction(KeychainService.ACTION_IMPORT_KEYRING); ArrayList<ParcelableKeyRing> keyList = new ArrayList<>(); keyList.add(new ParcelableKeyRing(mNfcFingerprint, null, null)); - data.putParcelableArrayList(KeychainIntentService.IMPORT_KEY_LIST, keyList); + data.putParcelableArrayList(KeychainService.IMPORT_KEY_LIST, keyList); { Preferences prefs = Preferences.getPreferences(getActivity()); Preferences.CloudSearchPrefs cloudPrefs = new Preferences.CloudSearchPrefs(true, true, prefs.getPreferredKeyserver()); - data.putString(KeychainIntentService.IMPORT_KEY_SERVER, cloudPrefs.keyserver); + data.putString(KeychainService.IMPORT_KEY_SERVER, cloudPrefs.keyserver); } - intent.putExtra(KeychainIntentService.EXTRA_DATA, data); + intent.putExtra(KeychainService.EXTRA_DATA, data); // Create a new Messenger for the communication back Messenger messenger = new Messenger(saveHandler); - intent.putExtra(KeychainIntentService.EXTRA_MESSENGER, messenger); + intent.putExtra(KeychainService.EXTRA_MESSENGER, messenger); saveHandler.showProgressDialog(getActivity()); diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/DecryptFilesFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/DecryptFilesFragment.java index 254b926d4..b2d9596fd 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/DecryptFilesFragment.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/DecryptFilesFragment.java @@ -37,11 +37,10 @@ import org.sufficientlysecure.keychain.Constants; import org.sufficientlysecure.keychain.R; import org.sufficientlysecure.keychain.operations.results.DecryptVerifyResult; import org.sufficientlysecure.keychain.pgp.PgpDecryptVerifyInputParcel; -import org.sufficientlysecure.keychain.service.KeychainIntentService; +import org.sufficientlysecure.keychain.service.KeychainService; import org.sufficientlysecure.keychain.service.ServiceProgressHandler; import org.sufficientlysecure.keychain.service.input.CryptoInputParcel; import org.sufficientlysecure.keychain.ui.dialog.DeleteFileDialogFragment; -import org.sufficientlysecure.keychain.ui.dialog.ProgressDialogFragment; import org.sufficientlysecure.keychain.ui.util.Notify; import org.sufficientlysecure.keychain.util.FileHelper; import org.sufficientlysecure.keychain.util.Log; @@ -181,12 +180,12 @@ public class DecryptFilesFragment extends DecryptFragment { } private void startDecrypt() { - mCurrentCryptoOperation = KeychainIntentService.ACTION_DECRYPT_VERIFY; + mCurrentCryptoOperation = KeychainService.ACTION_DECRYPT_VERIFY; cryptoOperation(new CryptoInputParcel()); } private void startDecryptFilenames() { - mCurrentCryptoOperation = KeychainIntentService.ACTION_DECRYPT_METADATA; + mCurrentCryptoOperation = KeychainService.ACTION_DECRYPT_METADATA; cryptoOperation(new CryptoInputParcel()); } @@ -194,7 +193,7 @@ public class DecryptFilesFragment extends DecryptFragment { @SuppressLint("HandlerLeak") protected void cryptoOperation(CryptoInputParcel cryptoInput) { // Send all information needed to service to decrypt in other thread - Intent intent = new Intent(getActivity(), KeychainIntentService.class); + Intent intent = new Intent(getActivity(), KeychainService.class); // fill values for this action Bundle data = new Bundle(); @@ -208,17 +207,17 @@ public class DecryptFilesFragment extends DecryptFragment { PgpDecryptVerifyInputParcel input = new PgpDecryptVerifyInputParcel(mInputUri, mOutputUri) .setAllowSymmetricDecryption(true); - data.putParcelable(KeychainIntentService.DECRYPT_VERIFY_PARCEL, input); - data.putParcelable(KeychainIntentService.EXTRA_CRYPTO_INPUT, cryptoInput); + data.putParcelable(KeychainService.DECRYPT_VERIFY_PARCEL, input); + data.putParcelable(KeychainService.EXTRA_CRYPTO_INPUT, cryptoInput); - intent.putExtra(KeychainIntentService.EXTRA_DATA, data); + intent.putExtra(KeychainService.EXTRA_DATA, data); - // Message is received after decrypting is done in KeychainIntentService + // Message is received after decrypting is done in KeychainService ServiceProgressHandler saveHandler = new ServiceProgressHandler( getActivity(), getString(R.string.progress_decrypting), - ProgressDialog.STYLE_HORIZONTAL, - ProgressDialogFragment.ServiceType.KEYCHAIN_INTENT) { + ProgressDialog.STYLE_HORIZONTAL + ) { @Override public void handleMessage(Message message) { // handle messages by standard KeychainIntentServiceHandler first @@ -238,11 +237,11 @@ public class DecryptFilesFragment extends DecryptFragment { if (pgpResult.success()) { switch (mCurrentCryptoOperation) { - case KeychainIntentService.ACTION_DECRYPT_METADATA: { + case KeychainService.ACTION_DECRYPT_METADATA: { askForOutputFilename(pgpResult.getDecryptMetadata().getFilename()); break; } - case KeychainIntentService.ACTION_DECRYPT_VERIFY: { + case KeychainService.ACTION_DECRYPT_VERIFY: { // display signature result in activity loadVerifyResult(pgpResult); @@ -277,7 +276,7 @@ public class DecryptFilesFragment extends DecryptFragment { // Create a new Messenger for the communication back Messenger messenger = new Messenger(saveHandler); - intent.putExtra(KeychainIntentService.EXTRA_MESSENGER, messenger); + intent.putExtra(KeychainService.EXTRA_MESSENGER, messenger); // show progress dialog saveHandler.showProgressDialog(getActivity()); diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/DecryptFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/DecryptFragment.java index e13365feb..3d87ce894 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/DecryptFragment.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/DecryptFragment.java @@ -47,7 +47,7 @@ import org.sufficientlysecure.keychain.pgp.exception.PgpKeyNotFoundException; import org.sufficientlysecure.keychain.provider.KeychainContract; import org.sufficientlysecure.keychain.provider.KeychainContract.KeyRings; import org.sufficientlysecure.keychain.provider.ProviderHelper; -import org.sufficientlysecure.keychain.service.KeychainIntentService; +import org.sufficientlysecure.keychain.service.KeychainService; import org.sufficientlysecure.keychain.service.ServiceProgressHandler; import org.sufficientlysecure.keychain.ui.base.CryptoOperationFragment; import org.sufficientlysecure.keychain.ui.util.KeyFormattingUtils; @@ -130,8 +130,9 @@ public abstract class DecryptFragment extends CryptoOperationFragment implements private void lookupUnknownKey(long unknownKeyId) { - // Message is received after importing is done in KeychainIntentService + // Message is received after importing is done in KeychainService ServiceProgressHandler serviceHandler = new ServiceProgressHandler(getActivity()) { + @Override public void handleMessage(Message message) { // handle messages by standard KeychainIntentServiceHandler first super.handleMessage(message); @@ -162,7 +163,7 @@ public abstract class DecryptFragment extends CryptoOperationFragment implements Preferences prefs = Preferences.getPreferences(getActivity()); Preferences.CloudSearchPrefs cloudPrefs = new Preferences.CloudSearchPrefs(true, true, prefs.getPreferredKeyserver()); - data.putString(KeychainIntentService.IMPORT_KEY_SERVER, cloudPrefs.keyserver); + data.putString(KeychainService.IMPORT_KEY_SERVER, cloudPrefs.keyserver); } { @@ -171,17 +172,17 @@ public abstract class DecryptFragment extends CryptoOperationFragment implements ArrayList<ParcelableKeyRing> selectedEntries = new ArrayList<>(); selectedEntries.add(keyEntry); - data.putParcelableArrayList(KeychainIntentService.IMPORT_KEY_LIST, selectedEntries); + data.putParcelableArrayList(KeychainService.IMPORT_KEY_LIST, selectedEntries); } // Send all information needed to service to query keys in other thread - Intent intent = new Intent(getActivity(), KeychainIntentService.class); - intent.setAction(KeychainIntentService.ACTION_IMPORT_KEYRING); - intent.putExtra(KeychainIntentService.EXTRA_DATA, data); + Intent intent = new Intent(getActivity(), KeychainService.class); + intent.setAction(KeychainService.ACTION_IMPORT_KEYRING); + intent.putExtra(KeychainService.EXTRA_DATA, data); // Create a new Messenger for the communication back Messenger messenger = new Messenger(serviceHandler); - intent.putExtra(KeychainIntentService.EXTRA_MESSENGER, messenger); + intent.putExtra(KeychainService.EXTRA_MESSENGER, messenger); getActivity().startService(intent); } diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/DecryptTextFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/DecryptTextFragment.java index 93397c806..b7ea90a36 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/DecryptTextFragment.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/DecryptTextFragment.java @@ -35,10 +35,9 @@ import org.sufficientlysecure.keychain.R; import org.sufficientlysecure.keychain.compatibility.ClipboardReflection; import org.sufficientlysecure.keychain.operations.results.DecryptVerifyResult; import org.sufficientlysecure.keychain.pgp.PgpDecryptVerifyInputParcel; -import org.sufficientlysecure.keychain.service.KeychainIntentService; +import org.sufficientlysecure.keychain.service.KeychainService; import org.sufficientlysecure.keychain.service.ServiceProgressHandler; import org.sufficientlysecure.keychain.service.input.CryptoInputParcel; -import org.sufficientlysecure.keychain.ui.dialog.ProgressDialogFragment; import org.sufficientlysecure.keychain.ui.util.Notify; import org.sufficientlysecure.keychain.util.ShareHelper; @@ -161,25 +160,25 @@ public class DecryptTextFragment extends DecryptFragment { @Override protected void cryptoOperation(CryptoInputParcel cryptoInput) { // Send all information needed to service to decrypt in other thread - Intent intent = new Intent(getActivity(), KeychainIntentService.class); + Intent intent = new Intent(getActivity(), KeychainService.class); // fill values for this action Bundle data = new Bundle(); - intent.setAction(KeychainIntentService.ACTION_DECRYPT_VERIFY); + intent.setAction(KeychainService.ACTION_DECRYPT_VERIFY); PgpDecryptVerifyInputParcel input = new PgpDecryptVerifyInputParcel(mCiphertext.getBytes()); - data.putParcelable(KeychainIntentService.DECRYPT_VERIFY_PARCEL, input); - data.putParcelable(KeychainIntentService.EXTRA_CRYPTO_INPUT, cryptoInput); + data.putParcelable(KeychainService.DECRYPT_VERIFY_PARCEL, input); + data.putParcelable(KeychainService.EXTRA_CRYPTO_INPUT, cryptoInput); - intent.putExtra(KeychainIntentService.EXTRA_DATA, data); + intent.putExtra(KeychainService.EXTRA_DATA, data); - // Message is received after encrypting is done in KeychainIntentService + // Message is received after encrypting is done in KeychainService ServiceProgressHandler saveHandler = new ServiceProgressHandler( getActivity(), getString(R.string.progress_decrypting), - ProgressDialog.STYLE_HORIZONTAL, - ProgressDialogFragment.ServiceType.KEYCHAIN_INTENT) { + ProgressDialog.STYLE_HORIZONTAL + ) { public void handleMessage(Message message) { // handle messages by standard KeychainIntentServiceHandler first super.handleMessage(message); @@ -223,7 +222,7 @@ public class DecryptTextFragment extends DecryptFragment { // Create a new Messenger for the communication back Messenger messenger = new Messenger(saveHandler); - intent.putExtra(KeychainIntentService.EXTRA_MESSENGER, messenger); + intent.putExtra(KeychainService.EXTRA_MESSENGER, messenger); // show progress dialog saveHandler.showProgressDialog(getActivity()); diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EditKeyFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EditKeyFragment.java index 1f7a0eb0d..63fb8413b 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EditKeyFragment.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EditKeyFragment.java @@ -50,7 +50,7 @@ import org.sufficientlysecure.keychain.provider.KeychainContract; import org.sufficientlysecure.keychain.provider.KeychainContract.UserPackets; import org.sufficientlysecure.keychain.provider.ProviderHelper; import org.sufficientlysecure.keychain.provider.ProviderHelper.NotFoundException; -import org.sufficientlysecure.keychain.service.KeychainIntentService; +import org.sufficientlysecure.keychain.service.KeychainService; import org.sufficientlysecure.keychain.service.ServiceProgressHandler; import org.sufficientlysecure.keychain.service.SaveKeyringParcel; import org.sufficientlysecure.keychain.service.SaveKeyringParcel.ChangeUnlockParcel; @@ -66,8 +66,6 @@ import org.sufficientlysecure.keychain.ui.util.Notify; import org.sufficientlysecure.keychain.util.Log; import org.sufficientlysecure.keychain.util.Passphrase; -import java.nio.ByteBuffer; - public class EditKeyFragment extends CryptoOperationFragment implements LoaderManager.LoaderCallbacks<Cursor> { @@ -603,8 +601,8 @@ public class EditKeyFragment extends CryptoOperationFragment implements getActivity(), getString(R.string.progress_saving), ProgressDialog.STYLE_HORIZONTAL, - true, - ProgressDialogFragment.ServiceType.KEYCHAIN_INTENT) { + true + ) { public void handleMessage(Message message) { // handle messages by standard KeychainIntentServiceHandler first super.handleMessage(message); @@ -643,18 +641,18 @@ public class EditKeyFragment extends CryptoOperationFragment implements }; // Send all information needed to service to import key in other thread - Intent intent = new Intent(getActivity(), KeychainIntentService.class); - intent.setAction(KeychainIntentService.ACTION_EDIT_KEYRING); + Intent intent = new Intent(getActivity(), KeychainService.class); + intent.setAction(KeychainService.ACTION_EDIT_KEYRING); // fill values for this action Bundle data = new Bundle(); - data.putParcelable(KeychainIntentService.EXTRA_CRYPTO_INPUT, cryptoInput); - data.putParcelable(KeychainIntentService.EDIT_KEYRING_PARCEL, mSaveKeyringParcel); - intent.putExtra(KeychainIntentService.EXTRA_DATA, data); + data.putParcelable(KeychainService.EXTRA_CRYPTO_INPUT, cryptoInput); + data.putParcelable(KeychainService.EDIT_KEYRING_PARCEL, mSaveKeyringParcel); + intent.putExtra(KeychainService.EXTRA_DATA, data); // Create a new Messenger for the communication back Messenger messenger = new Messenger(saveHandler); - intent.putExtra(KeychainIntentService.EXTRA_MESSENGER, messenger); + intent.putExtra(KeychainService.EXTRA_MESSENGER, messenger); // show progress dialog saveHandler.showProgressDialog(getActivity()); diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptFilesFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptFilesFragment.java index 99d28b234..ddfdecca3 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptFilesFragment.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptFilesFragment.java @@ -49,13 +49,12 @@ import org.sufficientlysecure.keychain.pgp.KeyRing; import org.sufficientlysecure.keychain.pgp.PgpConstants; import org.sufficientlysecure.keychain.pgp.SignEncryptParcel; import org.sufficientlysecure.keychain.provider.TemporaryStorageProvider; -import org.sufficientlysecure.keychain.service.KeychainIntentService; +import org.sufficientlysecure.keychain.service.KeychainService; import org.sufficientlysecure.keychain.service.ServiceProgressHandler; import org.sufficientlysecure.keychain.service.input.CryptoInputParcel; import org.sufficientlysecure.keychain.ui.adapter.SpacesItemDecoration; import org.sufficientlysecure.keychain.ui.base.CachingCryptoOperationFragment; import org.sufficientlysecure.keychain.ui.dialog.DeleteFileDialogFragment; -import org.sufficientlysecure.keychain.ui.dialog.ProgressDialogFragment; import org.sufficientlysecure.keychain.ui.util.FormattingUtils; import org.sufficientlysecure.keychain.ui.util.Notify; import org.sufficientlysecure.keychain.ui.util.Notify.ActionListener; @@ -586,21 +585,22 @@ public class EncryptFilesFragment extends CachingCryptoOperationFragment<SignEnc } // Send all information needed to service to edit key in other thread - Intent intent = new Intent(getActivity(), KeychainIntentService.class); - intent.setAction(KeychainIntentService.ACTION_SIGN_ENCRYPT); + Intent intent = new Intent(getActivity(), KeychainService.class); + intent.setAction(KeychainService.ACTION_SIGN_ENCRYPT); Bundle data = new Bundle(); - data.putParcelable(KeychainIntentService.SIGN_ENCRYPT_PARCEL, actionsParcel); - data.putParcelable(KeychainIntentService.EXTRA_CRYPTO_INPUT, cryptoInput); - intent.putExtra(KeychainIntentService.EXTRA_DATA, data); + data.putParcelable(KeychainService.SIGN_ENCRYPT_PARCEL, actionsParcel); + data.putParcelable(KeychainService.EXTRA_CRYPTO_INPUT, cryptoInput); + intent.putExtra(KeychainService.EXTRA_DATA, data); - // Message is received after encrypting is done in KeychainIntentService + // Message is received after encrypting is done in KeychainService ServiceProgressHandler serviceHandler = new ServiceProgressHandler( getActivity(), getString(R.string.progress_encrypting), ProgressDialog.STYLE_HORIZONTAL, - true, - ProgressDialogFragment.ServiceType.KEYCHAIN_INTENT) { + true + ) { + @Override public void handleMessage(Message message) { // handle messages by standard KeychainIntentServiceHandler first super.handleMessage(message); @@ -623,7 +623,7 @@ public class EncryptFilesFragment extends CachingCryptoOperationFragment<SignEnc }; // Create a new Messenger for the communication back Messenger messenger = new Messenger(serviceHandler); - intent.putExtra(KeychainIntentService.EXTRA_MESSENGER, messenger); + intent.putExtra(KeychainService.EXTRA_MESSENGER, messenger); // show progress dialog serviceHandler.showProgressDialog(getActivity()); diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptTextFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptTextFragment.java index d6b8daca3..e206169bb 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptTextFragment.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptTextFragment.java @@ -41,11 +41,10 @@ import org.sufficientlysecure.keychain.operations.results.SignEncryptResult; import org.sufficientlysecure.keychain.pgp.KeyRing; import org.sufficientlysecure.keychain.pgp.PgpConstants; import org.sufficientlysecure.keychain.pgp.SignEncryptParcel; -import org.sufficientlysecure.keychain.service.KeychainIntentService; +import org.sufficientlysecure.keychain.service.KeychainService; import org.sufficientlysecure.keychain.service.ServiceProgressHandler; import org.sufficientlysecure.keychain.service.input.CryptoInputParcel; import org.sufficientlysecure.keychain.ui.base.CachingCryptoOperationFragment; -import org.sufficientlysecure.keychain.ui.dialog.ProgressDialogFragment; import org.sufficientlysecure.keychain.ui.util.Notify; import org.sufficientlysecure.keychain.ui.util.Notify.ActionListener; import org.sufficientlysecure.keychain.ui.util.Notify.Style; @@ -353,20 +352,21 @@ public class EncryptTextFragment extends CachingCryptoOperationFragment<SignEncr } // Send all information needed to service to edit key in other thread - Intent intent = new Intent(getActivity(), KeychainIntentService.class); - intent.setAction(KeychainIntentService.ACTION_SIGN_ENCRYPT); + Intent intent = new Intent(getActivity(), KeychainService.class); + intent.setAction(KeychainService.ACTION_SIGN_ENCRYPT); Bundle data = new Bundle(); - data.putParcelable(KeychainIntentService.SIGN_ENCRYPT_PARCEL, actionsParcel); - data.putParcelable(KeychainIntentService.EXTRA_CRYPTO_INPUT, cryptoInput); - intent.putExtra(KeychainIntentService.EXTRA_DATA, data); + data.putParcelable(KeychainService.SIGN_ENCRYPT_PARCEL, actionsParcel); + data.putParcelable(KeychainService.EXTRA_CRYPTO_INPUT, cryptoInput); + intent.putExtra(KeychainService.EXTRA_DATA, data); - // Message is received after encrypting is done in KeychainIntentService + // Message is received after encrypting is done in KeychainService ServiceProgressHandler serviceHandler = new ServiceProgressHandler( getActivity(), getString(R.string.progress_encrypting), - ProgressDialog.STYLE_HORIZONTAL, - ProgressDialogFragment.ServiceType.KEYCHAIN_INTENT) { + ProgressDialog.STYLE_HORIZONTAL + ) { + @Override public void handleMessage(Message message) { // handle messages by standard KeychainIntentServiceHandler first super.handleMessage(message); @@ -389,7 +389,7 @@ public class EncryptTextFragment extends CachingCryptoOperationFragment<SignEncr }; // Create a new Messenger for the communication back Messenger messenger = new Messenger(serviceHandler); - intent.putExtra(KeychainIntentService.EXTRA_MESSENGER, messenger); + intent.putExtra(KeychainService.EXTRA_MESSENGER, messenger); // show progress dialog serviceHandler.showProgressDialog(getActivity()); diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ImportKeysActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ImportKeysActivity.java index d02030cbf..5251f5949 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ImportKeysActivity.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ImportKeysActivity.java @@ -35,11 +35,9 @@ import org.sufficientlysecure.keychain.keyimport.ImportKeysListEntry; import org.sufficientlysecure.keychain.keyimport.ParcelableKeyRing; import org.sufficientlysecure.keychain.operations.results.ImportKeyResult; import org.sufficientlysecure.keychain.operations.results.OperationResult; -import org.sufficientlysecure.keychain.service.KeychainIntentService; +import org.sufficientlysecure.keychain.service.KeychainService; import org.sufficientlysecure.keychain.ui.base.BaseNfcActivity; -import org.sufficientlysecure.keychain.service.CloudImportService; import org.sufficientlysecure.keychain.service.ServiceProgressHandler; -import org.sufficientlysecure.keychain.ui.dialog.ProgressDialogFragment; import org.sufficientlysecure.keychain.ui.util.KeyFormattingUtils; import org.sufficientlysecure.keychain.ui.util.Notify; import org.sufficientlysecure.keychain.util.Log; @@ -383,7 +381,6 @@ public class ImportKeysActivity extends BaseNfcActivity { * Import keys with mImportData */ public void importKeys() { - ImportKeysListFragment.LoaderState ls = mListFragment.getLoaderState(); if (mListFragment.getSelectedEntries().size() == 0) { Notify.create(this, R.string.error_nothing_import_selected, Notify.Style.ERROR) @@ -391,31 +388,32 @@ public class ImportKeysActivity extends BaseNfcActivity { return; } - if (ls instanceof ImportKeysListFragment.BytesLoaderState) { - Log.d(Constants.TAG, "importKeys started"); + ServiceProgressHandler serviceHandler = new ServiceProgressHandler( + this, + getString(R.string.progress_importing), + ProgressDialog.STYLE_HORIZONTAL, + true + ) { + @Override + public void handleMessage(Message message) { + // handle messages by standard KeychainIntentServiceHandler first + super.handleMessage(message); - ServiceProgressHandler serviceHandler = new ServiceProgressHandler( - this, - getString(R.string.progress_importing), - ProgressDialog.STYLE_HORIZONTAL, - true, - ProgressDialogFragment.ServiceType.KEYCHAIN_INTENT) { - public void handleMessage(Message message) { - // handle messages by standard KeychainIntentServiceHandler first - super.handleMessage(message); - - ImportKeysActivity.this.handleMessage(message); - } - }; + ImportKeysActivity.this.handleMessage(message); + } + }; + + // Send all information needed to service to import key in other thread + Intent intent = new Intent(this, KeychainService.class); - // TODO: Currently not using CloudImport here due to https://github.com/open-keychain/open-keychain/issues/1221 - // Send all information needed to service to import key in other thread - Intent intent = new Intent(this, KeychainIntentService.class); + intent.setAction(KeychainService.ACTION_IMPORT_KEYRING); - intent.setAction(KeychainIntentService.ACTION_IMPORT_KEYRING); + // fill values for this action + Bundle data = new Bundle(); - // fill values for this action - Bundle data = new Bundle(); + ImportKeysListFragment.LoaderState ls = mListFragment.getLoaderState(); + if (ls instanceof ImportKeysListFragment.BytesLoaderState) { + Log.d(Constants.TAG, "importKeys started"); // get DATA from selected key entries IteratorWithSize<ParcelableKeyRing> selectedEntries = mListFragment.getSelectedData(); @@ -430,11 +428,11 @@ public class ImportKeysActivity extends BaseNfcActivity { new ParcelableFileCache<>(this, "key_import.pcl"); cache.writeCache(selectedEntries); - intent.putExtra(KeychainIntentService.EXTRA_DATA, data); + intent.putExtra(KeychainService.EXTRA_DATA, data); // Create a new Messenger for the communication back Messenger messenger = new Messenger(serviceHandler); - intent.putExtra(KeychainIntentService.EXTRA_MESSENGER, messenger); + intent.putExtra(KeychainService.EXTRA_MESSENGER, messenger); // show progress dialog serviceHandler.showProgressDialog(this); @@ -449,27 +447,7 @@ public class ImportKeysActivity extends BaseNfcActivity { } else if (ls instanceof ImportKeysListFragment.CloudLoaderState) { ImportKeysListFragment.CloudLoaderState sls = (ImportKeysListFragment.CloudLoaderState) ls; - ServiceProgressHandler serviceHandler = new ServiceProgressHandler( - this, - getString(R.string.progress_importing), - ProgressDialog.STYLE_HORIZONTAL, - true, - ProgressDialogFragment.ServiceType.CLOUD_IMPORT) { - public void handleMessage(Message message) { - // handle messages by standard KeychainIntentServiceHandler first - super.handleMessage(message); - - ImportKeysActivity.this.handleMessage(message); - } - }; - - // Send all information needed to service to query keys in other thread - Intent intent = new Intent(this, CloudImportService.class); - - // fill values for this action - Bundle data = new Bundle(); - - data.putString(CloudImportService.IMPORT_KEY_SERVER, sls.mCloudPrefs.keyserver); + data.putString(KeychainService.IMPORT_KEY_SERVER, sls.mCloudPrefs.keyserver); // get selected key entries ArrayList<ParcelableKeyRing> keys = new ArrayList<>(); @@ -482,13 +460,13 @@ public class ImportKeysActivity extends BaseNfcActivity { ); } } - data.putParcelableArrayList(CloudImportService.IMPORT_KEY_LIST, keys); + data.putParcelableArrayList(KeychainService.IMPORT_KEY_LIST, keys); - intent.putExtra(CloudImportService.EXTRA_DATA, data); + intent.putExtra(KeychainService.EXTRA_DATA, data); // Create a new Messenger for the communication back Messenger messenger = new Messenger(serviceHandler); - intent.putExtra(CloudImportService.EXTRA_MESSENGER, messenger); + intent.putExtra(KeychainService.EXTRA_MESSENGER, messenger); // show progress dialog serviceHandler.showProgressDialog(this); diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ImportKeysProxyActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ImportKeysProxyActivity.java index 7ed8dd0b5..42efbf0f8 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ImportKeysProxyActivity.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ImportKeysProxyActivity.java @@ -43,9 +43,8 @@ import org.sufficientlysecure.keychain.operations.results.ImportKeyResult; import org.sufficientlysecure.keychain.operations.results.OperationResult; import org.sufficientlysecure.keychain.operations.results.OperationResult.LogType; import org.sufficientlysecure.keychain.operations.results.SingletonResult; -import org.sufficientlysecure.keychain.service.KeychainIntentService; +import org.sufficientlysecure.keychain.service.KeychainService; import org.sufficientlysecure.keychain.service.ServiceProgressHandler; -import org.sufficientlysecure.keychain.ui.dialog.ProgressDialogFragment; import org.sufficientlysecure.keychain.util.IntentIntegratorSupportV4; import org.sufficientlysecure.keychain.util.Log; import org.sufficientlysecure.keychain.util.Preferences; @@ -206,13 +205,14 @@ public class ImportKeysProxyActivity extends FragmentActivity { private void startImportService(ArrayList<ParcelableKeyRing> keyRings) { - // Message is received after importing is done in KeychainIntentService + // Message is received after importing is done in KeychainService ServiceProgressHandler serviceHandler = new ServiceProgressHandler( this, getString(R.string.progress_importing), ProgressDialog.STYLE_HORIZONTAL, - true, - ProgressDialogFragment.ServiceType.KEYCHAIN_INTENT) { + true + ) { + @Override public void handleMessage(Message message) { // handle messages by standard KeychainIntentServiceHandler first super.handleMessage(message); @@ -258,19 +258,19 @@ public class ImportKeysProxyActivity extends FragmentActivity { Preferences prefs = Preferences.getPreferences(this); Preferences.CloudSearchPrefs cloudPrefs = new Preferences.CloudSearchPrefs(true, true, prefs.getPreferredKeyserver()); - data.putString(KeychainIntentService.IMPORT_KEY_SERVER, cloudPrefs.keyserver); + data.putString(KeychainService.IMPORT_KEY_SERVER, cloudPrefs.keyserver); } - data.putParcelableArrayList(KeychainIntentService.IMPORT_KEY_LIST, keyRings); + data.putParcelableArrayList(KeychainService.IMPORT_KEY_LIST, keyRings); // Send all information needed to service to query keys in other thread - Intent intent = new Intent(this, KeychainIntentService.class); - intent.setAction(KeychainIntentService.ACTION_IMPORT_KEYRING); - intent.putExtra(KeychainIntentService.EXTRA_DATA, data); + Intent intent = new Intent(this, KeychainService.class); + intent.setAction(KeychainService.ACTION_IMPORT_KEYRING); + intent.putExtra(KeychainService.EXTRA_DATA, data); // Create a new Messenger for the communication back Messenger messenger = new Messenger(serviceHandler); - intent.putExtra(KeychainIntentService.EXTRA_MESSENGER, messenger); + intent.putExtra(KeychainService.EXTRA_MESSENGER, messenger); // show progress dialog serviceHandler.showProgressDialog(this); diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/KeyListFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/KeyListFragment.java index 1355bd3e6..ddc527847 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/KeyListFragment.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/KeyListFragment.java @@ -64,12 +64,10 @@ import org.sufficientlysecure.keychain.provider.KeychainContract; import org.sufficientlysecure.keychain.provider.KeychainContract.KeyRings; import org.sufficientlysecure.keychain.provider.KeychainDatabase; import org.sufficientlysecure.keychain.provider.ProviderHelper; -import org.sufficientlysecure.keychain.service.CloudImportService; -import org.sufficientlysecure.keychain.service.KeychainIntentService; +import org.sufficientlysecure.keychain.service.KeychainService; import org.sufficientlysecure.keychain.service.ServiceProgressHandler; import org.sufficientlysecure.keychain.service.PassphraseCacheService; import org.sufficientlysecure.keychain.ui.dialog.DeleteKeyDialogFragment; -import org.sufficientlysecure.keychain.ui.dialog.ProgressDialogFragment; import org.sufficientlysecure.keychain.ui.util.KeyFormattingUtils; import org.sufficientlysecure.keychain.ui.adapter.KeyAdapter; import org.sufficientlysecure.keychain.ui.util.Notify; @@ -578,8 +576,9 @@ public class KeyListFragment extends LoaderFragment getActivity(), getString(R.string.progress_updating), ProgressDialog.STYLE_HORIZONTAL, - true, - ProgressDialogFragment.ServiceType.CLOUD_IMPORT) { + true + ) { + @Override public void handleMessage(Message message) { // handle messages by standard KeychainIntentServiceHandler first super.handleMessage(message); @@ -603,7 +602,8 @@ public class KeyListFragment extends LoaderFragment }; // Send all information needed to service to query keys in other thread - Intent intent = new Intent(getActivity(), CloudImportService.class); + Intent intent = new Intent(getActivity(), KeychainService.class); + intent.setAction(KeychainService.ACTION_IMPORT_KEYRING); // fill values for this action Bundle data = new Bundle(); @@ -613,16 +613,16 @@ public class KeyListFragment extends LoaderFragment Preferences prefs = Preferences.getPreferences(getActivity()); Preferences.CloudSearchPrefs cloudPrefs = new Preferences.CloudSearchPrefs(true, true, prefs.getPreferredKeyserver()); - data.putString(CloudImportService.IMPORT_KEY_SERVER, cloudPrefs.keyserver); + data.putString(KeychainService.IMPORT_KEY_SERVER, cloudPrefs.keyserver); } - data.putParcelableArrayList(CloudImportService.IMPORT_KEY_LIST, keyList); + data.putParcelableArrayList(KeychainService.IMPORT_KEY_LIST, keyList); - intent.putExtra(CloudImportService.EXTRA_DATA, data); + intent.putExtra(KeychainService.EXTRA_DATA, data); // Create a new Messenger for the communication back Messenger messenger = new Messenger(serviceHandler); - intent.putExtra(CloudImportService.EXTRA_MESSENGER, messenger); + intent.putExtra(KeychainService.EXTRA_MESSENGER, messenger); // show progress dialog serviceHandler.showProgressDialog(getActivity()); @@ -632,12 +632,13 @@ public class KeyListFragment extends LoaderFragment } private void consolidate() { - // Message is received after importing is done in KeychainIntentService + // Message is received after importing is done in KeychainService ServiceProgressHandler saveHandler = new ServiceProgressHandler( getActivity(), getString(R.string.progress_importing), - ProgressDialog.STYLE_HORIZONTAL, - ProgressDialogFragment.ServiceType.KEYCHAIN_INTENT) { + ProgressDialog.STYLE_HORIZONTAL + ) { + @Override public void handleMessage(Message message) { // handle messages by standard KeychainIntentServiceHandler first super.handleMessage(message); @@ -660,18 +661,18 @@ public class KeyListFragment extends LoaderFragment }; // Send all information needed to service to import key in other thread - Intent intent = new Intent(getActivity(), KeychainIntentService.class); + Intent intent = new Intent(getActivity(), KeychainService.class); - intent.setAction(KeychainIntentService.ACTION_CONSOLIDATE); + intent.setAction(KeychainService.ACTION_CONSOLIDATE); // fill values for this action Bundle data = new Bundle(); - intent.putExtra(KeychainIntentService.EXTRA_DATA, data); + intent.putExtra(KeychainService.EXTRA_DATA, data); // Create a new Messenger for the communication back Messenger messenger = new Messenger(saveHandler); - intent.putExtra(KeychainIntentService.EXTRA_MESSENGER, messenger); + intent.putExtra(KeychainService.EXTRA_MESSENGER, messenger); // show progress dialog saveHandler.showProgressDialog(getActivity()); diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/PassphraseDialogActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/PassphraseDialogActivity.java index 4ec4e2c84..4b4e71f6e 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/PassphraseDialogActivity.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/PassphraseDialogActivity.java @@ -45,6 +45,7 @@ import org.sufficientlysecure.keychain.Constants; import org.sufficientlysecure.keychain.R; import org.sufficientlysecure.keychain.compatibility.DialogFragmentWorkaround; import org.sufficientlysecure.keychain.pgp.CanonicalizedSecretKey; +import org.sufficientlysecure.keychain.pgp.CanonicalizedSecretKey.SecretKeyType; import org.sufficientlysecure.keychain.pgp.CanonicalizedSecretKeyRing; import org.sufficientlysecure.keychain.pgp.KeyRing; import org.sufficientlysecure.keychain.pgp.exception.PgpGeneralException; @@ -52,6 +53,7 @@ import org.sufficientlysecure.keychain.pgp.exception.PgpKeyNotFoundException; import org.sufficientlysecure.keychain.provider.CachedPublicKeyRing; import org.sufficientlysecure.keychain.provider.KeychainContract; import org.sufficientlysecure.keychain.provider.ProviderHelper; +import org.sufficientlysecure.keychain.provider.ProviderHelper.NotFoundException; import org.sufficientlysecure.keychain.remote.CryptoInputParcelCacheService; import org.sufficientlysecure.keychain.service.PassphraseCacheService; import org.sufficientlysecure.keychain.service.input.CryptoInputParcel; @@ -102,6 +104,29 @@ public class PassphraseDialogActivity extends FragmentActivity { break; } case PASSPHRASE: { + + // handle empty passphrases by directly returning an empty crypto input parcel + try { + CanonicalizedSecretKeyRing pubRing = + new ProviderHelper(this).getCanonicalizedSecretKeyRing( + requiredInput.getMasterKeyId()); + // use empty passphrase for empty passphrase + if (pubRing.getSecretKey(requiredInput.getSubKeyId()).getSecretKeyType() == + SecretKeyType.PASSPHRASE_EMPTY) { + // also return passphrase back to activity + Intent returnIntent = new Intent(); + returnIntent.putExtra(RESULT_CRYPTO_INPUT, new CryptoInputParcel(new Passphrase(""))); + setResult(RESULT_OK, returnIntent); + finish(); + return; + } + } catch (NotFoundException e) { + Log.e(Constants.TAG, "Key not found?!", e); + setResult(RESULT_CANCELED); + finish(); + return; + } + keyId = requiredInput.getSubKeyId(); break; } diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/SafeSlingerActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/SafeSlingerActivity.java index aa3c36d11..273acc23d 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/SafeSlingerActivity.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/SafeSlingerActivity.java @@ -38,10 +38,9 @@ import org.sufficientlysecure.keychain.operations.results.ImportKeyResult; import org.sufficientlysecure.keychain.operations.results.OperationResult; import org.sufficientlysecure.keychain.provider.KeychainContract; import org.sufficientlysecure.keychain.provider.ProviderHelper; -import org.sufficientlysecure.keychain.service.KeychainIntentService; +import org.sufficientlysecure.keychain.service.KeychainService; import org.sufficientlysecure.keychain.ui.base.BaseActivity; import org.sufficientlysecure.keychain.service.ServiceProgressHandler; -import org.sufficientlysecure.keychain.ui.dialog.ProgressDialogFragment; import org.sufficientlysecure.keychain.ui.util.Notify; import org.sufficientlysecure.keychain.util.Log; import org.sufficientlysecure.keychain.util.ParcelableFileCache; @@ -124,13 +123,14 @@ public class SafeSlingerActivity extends BaseActivity { final FragmentActivity activity = SafeSlingerActivity.this; - // Message is received after importing is done in KeychainIntentService + // Message is received after importing is done in KeychainService ServiceProgressHandler saveHandler = new ServiceProgressHandler( activity, getString(R.string.progress_importing), ProgressDialog.STYLE_HORIZONTAL, - true, - ProgressDialogFragment.ServiceType.KEYCHAIN_INTENT) { + true + ) { + @Override public void handleMessage(Message message) { // handle messages by standard KeychainIntentServiceHandler first super.handleMessage(message); @@ -176,9 +176,9 @@ public class SafeSlingerActivity extends BaseActivity { Log.d(Constants.TAG, "importKeys started"); // Send all information needed to service to import key in other thread - Intent intent = new Intent(activity, KeychainIntentService.class); + Intent intent = new Intent(activity, KeychainService.class); - intent.setAction(KeychainIntentService.ACTION_IMPORT_KEYRING); + intent.setAction(KeychainService.ACTION_IMPORT_KEYRING); // instead of giving the entries by Intent extra, cache them into a // file to prevent Java Binder problems on heavy imports @@ -195,11 +195,11 @@ public class SafeSlingerActivity extends BaseActivity { // fill values for this action Bundle bundle = new Bundle(); - intent.putExtra(KeychainIntentService.EXTRA_DATA, bundle); + intent.putExtra(KeychainService.EXTRA_DATA, bundle); // Create a new Messenger for the communication back Messenger messenger = new Messenger(saveHandler); - intent.putExtra(KeychainIntentService.EXTRA_MESSENGER, messenger); + intent.putExtra(KeychainService.EXTRA_MESSENGER, messenger); // show progress dialog saveHandler.showProgressDialog(activity); diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/UploadKeyActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/UploadKeyActivity.java index 5c8e6bb5d..2a195a4da 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/UploadKeyActivity.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/UploadKeyActivity.java @@ -35,10 +35,9 @@ import org.sufficientlysecure.keychain.Constants; import org.sufficientlysecure.keychain.R; import org.sufficientlysecure.keychain.provider.KeychainContract; import org.sufficientlysecure.keychain.provider.KeychainContract.KeyRings; -import org.sufficientlysecure.keychain.service.KeychainIntentService; +import org.sufficientlysecure.keychain.service.KeychainService; import org.sufficientlysecure.keychain.ui.base.BaseActivity; import org.sufficientlysecure.keychain.service.ServiceProgressHandler; -import org.sufficientlysecure.keychain.ui.dialog.ProgressDialogFragment; import org.sufficientlysecure.keychain.util.Log; import org.sufficientlysecure.keychain.util.Preferences; @@ -92,9 +91,9 @@ public class UploadKeyActivity extends BaseActivity { private void uploadKey() { // Send all information needed to service to upload key in other thread - Intent intent = new Intent(this, KeychainIntentService.class); + Intent intent = new Intent(this, KeychainService.class); - intent.setAction(KeychainIntentService.ACTION_UPLOAD_KEYRING); + intent.setAction(KeychainService.ACTION_UPLOAD_KEYRING); // set data uri as path to keyring Uri blobUri = KeyRings.buildUnifiedKeyRingUri(mDataUri); @@ -104,16 +103,17 @@ public class UploadKeyActivity extends BaseActivity { Bundle data = new Bundle(); String server = (String) mKeyServerSpinner.getSelectedItem(); - data.putString(KeychainIntentService.UPLOAD_KEY_SERVER, server); + data.putString(KeychainService.UPLOAD_KEY_SERVER, server); - intent.putExtra(KeychainIntentService.EXTRA_DATA, data); + intent.putExtra(KeychainService.EXTRA_DATA, data); - // Message is received after uploading is done in KeychainIntentService + // Message is received after uploading is done in KeychainService ServiceProgressHandler saveHandler = new ServiceProgressHandler( this, getString(R.string.progress_uploading), - ProgressDialog.STYLE_HORIZONTAL, - ProgressDialogFragment.ServiceType.KEYCHAIN_INTENT) { + ProgressDialog.STYLE_HORIZONTAL + ) { + @Override public void handleMessage(Message message) { // handle messages by standard KeychainIntentServiceHandler first super.handleMessage(message); @@ -129,7 +129,7 @@ public class UploadKeyActivity extends BaseActivity { // Create a new Messenger for the communication back Messenger messenger = new Messenger(saveHandler); - intent.putExtra(KeychainIntentService.EXTRA_MESSENGER, messenger); + intent.putExtra(KeychainService.EXTRA_MESSENGER, messenger); // show progress dialog saveHandler.showProgressDialog(this); diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyActivity.java index 9968855f7..995b07720 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyActivity.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyActivity.java @@ -65,7 +65,7 @@ import org.sufficientlysecure.keychain.provider.CachedPublicKeyRing; import org.sufficientlysecure.keychain.provider.KeychainContract; import org.sufficientlysecure.keychain.provider.KeychainContract.KeyRings; import org.sufficientlysecure.keychain.provider.ProviderHelper; -import org.sufficientlysecure.keychain.service.KeychainIntentService; +import org.sufficientlysecure.keychain.service.KeychainService; import org.sufficientlysecure.keychain.service.ServiceProgressHandler; import org.sufficientlysecure.keychain.service.ServiceProgressHandler.MessageStatus; import org.sufficientlysecure.keychain.service.PassphraseCacheService; @@ -402,8 +402,9 @@ public class ViewKeyActivity extends BaseNfcActivity implements } private void startCertifyIntent(Intent intent) { - // Message is received after signing is done in KeychainIntentService + // Message is received after signing is done in KeychainService ServiceProgressHandler saveHandler = new ServiceProgressHandler(this) { + @Override public void handleMessage(Message message) { // handle messages by standard KeychainIntentServiceHandler first super.handleMessage(message); @@ -418,7 +419,7 @@ public class ViewKeyActivity extends BaseNfcActivity implements }; // Create a new Messenger for the communication back Messenger messenger = new Messenger(saveHandler); - intent.putExtra(KeychainIntentService.EXTRA_MESSENGER, messenger); + intent.putExtra(KeychainService.EXTRA_MESSENGER, messenger); startActivityForResult(intent, 0); } @@ -651,8 +652,9 @@ public class ViewKeyActivity extends BaseNfcActivity implements ArrayList<ParcelableKeyRing> entries = new ArrayList<>(); entries.add(keyEntry); - // Message is received after importing is done in KeychainIntentService + // Message is received after importing is done in KeychainService ServiceProgressHandler serviceHandler = new ServiceProgressHandler(this) { + @Override public void handleMessage(Message message) { // handle messages by standard KeychainIntentServiceHandler first super.handleMessage(message); @@ -682,19 +684,19 @@ public class ViewKeyActivity extends BaseNfcActivity implements Preferences prefs = Preferences.getPreferences(this); Preferences.CloudSearchPrefs cloudPrefs = new Preferences.CloudSearchPrefs(true, true, prefs.getPreferredKeyserver()); - data.putString(KeychainIntentService.IMPORT_KEY_SERVER, cloudPrefs.keyserver); + data.putString(KeychainService.IMPORT_KEY_SERVER, cloudPrefs.keyserver); } - data.putParcelableArrayList(KeychainIntentService.IMPORT_KEY_LIST, entries); + data.putParcelableArrayList(KeychainService.IMPORT_KEY_LIST, entries); // Send all information needed to service to query keys in other thread - Intent intent = new Intent(this, KeychainIntentService.class); - intent.setAction(KeychainIntentService.ACTION_IMPORT_KEYRING); - intent.putExtra(KeychainIntentService.EXTRA_DATA, data); + Intent intent = new Intent(this, KeychainService.class); + intent.setAction(KeychainService.ACTION_IMPORT_KEYRING); + intent.putExtra(KeychainService.EXTRA_DATA, data); // Create a new Messenger for the communication back Messenger messenger = new Messenger(serviceHandler); - intent.putExtra(KeychainIntentService.EXTRA_MESSENGER, messenger); + intent.putExtra(KeychainService.EXTRA_MESSENGER, messenger); // show progress dialog serviceHandler.showProgressDialog(this); diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyAdvShareFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyAdvShareFragment.java index 479ddae0b..42abf35eb 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyAdvShareFragment.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyAdvShareFragment.java @@ -140,12 +140,17 @@ public class ViewKeyAdvShareFragment extends LoaderFragment implements } }); - mKeyNfcButton.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - mNfcHelper.invokeNfcBeam(); - } - }); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { + mKeyNfcButton.setVisibility(View.VISIBLE); + mKeyNfcButton.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + mNfcHelper.invokeNfcBeam(); + } + }); + } else { + mKeyNfcButton.setVisibility(View.GONE); + } mKeySafeSlingerButton.setOnClickListener(new View.OnClickListener() { @Override diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyTrustFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyTrustFragment.java index d5870d8c5..1f5c540ba 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyTrustFragment.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyTrustFragment.java @@ -49,9 +49,8 @@ import com.textuality.keybase.lib.User; import org.sufficientlysecure.keychain.Constants; import org.sufficientlysecure.keychain.R; import org.sufficientlysecure.keychain.provider.KeychainContract.KeyRings; -import org.sufficientlysecure.keychain.service.KeychainIntentService; +import org.sufficientlysecure.keychain.service.KeychainService; import org.sufficientlysecure.keychain.service.ServiceProgressHandler; -import org.sufficientlysecure.keychain.ui.dialog.ProgressDialogFragment; import org.sufficientlysecure.keychain.ui.util.KeyFormattingUtils; import org.sufficientlysecure.keychain.util.Log; @@ -350,13 +349,13 @@ public class ViewKeyTrustFragment extends LoaderFragment implements } private void verify(final Proof proof, final String fingerprint) { - Intent intent = new Intent(getActivity(), KeychainIntentService.class); + Intent intent = new Intent(getActivity(), KeychainService.class); Bundle data = new Bundle(); - intent.setAction(KeychainIntentService.ACTION_VERIFY_KEYBASE_PROOF); + intent.setAction(KeychainService.ACTION_VERIFY_KEYBASE_PROOF); - data.putString(KeychainIntentService.KEYBASE_PROOF, proof.toString()); - data.putString(KeychainIntentService.KEYBASE_REQUIRED_FINGERPRINT, fingerprint); - intent.putExtra(KeychainIntentService.EXTRA_DATA, data); + data.putString(KeychainService.KEYBASE_PROOF, proof.toString()); + data.putString(KeychainService.KEYBASE_REQUIRED_FINGERPRINT, fingerprint); + intent.putExtra(KeychainService.EXTRA_DATA, data); mProofVerifyDetail.setVisibility(View.GONE); @@ -365,8 +364,9 @@ public class ViewKeyTrustFragment extends LoaderFragment implements ServiceProgressHandler handler = new ServiceProgressHandler( getActivity(), getString(R.string.progress_verifying_signature), - ProgressDialog.STYLE_HORIZONTAL, - ProgressDialogFragment.ServiceType.KEYCHAIN_INTENT) { + ProgressDialog.STYLE_HORIZONTAL + ) { + @Override public void handleMessage(Message message) { // handle messages by standard KeychainIntentServiceHandler first super.handleMessage(message); @@ -451,7 +451,7 @@ public class ViewKeyTrustFragment extends LoaderFragment implements // Create a new Messenger for the communication back Messenger messenger = new Messenger(handler); - intent.putExtra(KeychainIntentService.EXTRA_MESSENGER, messenger); + intent.putExtra(KeychainService.EXTRA_MESSENGER, messenger); // show progress dialog handler.showProgressDialog(getActivity()); diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyYubiKeyFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyYubiKeyFragment.java index b02bb0b83..ab25341d3 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyYubiKeyFragment.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyYubiKeyFragment.java @@ -43,7 +43,7 @@ import org.sufficientlysecure.keychain.operations.results.DecryptVerifyResult; import org.sufficientlysecure.keychain.operations.results.PromoteKeyResult; import org.sufficientlysecure.keychain.pgp.CanonicalizedSecretKey.SecretKeyType; import org.sufficientlysecure.keychain.provider.KeychainContract.Keys; -import org.sufficientlysecure.keychain.service.KeychainIntentService; +import org.sufficientlysecure.keychain.service.KeychainService; import org.sufficientlysecure.keychain.service.ServiceProgressHandler; import org.sufficientlysecure.keychain.ui.util.KeyFormattingUtils; @@ -129,6 +129,7 @@ public class ViewKeyYubiKeyFragment extends Fragment public void promoteToSecretKey() { ServiceProgressHandler saveHandler = new ServiceProgressHandler(getActivity()) { + @Override public void handleMessage(Message message) { // handle messages by standard KeychainIntentServiceHandler first super.handleMessage(message); @@ -147,25 +148,25 @@ public class ViewKeyYubiKeyFragment extends Fragment }; // Send all information needed to service to decrypt in other thread - Intent intent = new Intent(getActivity(), KeychainIntentService.class); + Intent intent = new Intent(getActivity(), KeychainService.class); // fill values for this action - intent.setAction(KeychainIntentService.ACTION_PROMOTE_KEYRING); + intent.setAction(KeychainService.ACTION_PROMOTE_KEYRING); Bundle data = new Bundle(); - data.putLong(KeychainIntentService.PROMOTE_MASTER_KEY_ID, mMasterKeyId); - data.putByteArray(KeychainIntentService.PROMOTE_CARD_AID, mCardAid); + data.putLong(KeychainService.PROMOTE_MASTER_KEY_ID, mMasterKeyId); + data.putByteArray(KeychainService.PROMOTE_CARD_AID, mCardAid); long[] subKeyIds = new long[mFingerprints.length]; for (int i = 0; i < subKeyIds.length; i++) { subKeyIds[i] = KeyFormattingUtils.getKeyIdFromFingerprint(mFingerprints[i]); } - data.putLongArray(KeychainIntentService.PROMOTE_SUBKEY_IDS, subKeyIds); - intent.putExtra(KeychainIntentService.EXTRA_DATA, data); + data.putLongArray(KeychainService.PROMOTE_SUBKEY_IDS, subKeyIds); + intent.putExtra(KeychainService.EXTRA_DATA, data); // Create a new Messenger for the communication back Messenger messenger = new Messenger(saveHandler); - intent.putExtra(KeychainIntentService.EXTRA_MESSENGER, messenger); + intent.putExtra(KeychainService.EXTRA_MESSENGER, messenger); // start service with intent getActivity().startService(intent); diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/ImportKeysListCloudLoader.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/ImportKeysListCloudLoader.java index 4781864dd..af919f3b6 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/ImportKeysListCloudLoader.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/ImportKeysListCloudLoader.java @@ -109,7 +109,7 @@ public class ImportKeysListCloudLoader ImportKeysListEntry uniqueEntry = searchResult.get(0); /* * set fingerprint explicitly after query - * to enforce a check when the key is imported by KeychainIntentService + * to enforce a check when the key is imported by KeychainService */ uniqueEntry.setFingerprintHex(fingerprint); uniqueEntry.setSelected(true); diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/base/CryptoOperationFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/base/CryptoOperationFragment.java index 3b92f7208..7fc5eb1f4 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/base/CryptoOperationFragment.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/base/CryptoOperationFragment.java @@ -32,6 +32,7 @@ import org.sufficientlysecure.keychain.service.input.RequiredInputParcel; import org.sufficientlysecure.keychain.ui.NfcOperationActivity; import org.sufficientlysecure.keychain.ui.PassphraseDialogActivity; + /** * All fragments executing crypto operations need to extend this class. */ diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/dialog/DeleteKeyDialogFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/dialog/DeleteKeyDialogFragment.java index 581a96e52..58dce50a7 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/dialog/DeleteKeyDialogFragment.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/dialog/DeleteKeyDialogFragment.java @@ -36,7 +36,7 @@ import org.sufficientlysecure.keychain.R; import org.sufficientlysecure.keychain.pgp.KeyRing; import org.sufficientlysecure.keychain.provider.KeychainContract.KeyRings; import org.sufficientlysecure.keychain.provider.ProviderHelper; -import org.sufficientlysecure.keychain.service.KeychainIntentService; +import org.sufficientlysecure.keychain.service.KeychainService; import org.sufficientlysecure.keychain.service.ServiceProgressHandler; import org.sufficientlysecure.keychain.util.Log; @@ -130,17 +130,17 @@ public class DeleteKeyDialogFragment extends DialogFragment { public void onClick(DialogInterface dialog, int which) { // Send all information needed to service to import key in other thread - Intent intent = new Intent(getActivity(), KeychainIntentService.class); + Intent intent = new Intent(getActivity(), KeychainService.class); - intent.setAction(KeychainIntentService.ACTION_DELETE); + intent.setAction(KeychainService.ACTION_DELETE); - // Message is received after importing is done in KeychainIntentService + // Message is received after importing is done in KeychainService ServiceProgressHandler saveHandler = new ServiceProgressHandler( getActivity(), getString(R.string.progress_deleting), ProgressDialog.STYLE_HORIZONTAL, - true, - ProgressDialogFragment.ServiceType.KEYCHAIN_INTENT) { + true + ) { @Override public void handleMessage(Message message) { super.handleMessage(message); @@ -159,13 +159,13 @@ public class DeleteKeyDialogFragment extends DialogFragment { // fill values for this action Bundle data = new Bundle(); - data.putLongArray(KeychainIntentService.DELETE_KEY_LIST, masterKeyIds); - data.putBoolean(KeychainIntentService.DELETE_IS_SECRET, hasSecret); - intent.putExtra(KeychainIntentService.EXTRA_DATA, data); + data.putLongArray(KeychainService.DELETE_KEY_LIST, masterKeyIds); + data.putBoolean(KeychainService.DELETE_IS_SECRET, hasSecret); + intent.putExtra(KeychainService.EXTRA_DATA, data); // Create a new Messenger for the communication back Messenger messenger = new Messenger(saveHandler); - intent.putExtra(KeychainIntentService.EXTRA_MESSENGER, messenger); + intent.putExtra(KeychainService.EXTRA_MESSENGER, messenger); // show progress dialog saveHandler.showProgressDialog(getActivity()); diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/dialog/ProgressDialogFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/dialog/ProgressDialogFragment.java index af9d175ff..52a90b323 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/dialog/ProgressDialogFragment.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/dialog/ProgressDialogFragment.java @@ -25,6 +25,7 @@ import android.content.DialogInterface.OnKeyListener; import android.content.Intent; import android.graphics.Color; import android.os.Bundle; +import android.support.annotation.NonNull; import android.support.v4.app.DialogFragment; import android.view.ContextThemeWrapper; import android.view.KeyEvent; @@ -32,25 +33,18 @@ import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; -import org.sufficientlysecure.keychain.Constants; import org.sufficientlysecure.keychain.R; -import org.sufficientlysecure.keychain.service.CloudImportService; -import org.sufficientlysecure.keychain.service.KeychainIntentService; -import org.sufficientlysecure.keychain.util.Log; +import org.sufficientlysecure.keychain.service.KeychainService; +/** + * meant to be used + */ public class ProgressDialogFragment extends DialogFragment { private static final String ARG_MESSAGE = "message"; private static final String ARG_STYLE = "style"; private static final String ARG_CANCELABLE = "cancelable"; private static final String ARG_SERVICE_TYPE = "service_class"; - public static enum ServiceType { - KEYCHAIN_INTENT, - CLOUD_IMPORT - } - - ServiceType mServiceType; - boolean mCanCancel = false, mPreventCancel = false, mIsCancelled = false; /** @@ -58,41 +52,35 @@ public class ProgressDialogFragment extends DialogFragment { * @param message the message to be displayed initially above the progress bar * @param style the progress bar style, as defined in ProgressDialog (horizontal or spinner) * @param cancelable should we let the user cancel this operation - * @param serviceType which Service this progress dialog is meant for * @return */ - public static ProgressDialogFragment newInstance(String message, int style, boolean cancelable, - ServiceType serviceType) { + public static ProgressDialogFragment newInstance(String message, int style, boolean cancelable) { ProgressDialogFragment frag = new ProgressDialogFragment(); Bundle args = new Bundle(); args.putString(ARG_MESSAGE, message); args.putInt(ARG_STYLE, style); args.putBoolean(ARG_CANCELABLE, cancelable); - args.putSerializable(ARG_SERVICE_TYPE, serviceType); frag.setArguments(args); return frag; } - /** Updates progress of dialog */ public void setProgress(int messageId, int progress, int max) { setProgress(getString(messageId), progress, max); } - /** Updates progress of dialog */ public void setProgress(int progress, int max) { - if (mIsCancelled) { + ProgressDialog dialog = (ProgressDialog) getDialog(); + + if (mIsCancelled || dialog == null) { return; } - ProgressDialog dialog = (ProgressDialog) getDialog(); - dialog.setProgress(progress); dialog.setMax(max); } - /** Updates progress of dialog */ public void setProgress(String message, int progress, int max) { ProgressDialog dialog = (ProgressDialog) getDialog(); @@ -105,9 +93,7 @@ public class ProgressDialogFragment extends DialogFragment { dialog.setMax(max); } - /** - * Creates dialog - */ + @NonNull @Override public Dialog onCreateDialog(Bundle savedInstanceState) { final Activity activity = getActivity(); @@ -126,7 +112,6 @@ public class ProgressDialogFragment extends DialogFragment { String message = getArguments().getString(ARG_MESSAGE); int style = getArguments().getInt(ARG_STYLE); mCanCancel = getArguments().getBoolean(ARG_CANCELABLE); - mServiceType = (ServiceType) getArguments().getSerializable(ARG_SERVICE_TYPE); dialog.setMessage(message); dialog.setProgressStyle(style); @@ -165,7 +150,12 @@ public class ProgressDialogFragment extends DialogFragment { } mPreventCancel = preventCancel; - final Button negative = ((ProgressDialog) getDialog()).getButton(DialogInterface.BUTTON_NEGATIVE); + ProgressDialog dialog = (ProgressDialog) getDialog(); + if (dialog == null) { + return; + } + + final Button negative = dialog.getButton(DialogInterface.BUTTON_NEGATIVE); negative.setEnabled(mIsCancelled && !preventCancel); } @@ -188,30 +178,24 @@ public class ProgressDialogFragment extends DialogFragment { negative.setClickable(false); negative.setTextColor(Color.GRAY); + // send a cancel message. note that this message will be handled by + // KeychainService.onStartCommand, which runs in this thread, + // not the service one, and will not queue up a command. + Intent serviceIntent = new Intent(getActivity(), KeychainService.class); + + serviceIntent.setAction(KeychainService.ACTION_CANCEL); + getActivity().startService(serviceIntent); + // Set the progress bar accordingly ProgressDialog dialog = (ProgressDialog) getDialog(); + if (dialog == null) { + return; + } + dialog.setIndeterminate(true); dialog.setMessage(getString(R.string.progress_cancelling)); - // send a cancel message. note that this message will be handled by - // KeychainIntentService.onStartCommand, which runs in this thread, - // not the service one, and will not queue up a command. - Intent serviceIntent = null; - - switch (mServiceType) { - case CLOUD_IMPORT: - serviceIntent = new Intent(getActivity(), CloudImportService.class); - break; - case KEYCHAIN_INTENT: - serviceIntent = new Intent(getActivity(), KeychainIntentService.class); - break; - default: - //should never happen, unless we forget to include a ServiceType enum case - Log.e(Constants.TAG, "Unrecognized ServiceType at ProgressDialogFragment"); - } - serviceIntent.setAction(KeychainIntentService.ACTION_CANCEL); - getActivity().startService(serviceIntent); } }); |