ImportKeys: Set "Basic" mode as default for import from file

- For import from keyserver only "Advanced" mode is available because it makes no sense to import all the keys from a search result
This commit is contained in:
Andrea Torlaschi
2016-08-17 12:19:33 +02:00
parent f9316c1708
commit 0870b7b260
4 changed files with 27 additions and 6 deletions

View File

@@ -12,4 +12,9 @@ public class BytesLoaderState implements LoaderState {
mDataUri = dataUri;
}
@Override
public boolean isBasicModeSupported() {
return true;
}
}

View File

@@ -12,4 +12,9 @@ public class CloudLoaderState implements LoaderState {
mCloudPrefs = cloudPrefs;
}
@Override
public boolean isBasicModeSupported() {
return false;
}
}

View File

@@ -1,4 +1,7 @@
package org.sufficientlysecure.keychain.keyimport.processing;
public interface LoaderState {
boolean isBasicModeSupported();
}

View File

@@ -212,15 +212,14 @@ public class ImportKeysListFragment extends Fragment implements
mRecyclerView.setAdapter(mAdapter);
if (dataUri != null || bytes != null) {
mLoaderState = new BytesLoaderState(bytes, dataUri);
loadState(new BytesLoaderState(bytes, dataUri));
} else if (query != null) {
CloudSearchPrefs cloudSearchPrefs
= args.getParcelable(ARG_CLOUD_SEARCH_PREFS);
if (cloudSearchPrefs == null) {
cloudSearchPrefs = Preferences.getPreferences(mActivity).getCloudSearchPrefs();
}
mLoaderState = new CloudLoaderState(query, cloudSearchPrefs);
loadState(new CloudLoaderState(query, cloudSearchPrefs));
}
if (dataUri == null || PermissionsUtil.checkAndRequestReadPermission(mActivity, dataUri)) {
@@ -254,10 +253,14 @@ public class ImportKeysListFragment extends Fragment implements
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.import_keys_list_fragment, menu);
if (mLoaderState != null) {
inflater.inflate(R.menu.import_keys_list_fragment, menu);
menu.findItem(R.id.basic).setVisible(mAdvanced);
menu.findItem(R.id.advanced).setVisible(!mAdvanced);
MenuItem basicMenuItem = menu.findItem(R.id.basic);
basicMenuItem.setVisible(mAdvanced && mLoaderState.isBasicModeSupported());
MenuItem advancedMenuItem = menu.findItem(R.id.advanced);
advancedMenuItem.setVisible(!mAdvanced);
}
super.onCreateOptionsMenu(menu, inflater);
}
@@ -315,6 +318,11 @@ public class ImportKeysListFragment extends Fragment implements
}
if (!mLoaderState.isBasicModeSupported()) {
mAdvanced = true;
}
setAdvanced(mAdvanced);
restartLoaders();
}