ImportKeys: cleanup
This commit is contained in:
@@ -28,6 +28,7 @@ import android.os.Bundle;
|
|||||||
import android.os.Handler;
|
import android.os.Handler;
|
||||||
import android.support.annotation.NonNull;
|
import android.support.annotation.NonNull;
|
||||||
import android.support.v4.app.Fragment;
|
import android.support.v4.app.Fragment;
|
||||||
|
import android.support.v4.app.FragmentActivity;
|
||||||
import android.support.v4.app.LoaderManager;
|
import android.support.v4.app.LoaderManager;
|
||||||
import android.support.v4.content.ContextCompat;
|
import android.support.v4.content.ContextCompat;
|
||||||
import android.support.v4.content.Loader;
|
import android.support.v4.content.Loader;
|
||||||
@@ -71,7 +72,7 @@ public class ImportKeysListFragment extends Fragment implements
|
|||||||
|
|
||||||
private static final int REQUEST_PERMISSION_READ_EXTERNAL_STORAGE = 12;
|
private static final int REQUEST_PERMISSION_READ_EXTERNAL_STORAGE = 12;
|
||||||
|
|
||||||
private Activity mActivity;
|
private FragmentActivity mActivity;
|
||||||
private ParcelableProxy mParcelableProxy;
|
private ParcelableProxy mParcelableProxy;
|
||||||
|
|
||||||
private ProgressBar mProgressBar;
|
private ProgressBar mProgressBar;
|
||||||
@@ -224,8 +225,8 @@ public class ImportKeysListFragment extends Fragment implements
|
|||||||
|
|
||||||
mProgressBar = (ProgressBar) view.findViewById(R.id.progress_view);
|
mProgressBar = (ProgressBar) view.findViewById(R.id.progress_view);
|
||||||
mRecyclerView = (RecyclerView) view.findViewById(R.id.recycler_view);
|
mRecyclerView = (RecyclerView) view.findViewById(R.id.recycler_view);
|
||||||
RecyclerView.LayoutManager mLayoutManager = new LinearLayoutManager(mActivity);
|
RecyclerView.LayoutManager layoutManager = new LinearLayoutManager(mActivity);
|
||||||
mRecyclerView.setLayoutManager(mLayoutManager);
|
mRecyclerView.setLayoutManager(layoutManager);
|
||||||
|
|
||||||
// Create an empty adapter we will use to display the loaded data.
|
// Create an empty adapter we will use to display the loaded data.
|
||||||
mAdapter = new ImportKeysAdapter(mActivity, nonInteractive);
|
mAdapter = new ImportKeysAdapter(mActivity, nonInteractive);
|
||||||
@@ -237,18 +238,16 @@ public class ImportKeysListFragment extends Fragment implements
|
|||||||
Preferences.CloudSearchPrefs cloudSearchPrefs
|
Preferences.CloudSearchPrefs cloudSearchPrefs
|
||||||
= args.getParcelable(ARG_CLOUD_SEARCH_PREFS);
|
= args.getParcelable(ARG_CLOUD_SEARCH_PREFS);
|
||||||
if (cloudSearchPrefs == null) {
|
if (cloudSearchPrefs == null) {
|
||||||
cloudSearchPrefs = Preferences.getPreferences(getActivity()).getCloudSearchPrefs();
|
cloudSearchPrefs = Preferences.getPreferences(mActivity).getCloudSearchPrefs();
|
||||||
}
|
}
|
||||||
|
|
||||||
mLoaderState = new CloudLoaderState(query, cloudSearchPrefs);
|
mLoaderState = new CloudLoaderState(query, cloudSearchPrefs);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (dataUri != null && !checkAndRequestReadPermission(dataUri)) {
|
if (dataUri == null || checkAndRequestReadPermission(dataUri)) {
|
||||||
return view;
|
restartLoaders();
|
||||||
}
|
}
|
||||||
|
|
||||||
restartLoaders();
|
|
||||||
|
|
||||||
return view;
|
return view;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -270,7 +269,7 @@ public class ImportKeysListFragment extends Fragment implements
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ContextCompat.checkSelfPermission(getActivity(), Manifest.permission.READ_EXTERNAL_STORAGE)
|
if (ContextCompat.checkSelfPermission(mActivity, Manifest.permission.READ_EXTERNAL_STORAGE)
|
||||||
== PackageManager.PERMISSION_GRANTED) {
|
== PackageManager.PERMISSION_GRANTED) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -299,9 +298,9 @@ public class ImportKeysListFragment extends Fragment implements
|
|||||||
// permission granted -> load key
|
// permission granted -> load key
|
||||||
restartLoaders();
|
restartLoaders();
|
||||||
} else {
|
} else {
|
||||||
Toast.makeText(getActivity(), R.string.error_denied_storage_permission, Toast.LENGTH_LONG).show();
|
Toast.makeText(mActivity, R.string.error_denied_storage_permission, Toast.LENGTH_LONG).show();
|
||||||
getActivity().setResult(Activity.RESULT_CANCELED);
|
mActivity.setResult(Activity.RESULT_CANCELED);
|
||||||
getActivity().finish();
|
mActivity.finish();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -340,13 +339,17 @@ public class ImportKeysListFragment extends Fragment implements
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void setLoadingStatus(boolean ready) {
|
||||||
|
mRecyclerView.setVisibility(ready ? View.VISIBLE : View.GONE);
|
||||||
|
mProgressBar.setVisibility(ready ? View.GONE : View.VISIBLE);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Loader<AsyncTaskResultWrapper<ArrayList<ImportKeysListEntry>>> onCreateLoader(
|
public Loader<AsyncTaskResultWrapper<ArrayList<ImportKeysListEntry>>> onCreateLoader(
|
||||||
int id,
|
int id,
|
||||||
Bundle args
|
Bundle args
|
||||||
) {
|
) {
|
||||||
|
Loader<AsyncTaskResultWrapper<ArrayList<ImportKeysListEntry>>> loader = null;
|
||||||
Loader<AsyncTaskResultWrapper<ArrayList<ImportKeysListEntry>>> loader;
|
|
||||||
switch (id) {
|
switch (id) {
|
||||||
case LOADER_ID_BYTES: {
|
case LOADER_ID_BYTES: {
|
||||||
loader = new ImportKeysListLoader(mActivity, (BytesLoaderState) mLoaderState);
|
loader = new ImportKeysListLoader(mActivity, (BytesLoaderState) mLoaderState);
|
||||||
@@ -354,17 +357,14 @@ public class ImportKeysListFragment extends Fragment implements
|
|||||||
}
|
}
|
||||||
case LOADER_ID_CLOUD: {
|
case LOADER_ID_CLOUD: {
|
||||||
CloudLoaderState ls = (CloudLoaderState) mLoaderState;
|
CloudLoaderState ls = (CloudLoaderState) mLoaderState;
|
||||||
loader = new ImportKeysListCloudLoader(getActivity(), ls.mServerQuery,
|
loader = new ImportKeysListCloudLoader(mActivity, ls.mServerQuery,
|
||||||
ls.mCloudPrefs, mParcelableProxy);
|
ls.mCloudPrefs, mParcelableProxy);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
default:
|
|
||||||
loader = null;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (loader != null) {
|
if (loader != null) {
|
||||||
mRecyclerView.setVisibility(View.GONE);
|
setLoadingStatus(false);
|
||||||
mProgressBar.setVisibility(View.VISIBLE);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return loader;
|
return loader;
|
||||||
@@ -375,12 +375,9 @@ public class ImportKeysListFragment extends Fragment implements
|
|||||||
Loader<AsyncTaskResultWrapper<ArrayList<ImportKeysListEntry>>> loader,
|
Loader<AsyncTaskResultWrapper<ArrayList<ImportKeysListEntry>>> loader,
|
||||||
AsyncTaskResultWrapper<ArrayList<ImportKeysListEntry>> data
|
AsyncTaskResultWrapper<ArrayList<ImportKeysListEntry>> data
|
||||||
) {
|
) {
|
||||||
|
setLoadingStatus(true);
|
||||||
|
|
||||||
mAdapter.setData(data.getResult());
|
mAdapter.setData(data.getResult());
|
||||||
mAdapter.notifyDataSetChanged();
|
|
||||||
|
|
||||||
mRecyclerView.setVisibility(View.VISIBLE);
|
|
||||||
mProgressBar.setVisibility(View.GONE);
|
|
||||||
|
|
||||||
// free old cached key data
|
// free old cached key data
|
||||||
mCachedKeyData = null;
|
mCachedKeyData = null;
|
||||||
@@ -392,7 +389,7 @@ public class ImportKeysListFragment extends Fragment implements
|
|||||||
// No error
|
// No error
|
||||||
mCachedKeyData = ((ImportKeysListLoader) loader).getParcelableRings();
|
mCachedKeyData = ((ImportKeysListLoader) loader).getParcelableRings();
|
||||||
} else {
|
} else {
|
||||||
getKeyResult.createNotify(getActivity()).show();
|
getKeyResult.createNotify(mActivity).show();
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -433,8 +430,7 @@ public class ImportKeysListFragment extends Fragment implements
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
if (OrbotHelper.putOrbotInRequiredState(dialogActions,
|
if (OrbotHelper.putOrbotInRequiredState(dialogActions, mActivity)) {
|
||||||
getActivity())) {
|
|
||||||
// looks like we didn't have to show the
|
// looks like we didn't have to show the
|
||||||
// dialog after all
|
// dialog after all
|
||||||
mShowingOrbotDialog = false;
|
mShowingOrbotDialog = false;
|
||||||
@@ -446,7 +442,7 @@ public class ImportKeysListFragment extends Fragment implements
|
|||||||
mShowingOrbotDialog = true;
|
mShowingOrbotDialog = true;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
getKeyResult.createNotify(getActivity()).show();
|
getKeyResult.createNotify(mActivity).show();
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -459,11 +455,7 @@ public class ImportKeysListFragment extends Fragment implements
|
|||||||
public void onLoaderReset(Loader<AsyncTaskResultWrapper<ArrayList<ImportKeysListEntry>>> loader) {
|
public void onLoaderReset(Loader<AsyncTaskResultWrapper<ArrayList<ImportKeysListEntry>>> loader) {
|
||||||
switch (loader.getId()) {
|
switch (loader.getId()) {
|
||||||
case LOADER_ID_BYTES:
|
case LOADER_ID_BYTES:
|
||||||
// Clear the data in the adapter.
|
|
||||||
mAdapter.clearData();
|
|
||||||
break;
|
|
||||||
case LOADER_ID_CLOUD:
|
case LOADER_ID_CLOUD:
|
||||||
// Clear the data in the adapter.
|
|
||||||
mAdapter.clearData();
|
mAdapter.clearData();
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
|||||||
@@ -40,6 +40,7 @@ import org.sufficientlysecure.keychain.ui.util.KeyFormattingUtils;
|
|||||||
import org.sufficientlysecure.keychain.ui.util.KeyFormattingUtils.State;
|
import org.sufficientlysecure.keychain.ui.util.KeyFormattingUtils.State;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collections;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -79,6 +80,7 @@ public class ImportKeysAdapter extends RecyclerView.Adapter<ImportKeysAdapter.Vi
|
|||||||
|
|
||||||
public void setData(List<ImportKeysListEntry> data) {
|
public void setData(List<ImportKeysListEntry> data) {
|
||||||
this.mData = data;
|
this.mData = data;
|
||||||
|
notifyDataSetChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<ImportKeysListEntry> getData() {
|
public List<ImportKeysListEntry> getData() {
|
||||||
@@ -209,7 +211,7 @@ public class ImportKeysAdapter extends RecyclerView.Adapter<ImportKeysAdapter.Vi
|
|||||||
// we want conventional gpg UserIDs first, then Keybase ”proofs”
|
// we want conventional gpg UserIDs first, then Keybase ”proofs”
|
||||||
HashMap<String, HashSet<String>> mergedUserIds = entry.getMergedUserIds();
|
HashMap<String, HashSet<String>> mergedUserIds = entry.getMergedUserIds();
|
||||||
ArrayList<Map.Entry<String, HashSet<String>>> sortedIds = new ArrayList<Map.Entry<String, HashSet<String>>>(mergedUserIds.entrySet());
|
ArrayList<Map.Entry<String, HashSet<String>>> sortedIds = new ArrayList<Map.Entry<String, HashSet<String>>>(mergedUserIds.entrySet());
|
||||||
java.util.Collections.sort(sortedIds, new java.util.Comparator<Map.Entry<String, HashSet<String>>>() {
|
Collections.sort(sortedIds, new java.util.Comparator<Map.Entry<String, HashSet<String>>>() {
|
||||||
@Override
|
@Override
|
||||||
public int compare(Map.Entry<String, HashSet<String>> entry1, Map.Entry<String, HashSet<String>> entry2) {
|
public int compare(Map.Entry<String, HashSet<String>> entry1, Map.Entry<String, HashSet<String>> entry2) {
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user