replace calls to getGenericData with getCachedPublicKeyRing equivalents

This commit is contained in:
Vincent Breitmoser
2017-02-20 18:17:15 +01:00
parent 0277ba1afa
commit c2b9af077a
7 changed files with 42 additions and 39 deletions

View File

@@ -28,6 +28,7 @@ import android.widget.ImageView;
import org.sufficientlysecure.keychain.Constants;
import org.sufficientlysecure.keychain.R;
import org.sufficientlysecure.keychain.pgp.exception.PgpKeyNotFoundException;
import org.sufficientlysecure.keychain.provider.DatabaseReadWriteInteractor;
import org.sufficientlysecure.keychain.provider.KeychainContract;
import org.sufficientlysecure.keychain.provider.DatabaseInteractor;
@@ -77,9 +78,7 @@ public class QrCodeViewActivity extends BaseActivity {
DatabaseInteractor databaseInteractor = new DatabaseInteractor(getContentResolver());
try {
byte[] blob = (byte[]) databaseInteractor.getGenericData(
KeychainContract.KeyRings.buildUnifiedKeyRingUri(dataUri),
KeychainContract.KeyRings.FINGERPRINT, DatabaseInteractor.FIELD_TYPE_BLOB);
byte[] blob = databaseInteractor.getCachedPublicKeyRing(dataUri).getFingerprint();
if (blob == null) {
Log.e(Constants.TAG, "key not found!");
Notify.create(this, R.string.error_key_not_found, Style.ERROR).show();
@@ -103,7 +102,7 @@ public class QrCodeViewActivity extends BaseActivity {
mQrCode.setImageBitmap(scaled);
}
});
} catch (DatabaseReadWriteInteractor.NotFoundException e) {
} catch (PgpKeyNotFoundException e) {
Log.e(Constants.TAG, "key not found!", e);
Notify.create(this, R.string.error_key_not_found, Style.ERROR).show();
ActivityCompat.finishAfterTransition(QrCodeViewActivity.this);

View File

@@ -17,6 +17,10 @@
package org.sufficientlysecure.keychain.ui;
import java.io.IOException;
import java.util.ArrayList;
import android.annotation.TargetApi;
import android.content.Intent;
import android.graphics.PorterDuff;
@@ -27,15 +31,18 @@ import android.view.View;
import android.widget.ImageView;
import android.widget.NumberPicker;
import edu.cmu.cylab.starslinger.exchange.ExchangeActivity;
import edu.cmu.cylab.starslinger.exchange.ExchangeConfig;
import org.sufficientlysecure.keychain.Constants;
import org.sufficientlysecure.keychain.R;
import org.sufficientlysecure.keychain.keyimport.ParcelableHkpKeyserver;
import org.sufficientlysecure.keychain.keyimport.ParcelableKeyRing;
import org.sufficientlysecure.keychain.operations.ImportOperation;
import org.sufficientlysecure.keychain.operations.results.ImportKeyResult;
import org.sufficientlysecure.keychain.operations.results.OperationResult;
import org.sufficientlysecure.keychain.provider.DatabaseReadWriteInteractor;
import org.sufficientlysecure.keychain.provider.KeychainContract;
import org.sufficientlysecure.keychain.pgp.exception.PgpKeyNotFoundException;
import org.sufficientlysecure.keychain.provider.DatabaseInteractor;
import org.sufficientlysecure.keychain.provider.KeychainContract;
import org.sufficientlysecure.keychain.service.ImportKeyringParcel;
import org.sufficientlysecure.keychain.ui.base.BaseActivity;
import org.sufficientlysecure.keychain.ui.base.CryptoOperationHelper;
@@ -43,13 +50,6 @@ import org.sufficientlysecure.keychain.ui.util.FormattingUtils;
import org.sufficientlysecure.keychain.ui.util.Notify;
import org.sufficientlysecure.keychain.util.Log;
import org.sufficientlysecure.keychain.util.ParcelableFileCache;
import org.sufficientlysecure.keychain.keyimport.ParcelableHkpKeyserver;
import java.io.IOException;
import java.util.ArrayList;
import edu.cmu.cylab.starslinger.exchange.ExchangeActivity;
import edu.cmu.cylab.starslinger.exchange.ExchangeConfig;
@TargetApi(Build.VERSION_CODES.HONEYCOMB)
public class SafeSlingerActivity extends BaseActivity
@@ -106,8 +106,7 @@ public class SafeSlingerActivity extends BaseActivity
// retrieve public key blob and start SafeSlinger
Uri uri = KeychainContract.KeyRingData.buildPublicKeyRingUri(masterKeyId);
try {
byte[] keyBlob = (byte[]) new DatabaseInteractor(getContentResolver()).getGenericData(
uri, KeychainContract.KeyRingData.KEY_RING_DATA, DatabaseInteractor.FIELD_TYPE_BLOB);
byte[] keyBlob = new DatabaseInteractor(getContentResolver()).getCachedPublicKeyRing(uri).getEncoded();
Intent slingerIntent = new Intent(this, ExchangeActivity.class);
@@ -115,7 +114,7 @@ public class SafeSlingerActivity extends BaseActivity
slingerIntent.putExtra(ExchangeConfig.extra.USER_DATA, keyBlob);
slingerIntent.putExtra(ExchangeConfig.extra.HOST_NAME, Constants.SAFESLINGER_SERVER);
startActivityForResult(slingerIntent, REQUEST_CODE_SAFE_SLINGER);
} catch (DatabaseReadWriteInteractor.NotFoundException e) {
} catch (PgpKeyNotFoundException e) {
Log.e(Constants.TAG, "personal key not found", e);
}
}

View File

@@ -400,7 +400,7 @@ public class ViewKeyActivity extends BaseSecurityTokenActivity implements
case R.id.menu_key_view_refresh: {
try {
updateFromKeyserver(mDataUri, mDatabaseInteractor);
} catch (DatabaseInteractor.NotFoundException e) {
} catch (PgpKeyNotFoundException e) {
Notify.create(this, R.string.error_key_not_found, Notify.Style.ERROR).show();
}
return true;
@@ -1119,16 +1119,14 @@ public class ViewKeyActivity extends BaseSecurityTokenActivity implements
private void updateFromKeyserver(Uri dataUri, DatabaseInteractor databaseInteractor)
throws DatabaseInteractor.NotFoundException {
throws PgpKeyNotFoundException {
mIsRefreshing = true;
mRefreshItem.setEnabled(false);
mRefreshItem.setActionView(mRefresh);
mRefresh.startAnimation(mRotate);
byte[] blob = (byte[]) databaseInteractor.getGenericData(
KeychainContract.KeyRings.buildUnifiedKeyRingUri(dataUri),
KeychainContract.Keys.FINGERPRINT, DatabaseInteractor.FIELD_TYPE_BLOB);
byte[] blob = databaseInteractor.getCachedPublicKeyRing(dataUri).getFingerprint();
String fingerprint = KeyFormattingUtils.convertFingerprintToHex(blob);
ParcelableKeyRing keyEntry = new ParcelableKeyRing(fingerprint, null, null, null);