diff options
Diffstat (limited to 'OpenKeychain/src/main')
24 files changed, 133 insertions, 76 deletions
diff --git a/OpenKeychain/src/main/AndroidManifest.xml b/OpenKeychain/src/main/AndroidManifest.xml index 68c2aefa8..83d8bce91 100644 --- a/OpenKeychain/src/main/AndroidManifest.xml +++ b/OpenKeychain/src/main/AndroidManifest.xml @@ -683,7 +683,7 @@              android:name=".ui.PassphraseDialogActivity"              android:theme="@android:style/Theme.NoDisplay" />          <activity -            android:name=".ui.UploadRetryDialogActivity" +            android:name=".ui.RetryUploadDialogActivity"              android:theme="@android:style/Theme.NoDisplay" />          <activity              android:name=".ui.DeleteKeyDialogActivity" diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/DeleteOperation.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/DeleteOperation.java index 63c613aa6..56bd3b786 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/DeleteOperation.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/DeleteOperation.java @@ -18,29 +18,20 @@  package org.sufficientlysecure.keychain.operations;  import android.content.Context; -import android.net.Uri;  import android.support.annotation.NonNull; -import org.sufficientlysecure.keychain.Constants;  import org.sufficientlysecure.keychain.operations.results.ConsolidateResult;  import org.sufficientlysecure.keychain.operations.results.DeleteResult; -import org.sufficientlysecure.keychain.operations.results.InputPendingResult;  import org.sufficientlysecure.keychain.operations.results.OperationResult;  import org.sufficientlysecure.keychain.operations.results.OperationResult.LogType;  import org.sufficientlysecure.keychain.operations.results.OperationResult.OperationLog;  import org.sufficientlysecure.keychain.pgp.Progressable; -import org.sufficientlysecure.keychain.pgp.exception.PgpKeyNotFoundException; -import org.sufficientlysecure.keychain.provider.CachedPublicKeyRing; -import org.sufficientlysecure.keychain.provider.KeychainContract;  import org.sufficientlysecure.keychain.provider.KeychainContract.KeyRingData;  import org.sufficientlysecure.keychain.provider.ProviderHelper;  import org.sufficientlysecure.keychain.service.ContactSyncAdapterService;  import org.sufficientlysecure.keychain.service.DeleteKeyringParcel; -import org.sufficientlysecure.keychain.service.SaveKeyringParcel;  import org.sufficientlysecure.keychain.service.input.CryptoInputParcel; -import org.sufficientlysecure.keychain.service.input.RequiredInputParcel;  import org.sufficientlysecure.keychain.ui.util.KeyFormattingUtils; -import org.sufficientlysecure.keychain.util.Log;  /** An operation which implements a high level keyring delete operation.   * diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/EditKeyOperation.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/EditKeyOperation.java index 8c1bbc0c2..44106bba8 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/EditKeyOperation.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/EditKeyOperation.java @@ -21,11 +21,9 @@ import android.content.Context;  import android.support.annotation.NonNull;  import org.sufficientlysecure.keychain.R; -import org.sufficientlysecure.keychain.keyimport.HkpKeyserver;  import org.sufficientlysecure.keychain.operations.results.EditKeyResult;  import org.sufficientlysecure.keychain.operations.results.ExportResult;  import org.sufficientlysecure.keychain.operations.results.InputPendingResult; -import org.sufficientlysecure.keychain.operations.results.OperationResult;  import org.sufficientlysecure.keychain.operations.results.OperationResult.LogType;  import org.sufficientlysecure.keychain.operations.results.OperationResult.OperationLog;  import org.sufficientlysecure.keychain.operations.results.PgpEditKeyResult; @@ -47,8 +45,9 @@ import org.sufficientlysecure.keychain.util.ProgressScaler;  import java.util.concurrent.atomic.AtomicBoolean; -/** An operation which implements a high level key edit operation. - * +/** + * An operation which implements a high level key edit operation. + * <p/>   * This operation provides a higher level interface to the edit and   * create key operations in PgpKeyOperation. It takes care of fetching   * and saving the key before and after the operation. @@ -67,7 +66,7 @@ public class EditKeyOperation extends BaseOperation<SaveKeyringParcel> {       * Saves an edited key, and uploads it to a server atomically or otherwise as       * specified in saveParcel       * -     * @param saveParcel primary input to the operation +     * @param saveParcel  primary input to the operation       * @param cryptoInput input that changes if user interaction is required       * @return the result of the operation       */ @@ -137,8 +136,8 @@ public class EditKeyOperation extends BaseOperation<SaveKeyringParcel> {              ExportKeyringParcel exportKeyringParcel =                      new ExportKeyringParcel(saveParcel.getUploadKeyserver(), ring);              ExportResult uploadResult = -                    new  ExportOperation(mContext, mProviderHelper, mProgressable) -                        .execute(exportKeyringParcel, cryptoInput); +                    new ExportOperation(mContext, mProviderHelper, mProgressable) +                            .execute(exportKeyringParcel, cryptoInput);              if (uploadResult.isPending()) {                  return uploadResult;              } else if (!uploadResult.success() && saveParcel.isUploadAtomic()) { diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/ExportOperation.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/ExportOperation.java index b8b2aebf5..a5b70a41f 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/ExportOperation.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/ExportOperation.java @@ -18,7 +18,6 @@  package org.sufficientlysecure.keychain.operations; -  import java.io.BufferedOutputStream;  import java.io.ByteArrayOutputStream;  import java.io.File; @@ -34,7 +33,6 @@ import android.content.Context;  import android.database.Cursor;  import android.net.Uri;  import android.support.annotation.NonNull; -import android.support.annotation.Nullable;  import android.text.TextUtils;  import org.spongycastle.bcpg.ArmoredOutputStream; @@ -43,7 +41,6 @@ import org.sufficientlysecure.keychain.R;  import org.sufficientlysecure.keychain.keyimport.HkpKeyserver;  import org.sufficientlysecure.keychain.keyimport.Keyserver.AddKeyException;  import org.sufficientlysecure.keychain.operations.results.ExportResult; -import org.sufficientlysecure.keychain.operations.results.InputPendingResult;  import org.sufficientlysecure.keychain.operations.results.OperationResult.LogType;  import org.sufficientlysecure.keychain.operations.results.OperationResult.OperationLog;  import org.sufficientlysecure.keychain.pgp.CanonicalizedKeyRing; diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/RevokeOperation.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/RevokeOperation.java index 0fc3f1bc3..ecf64e1af 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/RevokeOperation.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/RevokeOperation.java @@ -1,3 +1,22 @@ +/* + * Copyright (C) 2013-2015 Dominik Schürmann <dominik@dominikschuermann.de> + * Copyright (C) 2015 Vincent Breitmoser <v.breitmoser@mugenguild.com> + * Copyright (C) 2015 Adithya Abraham Philip <adithyaphilip@gmail.com> + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program.  If not, see <http://www.gnu.org/licenses/>. + */ +  package org.sufficientlysecure.keychain.operations;  import android.content.Context; @@ -6,7 +25,6 @@ import android.net.Uri;  import android.support.annotation.NonNull;  import org.sufficientlysecure.keychain.Constants; -import org.sufficientlysecure.keychain.operations.results.DeleteResult;  import org.sufficientlysecure.keychain.operations.results.InputPendingResult;  import org.sufficientlysecure.keychain.operations.results.OperationResult;  import org.sufficientlysecure.keychain.operations.results.RevokeResult; diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/results/DecryptVerifyResult.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/results/DecryptVerifyResult.java index 972fbb0aa..f9a738d56 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/results/DecryptVerifyResult.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/results/DecryptVerifyResult.java @@ -24,7 +24,6 @@ import org.openintents.openpgp.OpenPgpMetadata;  import org.openintents.openpgp.OpenPgpSignatureResult;  import org.sufficientlysecure.keychain.service.input.CryptoInputParcel;  import org.sufficientlysecure.keychain.service.input.RequiredInputParcel; -import org.sufficientlysecure.keychain.util.Passphrase;  public class DecryptVerifyResult extends InputPendingResult { diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/results/InputPendingResult.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/results/InputPendingResult.java index f055c450c..d767382ae 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/results/InputPendingResult.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/results/InputPendingResult.java @@ -18,8 +18,6 @@  package org.sufficientlysecure.keychain.operations.results; -import java.util.ArrayList; -  import android.os.Parcel;  import org.sufficientlysecure.keychain.service.input.CryptoInputParcel; diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/results/RevokeResult.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/results/RevokeResult.java index 160c030fd..b737f6e50 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/results/RevokeResult.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/results/RevokeResult.java @@ -1,3 +1,22 @@ +/* + * Copyright (C) 2013-2015 Dominik Schürmann <dominik@dominikschuermann.de> + * Copyright (C) 2015 Vincent Breitmoser <v.breitmoser@mugenguild.com> + * Copyright (C) 2015 Adithya Abraham Philip <adithyaphilip@gmail.com> + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program.  If not, see <http://www.gnu.org/licenses/>. + */ +  package org.sufficientlysecure.keychain.operations.results;  import android.app.Activity; @@ -24,9 +43,11 @@ public class RevokeResult extends InputPendingResult {      /**       * used when more input is required +     *       * @param log operation log upto point of required input, if any       * @param requiredInput represents input required       */ +    @SuppressWarnings("unused") // standard pattern across all results, we might need it later      public RevokeResult(@Nullable OperationLog log, RequiredInputParcel requiredInput,                          CryptoInputParcel cryptoInputParcel) {          super(log, requiredInput, cryptoInputParcel); diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/results/SignEncryptResult.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/results/SignEncryptResult.java index 39213b796..0e0c5d598 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/results/SignEncryptResult.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/results/SignEncryptResult.java @@ -19,11 +19,10 @@ package org.sufficientlysecure.keychain.operations.results;  import android.os.Parcel; -import java.util.ArrayList; -  import org.sufficientlysecure.keychain.service.input.CryptoInputParcel;  import org.sufficientlysecure.keychain.service.input.RequiredInputParcel; +import java.util.ArrayList;  public class SignEncryptResult extends InputPendingResult { diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpSignEncryptOperation.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpSignEncryptOperation.java index a878b4b29..8fb41a909 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpSignEncryptOperation.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpSignEncryptOperation.java @@ -43,7 +43,6 @@ import org.sufficientlysecure.keychain.operations.results.OperationResult.LogTyp  import org.sufficientlysecure.keychain.operations.results.OperationResult.OperationLog;  import org.sufficientlysecure.keychain.operations.results.PgpSignEncryptResult;  import org.sufficientlysecure.keychain.pgp.exception.PgpGeneralException; -import org.sufficientlysecure.keychain.pgp.exception.PgpKeyNotFoundException;  import org.sufficientlysecure.keychain.provider.KeychainContract.KeyRings;  import org.sufficientlysecure.keychain.provider.ProviderHelper;  import org.sufficientlysecure.keychain.service.input.CryptoInputParcel; diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/UncachedKeyRing.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/UncachedKeyRing.java index f4a8fa494..a7baddf8b 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/UncachedKeyRing.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/UncachedKeyRing.java @@ -18,8 +18,6 @@  package org.sufficientlysecure.keychain.pgp; -import android.os.Parcelable; -  import org.spongycastle.bcpg.ArmoredOutputStream;  import org.spongycastle.bcpg.PublicKeyAlgorithmTags;  import org.spongycastle.bcpg.SignatureSubpacketTags; diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/ExportKeyringParcel.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/ExportKeyringParcel.java index a8b901ab0..24c002bbd 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/ExportKeyringParcel.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/ExportKeyringParcel.java @@ -61,6 +61,7 @@ public class ExportKeyringParcel implements Parcelable {          mOutputFile = outputFile;      } +    @SuppressWarnings("unused") // TODO: is it used?      public ExportKeyringParcel(long[] masterKeyIds, boolean exportSecret, Uri outputUri) {          mExportType = ExportType.EXPORT_URI;          mMasterKeyIds = masterKeyIds; diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/RevokeKeyringParcel.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/RevokeKeyringParcel.java index b5da31c59..02e8fda46 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/RevokeKeyringParcel.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/RevokeKeyringParcel.java @@ -1,3 +1,22 @@ +/* + * Copyright (C) 2013-2015 Dominik Schürmann <dominik@dominikschuermann.de> + * Copyright (C) 2015 Vincent Breitmoser <v.breitmoser@mugenguild.com> + * Copyright (C) 2015 Adithya Abraham Philip <adithyaphilip@gmail.com> + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program.  If not, see <http://www.gnu.org/licenses/>. + */ +  package org.sufficientlysecure.keychain.service;  import android.os.Parcel; diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/SaveKeyringParcel.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/SaveKeyringParcel.java index fcb95493b..6959fca56 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/SaveKeyringParcel.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/SaveKeyringParcel.java @@ -242,6 +242,7 @@ public class SaveKeyringParcel implements Parcelable {          }      } +    @SuppressWarnings("unchecked") // we verify the reads against writes in writeToParcel      public SaveKeyringParcel(Parcel source) {          mMasterKeyId = source.readInt() != 0 ? source.readLong() : null;          mFingerprint = source.createByteArray(); diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/input/CryptoInputParcel.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/input/CryptoInputParcel.java index e553b9b0f..9ba9601e5 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/input/CryptoInputParcel.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/input/CryptoInputParcel.java @@ -20,7 +20,6 @@ package org.sufficientlysecure.keychain.service.input;  import android.os.Parcel;  import android.os.Parcelable; -import org.sufficientlysecure.keychain.operations.results.OperationResult;  import org.sufficientlysecure.keychain.util.ParcelableProxy;  import org.sufficientlysecure.keychain.util.Passphrase; diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/input/RequiredInputParcel.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/input/RequiredInputParcel.java index 8c9d54769..e4dac3227 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/input/RequiredInputParcel.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/input/RequiredInputParcel.java @@ -3,7 +3,6 @@ package org.sufficientlysecure.keychain.service.input;  import android.os.Parcel;  import android.os.Parcelable; -import org.spongycastle.util.Arrays;  import org.sufficientlysecure.keychain.util.Passphrase;  import java.nio.ByteBuffer; diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/DeleteKeyDialogActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/DeleteKeyDialogActivity.java index 98d3cf7b0..bf91d3064 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/DeleteKeyDialogActivity.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/DeleteKeyDialogActivity.java @@ -1,3 +1,22 @@ +/* + * Copyright (C) 2013-2015 Dominik Schürmann <dominik@dominikschuermann.de> + * Copyright (C) 2015 Vincent Breitmoser <v.breitmoser@mugenguild.com> + * Copyright (C) 2015 Adithya Abraham Philip <adithyaphilip@gmail.com> + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program.  If not, see <http://www.gnu.org/licenses/>. + */ +  package org.sufficientlysecure.keychain.ui;  import android.app.Activity; @@ -6,12 +25,7 @@ import android.app.Dialog;  import android.content.DialogInterface;  import android.content.Intent;  import android.os.Bundle; -import android.os.Handler; -import android.os.Message; -import android.os.Messenger; -import android.os.RemoteException;  import android.support.annotation.NonNull; -import android.support.annotation.Nullable;  import android.support.v4.app.DialogFragment;  import android.support.v4.app.FragmentActivity;  import android.view.ContextThemeWrapper; @@ -47,7 +61,6 @@ public class DeleteKeyDialogActivity extends FragmentActivity {      private CryptoOperationHelper<RevokeKeyringParcel, RevokeResult> mRevokeOpHelper;      private long[] mMasterKeyIds; -    private boolean mHasSecret;      @Override      protected void onCreate(Bundle savedInstanceState) { @@ -60,14 +73,14 @@ public class DeleteKeyDialogActivity extends FragmentActivity {                  getRevocationCallback(), R.string.progress_revoking_uploading);          mMasterKeyIds = getIntent().getLongArrayExtra(EXTRA_DELETE_MASTER_KEY_IDS); -        mHasSecret = getIntent().getBooleanExtra(EXTRA_HAS_SECRET, false); +        boolean hasSecret = getIntent().getBooleanExtra(EXTRA_HAS_SECRET, false); -        if (mMasterKeyIds.length > 1 && mHasSecret) { +        if (mMasterKeyIds.length > 1 && hasSecret) {              throw new AssertionError("Secret keys can be deleted only one at a time!" +                      " Should be checked before reaching DeleteKeyDialogActivity.");          } -        if (mMasterKeyIds.length == 1 && mHasSecret) { +        if (mMasterKeyIds.length == 1 && hasSecret) {              // if mMasterKeyIds.length == 0 we let the DeleteOperation respond              try {                  HashMap<String, Object> data = new ProviderHelper(this).getUnifiedData( @@ -89,7 +102,6 @@ public class DeleteKeyDialogActivity extends FragmentActivity {                          "Secret key to delete not found at DeleteKeyDialogActivity for "                                  + mMasterKeyIds[0], e);                  finish(); -                return;              }          } else {              showNormalDeleteDialog(); @@ -121,8 +133,7 @@ public class DeleteKeyDialogActivity extends FragmentActivity {      private CryptoOperationHelper.Callback<RevokeKeyringParcel, RevokeResult> getRevocationCallback() { -        CryptoOperationHelper.Callback<RevokeKeyringParcel, RevokeResult> callback -                = new CryptoOperationHelper.Callback<RevokeKeyringParcel, RevokeResult>() { +        return new CryptoOperationHelper.Callback<RevokeKeyringParcel, RevokeResult>() {              @Override              public RevokeKeyringParcel createOperationInput() {                  return new RevokeKeyringParcel(mMasterKeyIds[0], true, @@ -150,14 +161,11 @@ public class DeleteKeyDialogActivity extends FragmentActivity {                  return false;              }          }; - -        return callback;      }      private CryptoOperationHelper.Callback<DeleteKeyringParcel, DeleteResult> getDeletionCallback() { -        CryptoOperationHelper.Callback<DeleteKeyringParcel, DeleteResult> callback -                = new CryptoOperationHelper.Callback<DeleteKeyringParcel, DeleteResult>() { +        return new CryptoOperationHelper.Callback<DeleteKeyringParcel, DeleteResult>() {              @Override              public DeleteKeyringParcel createOperationInput() {                  return new DeleteKeyringParcel(mMasterKeyIds, true); @@ -184,8 +192,6 @@ public class DeleteKeyDialogActivity extends FragmentActivity {                  return false;              }          }; - -        return callback;      }      private void returnResult(OperationResult result) { @@ -305,10 +311,10 @@ public class DeleteKeyDialogActivity extends FragmentActivity {      public static class RevokeDeleteDialogFragment extends DialogFragment {          public static RevokeDeleteDialogFragment newInstance() { -            RevokeDeleteDialogFragment frag = new RevokeDeleteDialogFragment(); -            return frag; +            return new RevokeDeleteDialogFragment();          } +        @NonNull          @Override          public Dialog onCreateDialog(Bundle savedInstanceState) {              final Activity activity = 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 f750c6d97..4e9c5a836 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EditKeyFragment.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EditKeyFragment.java @@ -410,7 +410,6 @@ public class EditKeyFragment extends QueueingCryptoOperationFragment<SaveKeyring                          editSubkeyExpiry(position);                          break;                      case EditSubkeyDialogFragment.MESSAGE_REVOKE: -                        Log.e("PHILIP", "rev subkey " + keyId + " from " + mSaveKeyringParcel.mMasterKeyId);                          // toggle                          if (mSaveKeyringParcel.mRevokeSubKeys.contains(keyId)) {                              mSaveKeyringParcel.mRevokeSubKeys.remove(keyId); 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 b89b9d6ee..a42dfef23 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/KeyListFragment.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/KeyListFragment.java @@ -33,9 +33,6 @@ import android.graphics.Color;  import android.net.Uri;  import android.os.Build;  import android.os.Bundle; -import android.os.Handler; -import android.os.Message; -import android.os.Messenger;  import android.support.v4.app.LoaderManager;  import android.support.v4.content.CursorLoader;  import android.support.v4.content.Loader; @@ -60,7 +57,6 @@ import org.sufficientlysecure.keychain.Constants;  import org.sufficientlysecure.keychain.R;  import org.sufficientlysecure.keychain.keyimport.ParcelableKeyRing;  import org.sufficientlysecure.keychain.operations.results.ConsolidateResult; -import org.sufficientlysecure.keychain.operations.results.DeleteResult;  import org.sufficientlysecure.keychain.operations.results.ImportKeyResult;  import org.sufficientlysecure.keychain.operations.results.OperationResult;  import org.sufficientlysecure.keychain.provider.KeychainContract; @@ -69,7 +65,6 @@ import org.sufficientlysecure.keychain.provider.KeychainDatabase;  import org.sufficientlysecure.keychain.provider.ProviderHelper;  import org.sufficientlysecure.keychain.service.ConsolidateInputParcel;  import org.sufficientlysecure.keychain.service.ImportKeyringParcel; -import org.sufficientlysecure.keychain.service.ServiceProgressHandler;  import org.sufficientlysecure.keychain.ui.adapter.KeyAdapter;  import org.sufficientlysecure.keychain.ui.base.CryptoOperationHelper;  import org.sufficientlysecure.keychain.ui.util.KeyFormattingUtils; @@ -222,7 +217,7 @@ public class KeyListFragment extends LoaderFragment                      }                      case R.id.menu_key_list_multi_delete: {                          ids = mAdapter.getCurrentSelectedMasterKeyIds(); -                        showDeleteKeyDialog(mode, ids, mAdapter.isAnySecretSelected()); +                        showDeleteKeyDialog(ids, mAdapter.isAnySecretSelected());                          break;                      }                  } @@ -356,7 +351,7 @@ public class KeyListFragment extends LoaderFragment       *       * @param hasSecret must contain whether the list of masterKeyIds contains a secret key or not       */ -    public void showDeleteKeyDialog(final ActionMode mode, long[] masterKeyIds, boolean hasSecret) { +    public void showDeleteKeyDialog(long[] masterKeyIds, boolean hasSecret) {          // Can only work on singular secret keys          if (hasSecret && masterKeyIds.length > 1) {              Notify.create(getActivity(), R.string.secret_cannot_multiple, diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/UploadRetryDialogActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/RetryUploadDialogActivity.java index 8575d5035..85f2096db 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/UploadRetryDialogActivity.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/RetryUploadDialogActivity.java @@ -1,3 +1,22 @@ +/* + * Copyright (C) 2013-2015 Dominik Schürmann <dominik@dominikschuermann.de> + * Copyright (C) 2015 Vincent Breitmoser <v.breitmoser@mugenguild.com> + * Copyright (C) 2015 Adithya Abraham Philip <adithyaphilip@gmail.com> + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program.  If not, see <http://www.gnu.org/licenses/>. + */ +  package org.sufficientlysecure.keychain.ui;  import android.app.Dialog; @@ -12,7 +31,7 @@ import android.view.ContextThemeWrapper;  import org.sufficientlysecure.keychain.R;  import org.sufficientlysecure.keychain.ui.dialog.CustomAlertDialogBuilder; -public class UploadRetryDialogActivity extends FragmentActivity { +public class RetryUploadDialogActivity extends FragmentActivity {      public static final String EXTRA_CRYPTO_INPUT = "extra_crypto_input"; @@ -42,7 +61,8 @@ public class UploadRetryDialogActivity extends FragmentActivity {              dialogBuilder.setTitle(R.string.retry_up_dialog_title);              dialogBuilder.setMessage(R.string.retry_up_dialog_message); -            dialogBuilder.setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() { +            dialogBuilder.setNegativeButton(R.string.retry_up_dialog_btn_cancel, +                    new DialogInterface.OnClickListener() {                  @Override                  public void onClick(DialogInterface dialog, int which) {                      getActivity().setResult(RESULT_CANCELED); 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 08ef38746..938dbc9f2 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyActivity.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyActivity.java @@ -31,8 +31,6 @@ import android.os.AsyncTask;  import android.os.Build;  import android.os.Bundle;  import android.os.Handler; -import android.os.Message; -import android.os.Messenger;  import android.provider.ContactsContract;  import android.support.v4.app.ActivityCompat;  import android.support.v4.app.FragmentManager; @@ -52,7 +50,9 @@ import android.widget.ImageView;  import android.widget.RelativeLayout;  import android.widget.TextView;  import android.widget.Toast; +  import com.getbase.floatingactionbutton.FloatingActionButton; +  import org.sufficientlysecure.keychain.Constants;  import org.sufficientlysecure.keychain.R;  import org.sufficientlysecure.keychain.keyimport.ParcelableKeyRing; @@ -65,7 +65,6 @@ import org.sufficientlysecure.keychain.provider.KeychainContract;  import org.sufficientlysecure.keychain.provider.KeychainContract.KeyRings;  import org.sufficientlysecure.keychain.provider.ProviderHelper;  import org.sufficientlysecure.keychain.service.ImportKeyringParcel; -import org.sufficientlysecure.keychain.service.ServiceProgressHandler.MessageStatus;  import org.sufficientlysecure.keychain.ui.base.BaseNfcActivity;  import org.sufficientlysecure.keychain.ui.base.CryptoOperationHelper;  import org.sufficientlysecure.keychain.ui.util.FormattingUtils; 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 4b779e75c..e77c92923 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 @@ -49,12 +49,13 @@ public class ImportKeysListCloudLoader      private AsyncTaskResultWrapper<ArrayList<ImportKeysListEntry>> mEntryListWrapper;      /** -     * Pass a parcelableProxy to specify an explicit proxy, otherwise will fetch from preferences +     * Searches a keyserver as specified in cloudPrefs, using an explicit proxy if passed       * -     * @param context -     * @param serverQuery -     * @param cloudPrefs -     * @param parcelableProxy +     * @param serverQuery     string to search on servers for. If is a fingerprint, +     *                        will enforce fingerprint check +     * @param cloudPrefs      contains keyserver to search on, whether to search on the keyserver, +     *                        and whether to search keybase.io +     * @param parcelableProxy explicit proxy to use. If null, will retrieve from preferences       */      public ImportKeysListCloudLoader(Context context, String serverQuery, Preferences.CloudSearchPrefs cloudPrefs,                                       @Nullable ParcelableProxy parcelableProxy) { diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/base/CryptoOperationHelper.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/base/CryptoOperationHelper.java index b6e294579..932b6c007 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/base/CryptoOperationHelper.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/base/CryptoOperationHelper.java @@ -40,7 +40,7 @@ import org.sufficientlysecure.keychain.service.input.RequiredInputParcel;  import org.sufficientlysecure.keychain.ui.NfcOperationActivity;  import org.sufficientlysecure.keychain.ui.OrbotRequiredDialogActivity;  import org.sufficientlysecure.keychain.ui.PassphraseDialogActivity; -import org.sufficientlysecure.keychain.ui.UploadRetryDialogActivity; +import org.sufficientlysecure.keychain.ui.RetryUploadDialogActivity;  import org.sufficientlysecure.keychain.ui.dialog.ProgressDialogFragment;  import org.sufficientlysecure.keychain.util.Log; @@ -148,8 +148,8 @@ public class CryptoOperationHelper<T extends Parcelable, S extends OperationResu              }              case UPLOAD_FAIL_RETRY: { -                Intent intent = new Intent(activity, UploadRetryDialogActivity.class); -                intent.putExtra(UploadRetryDialogActivity.EXTRA_CRYPTO_INPUT, cryptoInputParcel); +                Intent intent = new Intent(activity, RetryUploadDialogActivity.class); +                intent.putExtra(RetryUploadDialogActivity.EXTRA_CRYPTO_INPUT, cryptoInputParcel);                  startActivityForResult(intent, REQUEST_CODE_RETRY_UPLOAD);                  return;              } @@ -222,7 +222,7 @@ public class CryptoOperationHelper<T extends Parcelable, S extends OperationResu                  if (resultCode == Activity.RESULT_OK) {                      CryptoInputParcel cryptoInput =                              data.getParcelableExtra( -                                    UploadRetryDialogActivity.RESULT_CRYPTO_INPUT); +                                    RetryUploadDialogActivity.RESULT_CRYPTO_INPUT);                      cryptoOperation(cryptoInput);                  }                  break; diff --git a/OpenKeychain/src/main/res/layout/del_rev_dialog.xml b/OpenKeychain/src/main/res/layout/del_rev_dialog.xml index ea469e339..053f98627 100644 --- a/OpenKeychain/src/main/res/layout/del_rev_dialog.xml +++ b/OpenKeychain/src/main/res/layout/del_rev_dialog.xml @@ -19,7 +19,6 @@          android:layout_width="fill_parent"          android:layout_height="wrap_content"          android:drawSelectorOnTop="true" -        android:entries="@array/rev_del_dialog_entries" -        android:textAppearance="?android:textAppearanceLarge"/> +        android:entries="@array/rev_del_dialog_entries"/> -</LinearLayout>
\ No newline at end of file +</LinearLayout>  | 
