aboutsummaryrefslogtreecommitdiffstats
path: root/OpenKeychain/src/main
diff options
context:
space:
mode:
authorDominik Schürmann <dominik@dominikschuermann.de>2014-08-21 11:36:47 +0200
committerDominik Schürmann <dominik@dominikschuermann.de>2014-08-21 11:36:47 +0200
commit3c46c3c2dfd4ec6ec8b91eb43246c7d579f9b95d (patch)
tree09bea49057386890b5734c1d1a9083967c7aaa24 /OpenKeychain/src/main
parent0c1e65bc8bbfed59d299e2f0ca7a6a30eef22664 (diff)
downloadopen-keychain-3c46c3c2dfd4ec6ec8b91eb43246c7d579f9b95d.tar.gz
open-keychain-3c46c3c2dfd4ec6ec8b91eb43246c7d579f9b95d.tar.bz2
open-keychain-3c46c3c2dfd4ec6ec8b91eb43246c7d579f9b95d.zip
Add account only on jelly bean and above
Diffstat (limited to 'OpenKeychain/src/main')
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/KeychainApplication.java20
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/helper/ContactHelper.java3
2 files changed, 15 insertions, 8 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/KeychainApplication.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/KeychainApplication.java
index aee6a5d70..37af95e28 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/KeychainApplication.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/KeychainApplication.java
@@ -25,6 +25,7 @@ import android.content.Context;
import android.content.Intent;
import android.graphics.PorterDuff;
import android.graphics.drawable.Drawable;
+import android.os.Build;
import android.os.Environment;
import android.provider.ContactsContract;
@@ -111,14 +112,17 @@ public class KeychainApplication extends Application {
}
public static void setupAccountAsNeeded(Context context) {
- AccountManager manager = AccountManager.get(context);
- Account[] accounts = manager.getAccountsByType(Constants.ACCOUNT_TYPE);
- if (accounts == null || accounts.length == 0) {
- Account account = new Account(Constants.ACCOUNT_NAME, Constants.ACCOUNT_TYPE);
- if (manager.addAccountExplicitly(account, null, null)) {
- ContentResolver.setIsSyncable(account, ContactsContract.AUTHORITY, 1);
- } else {
- Log.e(Constants.TAG, "Adding account failed!");
+ // only enabled for Jelly Bean because we need some newer methods in our sync adapter
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
+ AccountManager manager = AccountManager.get(context);
+ Account[] accounts = manager.getAccountsByType(Constants.ACCOUNT_TYPE);
+ if (accounts == null || accounts.length == 0) {
+ Account account = new Account(Constants.ACCOUNT_NAME, Constants.ACCOUNT_TYPE);
+ if (manager.addAccountExplicitly(account, null, null)) {
+ ContentResolver.setIsSyncable(account, ContactsContract.AUTHORITY, 1);
+ } else {
+ Log.e(Constants.TAG, "Adding account failed!");
+ }
}
}
}
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/helper/ContactHelper.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/helper/ContactHelper.java
index 96e1b25af..b7c4dcb80 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/helper/ContactHelper.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/helper/ContactHelper.java
@@ -19,6 +19,7 @@ package org.sufficientlysecure.keychain.helper;
import android.accounts.Account;
import android.accounts.AccountManager;
+import android.annotation.TargetApi;
import android.content.ContentProviderOperation;
import android.content.ContentResolver;
import android.content.ContentUris;
@@ -252,6 +253,7 @@ public class ContactHelper {
return new ArrayList<String>(names);
}
+ @TargetApi(Build.VERSION_CODES.JELLY_BEAN)
public static Uri dataUriFromContactUri(Context context, Uri contactUri) {
Cursor contactMasterKey = context.getContentResolver().query(contactUri,
new String[]{ContactsContract.Data.DATA2}, null, null, null, null);
@@ -367,6 +369,7 @@ public class ContactHelper {
*
* @return raw contact id or -1 if not found
*/
+ @TargetApi(Build.VERSION_CODES.JELLY_BEAN)
private static int findRawContactId(ContentResolver resolver, String fingerprint) {
int rawContactId = -1;
Cursor raw = resolver.query(ContactsContract.RawContacts.CONTENT_URI, ID_PROJECTION,