diff options
Diffstat (limited to 'OpenKeychain')
| -rw-r--r-- | OpenKeychain/src/main/java/org/sufficientlysecure/keychain/KeychainApplication.java | 20 | ||||
| -rw-r--r-- | OpenKeychain/src/main/java/org/sufficientlysecure/keychain/helper/ContactHelper.java | 3 | 
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,  | 
