ImportKeys: Refactoring
This commit is contained in:
@@ -36,8 +36,8 @@ import android.view.Menu;
|
|||||||
import android.view.MenuInflater;
|
import android.view.MenuInflater;
|
||||||
import android.view.MenuItem;
|
import android.view.MenuItem;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
|
import android.view.View.OnClickListener;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
import android.widget.TextView;
|
|
||||||
|
|
||||||
import org.sufficientlysecure.keychain.Constants;
|
import org.sufficientlysecure.keychain.Constants;
|
||||||
import org.sufficientlysecure.keychain.R;
|
import org.sufficientlysecure.keychain.R;
|
||||||
@@ -196,6 +196,7 @@ public class ImportKeysListFragment extends Fragment implements
|
|||||||
View view = binding.getRoot();
|
View view = binding.getRoot();
|
||||||
|
|
||||||
mActivity = getActivity();
|
mActivity = getActivity();
|
||||||
|
setHasOptionsMenu(true);
|
||||||
|
|
||||||
Bundle args = getArguments();
|
Bundle args = getArguments();
|
||||||
Uri dataUri = args.getParcelable(ARG_DATA_URI);
|
Uri dataUri = args.getParcelable(ARG_DATA_URI);
|
||||||
@@ -203,13 +204,10 @@ public class ImportKeysListFragment extends Fragment implements
|
|||||||
String query = args.getString(ARG_SERVER_QUERY);
|
String query = args.getString(ARG_SERVER_QUERY);
|
||||||
boolean nonInteractive = args.getBoolean(ARG_NON_INTERACTIVE, false);
|
boolean nonInteractive = args.getBoolean(ARG_NON_INTERACTIVE, false);
|
||||||
|
|
||||||
mRecyclerView = (RecyclerView) view.findViewById(R.id.recycler_view);
|
|
||||||
RecyclerView.LayoutManager layoutManager = new LinearLayoutManager(mActivity);
|
|
||||||
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, mCallback, nonInteractive);
|
mAdapter = new ImportKeysAdapter(mActivity, mCallback, nonInteractive);
|
||||||
mRecyclerView.setAdapter(mAdapter);
|
binding.recyclerView.setAdapter(mAdapter);
|
||||||
|
binding.recyclerView.setLayoutManager(new LinearLayoutManager(mActivity));
|
||||||
|
|
||||||
if (dataUri != null || bytes != null) {
|
if (dataUri != null || bytes != null) {
|
||||||
loadState(new BytesLoaderState(bytes, dataUri));
|
loadState(new BytesLoaderState(bytes, dataUri));
|
||||||
@@ -226,10 +224,7 @@ public class ImportKeysListFragment extends Fragment implements
|
|||||||
restartLoaders();
|
restartLoaders();
|
||||||
}
|
}
|
||||||
|
|
||||||
setHasOptionsMenu(true);
|
binding.importKeys.setOnClickListener(new OnClickListener() {
|
||||||
|
|
||||||
TextView importAllKeys = (TextView) view.findViewById(R.id.import_keys);
|
|
||||||
importAllKeys.setOnClickListener(new View.OnClickListener() {
|
|
||||||
@Override
|
@Override
|
||||||
public void onClick(View view) {
|
public void onClick(View view) {
|
||||||
mCallback.importKeys();
|
mCallback.importKeys();
|
||||||
@@ -267,7 +262,8 @@ public class ImportKeysListFragment extends Fragment implements
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onOptionsItemSelected(MenuItem item) {
|
public boolean onOptionsItemSelected(MenuItem item) {
|
||||||
switch (item.getItemId()) {
|
int itemId = item.getItemId();
|
||||||
|
switch (itemId) {
|
||||||
case R.id.basic:
|
case R.id.basic:
|
||||||
setAdvanced(false);
|
setAdvanced(false);
|
||||||
return true;
|
return true;
|
||||||
@@ -275,7 +271,6 @@ public class ImportKeysListFragment extends Fragment implements
|
|||||||
setAdvanced(true);
|
setAdvanced(true);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -314,8 +309,6 @@ public class ImportKeysListFragment extends Fragment implements
|
|||||||
!PermissionsUtil.checkAndRequestReadPermission(mActivity, ls.mDataUri)) {
|
!PermissionsUtil.checkAndRequestReadPermission(mActivity, ls.mDataUri)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
} else if (mLoaderState instanceof CloudLoaderState) {
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!mLoaderState.isBasicModeSupported()) {
|
if (!mLoaderState.isBasicModeSupported()) {
|
||||||
@@ -338,9 +331,8 @@ public class ImportKeysListFragment extends Fragment implements
|
|||||||
|
|
||||||
@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 = null;
|
||||||
switch (id) {
|
switch (id) {
|
||||||
case LOADER_ID_BYTES: {
|
case LOADER_ID_BYTES: {
|
||||||
@@ -446,15 +438,10 @@ public class ImportKeysListFragment extends Fragment implements
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onLoaderReset(Loader<AsyncTaskResultWrapper<ArrayList<ImportKeysListEntry>>> loader) {
|
public void onLoaderReset(
|
||||||
switch (loader.getId()) {
|
Loader<AsyncTaskResultWrapper<ArrayList<ImportKeysListEntry>>> loader) {
|
||||||
case LOADER_ID_BYTES:
|
|
||||||
case LOADER_ID_CLOUD:
|
mAdapter.clearData();
|
||||||
mAdapter.clearData();
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -145,12 +145,7 @@ public class ImportKeysAdapter extends RecyclerView.Adapter<ImportKeysAdapter.Vi
|
|||||||
b.importKey.setOnClickListener(new View.OnClickListener() {
|
b.importKey.setOnClickListener(new View.OnClickListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onClick(View v) {
|
public void onClick(View v) {
|
||||||
if (mLoaderState instanceof BytesLoaderState) {
|
getKey(getParcelableKeyRing(entry), false);
|
||||||
importKey(new ParcelableKeyRing(entry.getEncodedRing()));
|
|
||||||
} else if (mLoaderState instanceof CloudLoaderState) {
|
|
||||||
importKey(new ParcelableKeyRing(entry.getFingerprintHex(), entry.getKeyIdHex(),
|
|
||||||
entry.getKeybaseName(), entry.getFbUsername()));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -159,7 +154,7 @@ public class ImportKeysAdapter extends RecyclerView.Adapter<ImportKeysAdapter.Vi
|
|||||||
public void onClick(View v) {
|
public void onClick(View v) {
|
||||||
mCurrent = position;
|
mCurrent = position;
|
||||||
if (!showed && !downloaded) {
|
if (!showed && !downloaded) {
|
||||||
getKey(entry);
|
getKey(getParcelableKeyRing(entry), true);
|
||||||
} else {
|
} else {
|
||||||
changeState(position, !showed);
|
changeState(position, !showed);
|
||||||
}
|
}
|
||||||
@@ -184,14 +179,16 @@ public class ImportKeysAdapter extends RecyclerView.Adapter<ImportKeysAdapter.Vi
|
|||||||
return mData != null ? mData.size() : 0;
|
return mData != null ? mData.size() : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void importKey(ParcelableKeyRing keyRing) {
|
public void getKey(ParcelableKeyRing keyRing, boolean skipSave) {
|
||||||
ImportKeyringParcel inputParcel = prepareKeyOperation(keyRing, false);
|
ImportKeyringParcel inputParcel = prepareKeyOperation(keyRing, skipSave);
|
||||||
ImportKeysOperationCallback cb = new ImportKeysOperationCallback(mListener, inputParcel);
|
ImportKeysResultListener listener = skipSave ? this : mListener;
|
||||||
CryptoOperationHelper operationHelper = new CryptoOperationHelper(1, mActivity, cb, R.string.progress_importing);
|
ImportKeysOperationCallback cb = new ImportKeysOperationCallback(listener, inputParcel);
|
||||||
operationHelper.cryptoOperation();
|
int message = skipSave ? R.string.progress_downloading : R.string.progress_importing;
|
||||||
|
CryptoOperationHelper opHelper = new CryptoOperationHelper(1, mActivity, cb, message);
|
||||||
|
opHelper.cryptoOperation();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void getKey(ImportKeysListEntry entry) {
|
private ParcelableKeyRing getParcelableKeyRing(ImportKeysListEntry entry) {
|
||||||
ParcelableKeyRing keyRing = null;
|
ParcelableKeyRing keyRing = null;
|
||||||
if (mLoaderState instanceof BytesLoaderState) {
|
if (mLoaderState instanceof BytesLoaderState) {
|
||||||
keyRing = new ParcelableKeyRing(entry.getEncodedRing());
|
keyRing = new ParcelableKeyRing(entry.getEncodedRing());
|
||||||
@@ -199,11 +196,7 @@ public class ImportKeysAdapter extends RecyclerView.Adapter<ImportKeysAdapter.Vi
|
|||||||
keyRing = new ParcelableKeyRing(entry.getFingerprintHex(), entry.getKeyIdHex(),
|
keyRing = new ParcelableKeyRing(entry.getFingerprintHex(), entry.getKeyIdHex(),
|
||||||
entry.getKeybaseName(), entry.getFbUsername());
|
entry.getKeybaseName(), entry.getFbUsername());
|
||||||
}
|
}
|
||||||
|
return keyRing;
|
||||||
ImportKeyringParcel inputParcel = prepareKeyOperation(keyRing, true);
|
|
||||||
ImportKeysOperationCallback cb = new ImportKeysOperationCallback(this, inputParcel);
|
|
||||||
CryptoOperationHelper operationHelper = new CryptoOperationHelper(1, mActivity, cb, R.string.progress_downloading);
|
|
||||||
operationHelper.cryptoOperation();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private ImportKeyringParcel prepareKeyOperation(ParcelableKeyRing keyRing, boolean skipSave) {
|
private ImportKeyringParcel prepareKeyOperation(ParcelableKeyRing keyRing, boolean skipSave) {
|
||||||
|
|||||||
Reference in New Issue
Block a user