Merge branch 'master' of github.com:open-keychain/open-keychain

This commit is contained in:
Dominik Schürmann 2014-09-14 00:11:28 +02:00
commit db5d12800c
3 changed files with 33 additions and 29 deletions

View File

@ -641,36 +641,39 @@ public class KeychainIntentService extends IntentService implements Progressable
sendErrorToHandler(e); sendErrorToHandler(e);
} }
} else if (ACTION_DOWNLOAD_AND_IMPORT_KEYS.equals(action) || ACTION_IMPORT_KEYBASE_KEYS.equals(action)) { } else if (ACTION_DOWNLOAD_AND_IMPORT_KEYS.equals(action) || ACTION_IMPORT_KEYBASE_KEYS.equals(action)) {
try { ArrayList<ImportKeysListEntry> entries = data.getParcelableArrayList(DOWNLOAD_KEY_LIST);
ArrayList<ImportKeysListEntry> entries = data.getParcelableArrayList(DOWNLOAD_KEY_LIST);
// this downloads the keys and places them into the ImportKeysListEntry entries // this downloads the keys and places them into the ImportKeysListEntry entries
String keyServer = data.getString(DOWNLOAD_KEY_SERVER); String keyServer = data.getString(DOWNLOAD_KEY_SERVER);
ArrayList<ParcelableKeyRing> keyRings = new ArrayList<ParcelableKeyRing>(entries.size()); ArrayList<ParcelableKeyRing> keyRings = new ArrayList<ParcelableKeyRing>(entries.size());
for (ImportKeysListEntry entry : entries) { for (ImportKeysListEntry entry : entries) {
Keyserver server; try {
if (entry.getOrigin() == null) { Keyserver server;
server = new HkpKeyserver(keyServer); if (entry.getOrigin() == null) {
} else if (KeybaseKeyserver.ORIGIN.equals(entry.getOrigin())) { server = new HkpKeyserver(keyServer);
server = new KeybaseKeyserver(); } else if (KeybaseKeyserver.ORIGIN.equals(entry.getOrigin())) {
} else { server = new KeybaseKeyserver();
server = new HkpKeyserver(entry.getOrigin()); } else {
} server = new HkpKeyserver(entry.getOrigin());
}
// if available use complete fingerprint for get request // if available use complete fingerprint for get request
byte[] downloadedKeyBytes; byte[] downloadedKeyBytes;
if (KeybaseKeyserver.ORIGIN.equals(entry.getOrigin())) { if (KeybaseKeyserver.ORIGIN.equals(entry.getOrigin())) {
downloadedKeyBytes = server.get(entry.getExtraData()).getBytes(); downloadedKeyBytes = server.get(entry.getExtraData()).getBytes();
} else if (entry.getFingerprintHex() != null) { } else if (entry.getFingerprintHex() != null) {
downloadedKeyBytes = server.get("0x" + entry.getFingerprintHex()).getBytes(); downloadedKeyBytes = server.get("0x" + entry.getFingerprintHex()).getBytes();
} else { } else {
downloadedKeyBytes = server.get(entry.getKeyIdHex()).getBytes(); downloadedKeyBytes = server.get(entry.getKeyIdHex()).getBytes();
} }
// save key bytes in entry object for doing the // save key bytes in entry object for doing the
// actual import afterwards // actual import afterwards
keyRings.add(new ParcelableKeyRing(downloadedKeyBytes, entry.getFingerprintHex())); keyRings.add(new ParcelableKeyRing(downloadedKeyBytes, entry.getFingerprintHex()));
} catch (Exception e) {
sendErrorToHandler(e);
}
} }
Intent importIntent = new Intent(this, KeychainIntentService.class); Intent importIntent = new Intent(this, KeychainIntentService.class);
@ -686,9 +689,6 @@ public class KeychainIntentService extends IntentService implements Progressable
onHandleIntent(importIntent); onHandleIntent(importIntent);
// result is handled in ACTION_IMPORT_KEYRING // result is handled in ACTION_IMPORT_KEYRING
} catch (Exception e) {
sendErrorToHandler(e);
}
} else if (ACTION_CERTIFY_KEYRING.equals(action)) { } else if (ACTION_CERTIFY_KEYRING.equals(action)) {
try { try {

View File

@ -82,7 +82,7 @@ import se.emilsjolander.stickylistheaders.StickyListHeadersListView;
*/ */
public class KeyListFragment extends LoaderFragment public class KeyListFragment extends LoaderFragment
implements SearchView.OnQueryTextListener, AdapterView.OnItemClickListener, implements SearchView.OnQueryTextListener, AdapterView.OnItemClickListener,
LoaderManager.LoaderCallbacks<Cursor>, NoScrollableSwipeRefreshLayout.OnRefreshListener { LoaderManager.LoaderCallbacks<Cursor>, ListAwareSwipeRefreshLayout.OnRefreshListener {
private KeyListAdapter mAdapter; private KeyListAdapter mAdapter;
private StickyListHeadersListView mStickyList; private StickyListHeadersListView mStickyList;

View File

@ -70,9 +70,13 @@ public class ListAwareSwipeRefreshLayout extends NoScrollableSwipeRefreshLayout
return (mIsLocked || ( return (mIsLocked || (
mStickyListHeadersListView.getWrappedList().getChildCount() > 0 mStickyListHeadersListView.getWrappedList().getChildCount() > 0
&& (mStickyListHeadersListView.getTop() > 0 &&
|| mStickyListHeadersListView.getFirstVisiblePosition() > 0 (
)) mStickyListHeadersListView.getWrappedList().getChildAt(0).getTop() < 0
||
mStickyListHeadersListView.getFirstVisiblePosition() > 0
)
)
); );
} }
} }