1
0
mirror of https://github.com/etesync/android synced 2024-11-22 16:08:13 +00:00

Fix OpenTasks regression bug

* version bump to 1.2.3
* enable OpenTasks sync on Android <6 again
This commit is contained in:
Ricki Hirner 2016-08-05 23:17:55 +02:00
parent bab84d7d0f
commit eb70f8690f
2 changed files with 13 additions and 7 deletions

View File

@ -17,7 +17,7 @@ android {
minSdkVersion 14
targetSdkVersion 24
versionCode 111
versionCode 112
buildConfigField "long", "buildTime", System.currentTimeMillis() + "L"
buildConfigField "boolean", "useMTM", "true"
@ -25,7 +25,7 @@ android {
productFlavors {
standard {
versionName "1.2.2-ose"
versionName "1.2.3-ose"
}
}

View File

@ -158,16 +158,22 @@ public class AccountDetailsFragment extends Fragment {
// enable task sync, if possible
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
/* since Android 23, it's possible to gain OpenTasks permissions dynamically, so
/* Android >=6, it's possible to gain OpenTasks permissions dynamically, so
* OpenTasks sync will be enabled by default. Setting the sync interval to "manually"
* if OpenTasks is not installed avoids the "sync error" in Android settings / Accounts. */
ContentResolver.setIsSyncable(account, TaskProvider.ProviderName.OpenTasks.authority, 1);
settings.setSyncInterval(TaskProvider.ProviderName.OpenTasks.authority,
LocalTaskList.tasksProviderAvailable(getContext()) ? DEFAULT_SYNC_INTERVAL : AccountSettings.SYNC_INTERVAL_MANUALLY);
} else
// Android <6 only: disable OpenTasks sync forever when OpenTasks is not installed
// because otherwise, there will be a non-catchable SecurityException as soon as OpenTasks is installed
ContentResolver.setIsSyncable(account, TaskProvider.ProviderName.OpenTasks.authority, 0);
} else {
// Android <6: enable task sync according to whether OpenTasks is accessible
if (LocalTaskList.tasksProviderAvailable(getContext())) {
ContentResolver.setIsSyncable(account, TaskProvider.ProviderName.OpenTasks.authority, 1);
settings.setSyncInterval(TaskProvider.ProviderName.OpenTasks.authority, DEFAULT_SYNC_INTERVAL);
} else
// Android <6 only: disable OpenTasks sync forever when OpenTasks is not installed
// because otherwise, there will be a non-catchable SecurityException as soon as OpenTasks is installed
ContentResolver.setIsSyncable(account, TaskProvider.ProviderName.OpenTasks.authority, 0);
}
} else {
// disable calendar and task sync when CalDAV is not available
ContentResolver.setIsSyncable(account, CalendarContract.AUTHORITY, 0);