aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/CertifyKeyFragment.java21
1 files changed, 20 insertions, 1 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/CertifyKeyFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/CertifyKeyFragment.java
index 94ece06fb..4d10d8639 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/CertifyKeyFragment.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/CertifyKeyFragment.java
@@ -25,6 +25,8 @@ import android.database.Cursor;
import android.database.MatrixCursor;
import android.graphics.PorterDuff;
import android.net.Uri;
+import android.os.Build.VERSION;
+import android.os.Build.VERSION_CODES;
import android.os.Bundle;
import android.os.Message;
import android.os.Messenger;
@@ -62,6 +64,7 @@ import org.sufficientlysecure.keychain.ui.widget.KeySpinner;
import org.sufficientlysecure.keychain.util.Log;
import org.sufficientlysecure.keychain.util.Preferences;
+import java.lang.reflect.Method;
import java.util.ArrayList;
public class CertifyKeyFragment extends LoaderFragment
@@ -210,7 +213,23 @@ public class CertifyKeyFragment extends LoaderFragment
MatrixCursor matrix = new MatrixCursor(new String[]{
"_id", "user_data", "grouped"
- });
+ }) {
+ @Override
+ public byte[] getBlob(int column) {
+ // For some reason, getBlob was not implemented before ICS
+ if (VERSION.SDK_INT < VERSION_CODES.ICE_CREAM_SANDWICH) {
+ try {
+ // haha, yes there is int.class
+ Method m = MatrixCursor.class.getDeclaredMethod("get", new Class[]{int.class});
+ m.setAccessible(true);
+ return (byte[]) m.invoke(this, 1);
+ } catch (Exception e) {
+ throw new UnsupportedOperationException(e);
+ }
+ }
+ return super.getBlob(column);
+ }
+ };
data.moveToFirst();
long lastMasterKeyId = 0;