diff options
Diffstat (limited to 'OpenKeychain')
5 files changed, 27 insertions, 11 deletions
| diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpImportExport.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpImportExport.java index fd37112a5..94ff4a1ba 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpImportExport.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpImportExport.java @@ -139,10 +139,10 @@ public class PgpImportExport {          // If there aren't even any keys, do nothing here.          if (entries == null || !entries.hasNext()) {              return new ImportKeyResult( -                    ImportKeyResult.RESULT_FAIL_NOTHING, mProviderHelper.getLog(), 0, 0, 0); +                    ImportKeyResult.RESULT_FAIL_NOTHING, mProviderHelper.getLog(), 0, 0, 0, 0);          } -        int newKeys = 0, oldKeys = 0, badKeys = 0; +        int newKeys = 0, oldKeys = 0, badKeys = 0, secret = 0;          int position = 0;          double progSteps = 100.0 / num; @@ -177,6 +177,9 @@ public class PgpImportExport {                      oldKeys += 1;                  } else {                      newKeys += 1; +                    if (key.isSecret()) { +                        secret += 1; +                    }                  }              } catch (IOException e) { @@ -213,7 +216,7 @@ public class PgpImportExport {              }          } -        return new ImportKeyResult(resultType, log, newKeys, oldKeys, badKeys); +        return new ImportKeyResult(resultType, log, newKeys, oldKeys, badKeys, secret);      } diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/provider/ProviderHelper.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/provider/ProviderHelper.java index 8fd4bc7cf..6447a180c 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/provider/ProviderHelper.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/provider/ProviderHelper.java @@ -832,6 +832,8 @@ public class ProviderHelper {          log(LogLevel.START, LogType.MSG_CON);          mIndent += 1; +        progress.setProgress(R.string.progress_con_saving, 0, 100); +          try {              log(LogLevel.DEBUG, LogType.MSG_CON_SAVE_SECRET); @@ -891,6 +893,8 @@ public class ProviderHelper {              mIndent -= 1;          } +        progress.setProgress(R.string.progress_con_saving, 3, 100); +          // 1b. fetch all public keyrings into a cache file          try { @@ -998,11 +1002,6 @@ public class ProviderHelper {              log(LogLevel.DEBUG, LogType.MSG_CON_DB_CLEAR);              mContentResolver.delete(KeyRings.buildUnifiedKeyRingsUri(), null, null); -            // debug: break if this isn't recovery -            if (!recovery) { -                return new ConsolidateResult(ConsolidateResult.RESULT_ERROR, mLog); -            } -              FileImportCache<ParcelableKeyRing> cacheSecret =                      new FileImportCache<ParcelableKeyRing>(mContext, "consolidate_secret.pcl");              FileImportCache<ParcelableKeyRing> cachePublic = diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/OperationResults.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/OperationResults.java index 878f6ca47..c59a7d172 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/OperationResults.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/OperationResults.java @@ -40,7 +40,7 @@ public abstract class OperationResults {      public static class ImportKeyResult extends OperationResultParcel { -        public final int mNewKeys, mUpdatedKeys, mBadKeys; +        public final int mNewKeys, mUpdatedKeys, mBadKeys, mSecret;          // At least one new key          public static final int RESULT_OK_NEWKEYS = 2; @@ -76,14 +76,16 @@ public abstract class OperationResults {              mNewKeys = source.readInt();              mUpdatedKeys = source.readInt();              mBadKeys = source.readInt(); +            mSecret = source.readInt();          }          public ImportKeyResult(int result, OperationLog log, -                               int newKeys, int updatedKeys, int badKeys) { +                               int newKeys, int updatedKeys, int badKeys, int secret) {              super(result, log);              mNewKeys = newKeys;              mUpdatedKeys = updatedKeys;              mBadKeys = badKeys; +            mSecret = secret;          }          @Override @@ -92,6 +94,7 @@ public abstract class OperationResults {              dest.writeInt(mNewKeys);              dest.writeInt(mUpdatedKeys);              dest.writeInt(mBadKeys); +            dest.writeInt(mSecret);          }          public static Creator<ImportKeyResult> CREATOR = new Creator<ImportKeyResult>() { 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 d1109631a..6a4039e98 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/KeyListFragment.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/KeyListFragment.java @@ -79,6 +79,9 @@ public class KeyListFragment extends LoaderFragment      private KeyListAdapter mAdapter;      private StickyListHeadersListView mStickyList; +    // saves the mode object for multiselect, needed for reset at some point +    private ActionMode mActionMode = null; +      private String mQuery;      private SearchView mSearchView;      // empty list layout @@ -146,6 +149,7 @@ public class KeyListFragment extends LoaderFragment                  public boolean onCreateActionMode(ActionMode mode, Menu menu) {                      android.view.MenuInflater inflater = getActivity().getMenuInflater();                      inflater.inflate(R.menu.key_list_multi, menu); +                    mActionMode = mode;                      return true;                  } @@ -191,6 +195,7 @@ public class KeyListFragment extends LoaderFragment                  @Override                  public void onDestroyActionMode(ActionMode mode) { +                    mActionMode = null;                      mAdapter.clearSelection();                  } @@ -286,6 +291,11 @@ public class KeyListFragment extends LoaderFragment          // this view is made visible if no data is available          mStickyList.setEmptyView(getActivity().findViewById(R.id.key_list_empty)); +        // end action mode, if any +        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB && mActionMode != null) { +            mActionMode.finish(); +        } +          // The list should now be shown.          if (isResumed()) {              setContentShown(true); diff --git a/OpenKeychain/src/main/res/values/strings.xml b/OpenKeychain/src/main/res/values/strings.xml index 71f4504d7..c4697cac3 100644 --- a/OpenKeychain/src/main/res/values/strings.xml +++ b/OpenKeychain/src/main/res/values/strings.xml @@ -302,7 +302,8 @@      <string name="progress_verifying_integrity">verifying integrity…</string>      <string name="progress_deleting_securely">deleting \'%s\' securely…</string> -    <string name="progress_con_reimport">reimporting database…</string> +    <string name="progress_con_saving">consolidate: saving to cache…</string> +    <string name="progress_con_reimport">consolidate: reimporting…</string>      <!-- action strings -->      <string name="hint_keyserver_search_hint">Name/Email/Key ID…</string> | 
