diff options
Diffstat (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/base')
3 files changed, 25 insertions, 15 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/base/BaseActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/base/BaseActivity.java index fcf5dc11e..aa4e7d840 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/base/BaseActivity.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/base/BaseActivity.java @@ -30,6 +30,7 @@ import android.view.ViewGroup; import android.widget.TextView; import org.sufficientlysecure.keychain.R; +import org.sufficientlysecure.keychain.service.KeyserverSyncAdapterService; import org.sufficientlysecure.keychain.ui.util.ThemeChanger; /** @@ -51,6 +52,7 @@ public abstract class BaseActivity extends AppCompatActivity { @Override protected void onResume() { super.onResume(); + KeyserverSyncAdapterService.cancelUpdates(this); if (mThemeChanger.changeTheme()) { Intent intent = getIntent(); 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 52507f3e9..de90d48fd 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 @@ -18,9 +18,9 @@ package org.sufficientlysecure.keychain.ui.base; + import android.content.Context; import android.content.Intent; -import android.os.Bundle; import android.os.Parcelable; import android.support.annotation.Nullable; import android.support.v4.app.Fragment; @@ -50,17 +50,21 @@ import org.sufficientlysecure.keychain.service.input.CryptoInputParcel; * @see KeychainService * */ -abstract class CryptoOperationFragment<T extends Parcelable, S extends OperationResult> +public abstract class CryptoOperationFragment<T extends Parcelable, S extends OperationResult> extends Fragment implements CryptoOperationHelper.Callback<T, S> { final private CryptoOperationHelper<T, S> mOperationHelper; + public CryptoOperationFragment() { + mOperationHelper = new CryptoOperationHelper<>(1, this, this, R.string.progress_processing); + } + public CryptoOperationFragment(Integer initialProgressMsg) { mOperationHelper = new CryptoOperationHelper<>(1, this, this, initialProgressMsg); } - public CryptoOperationFragment() { - mOperationHelper = new CryptoOperationHelper<>(1, this, this, R.string.progress_processing); + public CryptoOperationFragment(int id, Integer initialProgressMsg) { + mOperationHelper = new CryptoOperationHelper<>(id, this, this, initialProgressMsg); } @Override 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 b33128978..52c6797d5 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 @@ -19,6 +19,8 @@ package org.sufficientlysecure.keychain.ui.base; +import java.util.Date; + import android.app.Activity; import android.app.ProgressDialog; import android.content.Intent; @@ -70,9 +72,11 @@ public class CryptoOperationHelper<T extends Parcelable, S extends OperationResu // particular helper. a request code looks as follows: // (id << 9) + (1<<8) + REQUEST_CODE_X // that is, starting from LSB, there are 8 bits request code, 1 - // fixed bit set, then 7 bit operator-id code. the first two - // summands are stored in the mId for easy operation. - private final int mId; + // fixed bit set, then 7 bit helper-id code. the first two + // summands are stored in the mHelperId for easy operation. + private final int mHelperId; + // bitmask for helperId is everything except the least 8 bits + public static final int HELPER_ID_BITMASK = ~0xff; public static final int REQUEST_CODE_PASSPHRASE = 1; public static final int REQUEST_CODE_NFC = 2; @@ -92,7 +96,7 @@ public class CryptoOperationHelper<T extends Parcelable, S extends OperationResu */ public CryptoOperationHelper(int id, FragmentActivity activity, Callback<T, S> callback, Integer progressMessageString) { - mId = (id << 9) + (1<<8); + mHelperId = (id << 9) + (1<<8); mActivity = activity; mUseFragment = false; mCallback = callback; @@ -103,7 +107,7 @@ public class CryptoOperationHelper<T extends Parcelable, S extends OperationResu * if OperationHelper is being integrated into a fragment */ public CryptoOperationHelper(int id, Fragment fragment, Callback<T, S> callback, Integer progressMessageString) { - mId = (id << 9) + (1<<8); + mHelperId = (id << 9) + (1<<8); mFragment = fragment; mUseFragment = true; mProgressMessageResource = progressMessageString; @@ -162,9 +166,9 @@ public class CryptoOperationHelper<T extends Parcelable, S extends OperationResu protected void startActivityForResult(Intent intent, int requestCode) { if (mUseFragment) { - mFragment.startActivityForResult(intent, mId + requestCode); + mFragment.startActivityForResult(intent, mHelperId + requestCode); } else { - mActivity.startActivityForResult(intent, mId + requestCode); + mActivity.startActivityForResult(intent, mHelperId + requestCode); } } @@ -176,13 +180,13 @@ public class CryptoOperationHelper<T extends Parcelable, S extends OperationResu public boolean handleActivityResult(int requestCode, int resultCode, Intent data) { Log.d(Constants.TAG, "received activity result in OperationHelper"); - if ((requestCode & mId) != mId) { + if ((requestCode & HELPER_ID_BITMASK) != mHelperId) { // this wasn't meant for us to handle return false; } Log.d(Constants.TAG, "handling activity result in OperationHelper"); - // filter out mId from requestCode - requestCode ^= mId; + // filter out mHelperId from requestCode + requestCode ^= mHelperId; if (resultCode == Activity.RESULT_CANCELED) { mCallback.onCryptoOperationCancelled(); @@ -313,7 +317,7 @@ public class CryptoOperationHelper<T extends Parcelable, S extends OperationResu } public void cryptoOperation() { - cryptoOperation(new CryptoInputParcel()); + cryptoOperation(new CryptoInputParcel(new Date())); } public void onHandleResult(OperationResult result) { |