Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit dfd9988a authored by Mohammed Althaf T's avatar Mohammed Althaf T 😊
Browse files

AM: Trigger sync after adding new items

parent 3ab26e1a
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -51,7 +51,7 @@ android {
    compileSdk = 36

    defaultConfig {
        minSdk = 24        // Android 7.0
        minSdk = 31        // Android 12 - canScheduleExactAlarms minimum requirement
        targetSdk = 36     // Android 16

        applicationId = "at.bitfire.davdroid"
+4 −0
Original line number Diff line number Diff line
@@ -9,6 +9,7 @@
    <uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" />
    <uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
    <uses-permission android:name="android.permission.USE_CREDENTIALS" />
    <uses-permission android:name="android.permission.SCHEDULE_EXACT_ALARM" />

    <uses-permission android:name="foundation.e.permission.READ_TASKS"/>
    <uses-permission android:name="foundation.e.permission.WRITE_TASKS"/>
@@ -250,6 +251,9 @@
                    android:value="205" />
        </activity-alias>

        <receiver
                android:name="foundation.e.accountmanager.sync.SyncBroadcastReceiver" />

        <!-- endregion /e/ Specific -->

    </application>
+1 −1
Original line number Diff line number Diff line
@@ -18,7 +18,7 @@ android {
    compileSdk = 36

    defaultConfig {
        minSdk = 24        // Android 7.0
        minSdk = 31        // Android 12 - canScheduleExactAlarms minimum requirement

        testInstrumentationRunner = "at.bitfire.davdroid.HiltTestRunner"

+3 −0
Original line number Diff line number Diff line
@@ -112,6 +112,9 @@ class AccountRepository @Inject constructor(
            // set up automatic sync (processes inserted services)
            automaticSyncManager.get().updateAutomaticSync(account)

            // Schedule sync
            AccountHelper.scheduleSyncWithDelay(context)

        } catch(e: InvalidAccountException) {
            logger.log(Level.SEVERE, "Couldn't access account settings", e)
            return null
+7 −4
Original line number Diff line number Diff line
@@ -764,11 +764,10 @@ abstract class SyncManager<LocalType: LocalResource, out CollectionType: LocalCo
     */
    private fun handleException(e: Throwable, local: LocalResource?, remote: HttpUrl?) {
        var message: String
        var isNetworkAvailable = true
        val isNetworkAvailable = SystemUtils.isNetworkAvailable(context)
        when (e) {
            is IOException -> {
                logger.log(Level.WARNING, "I/O error", e)
                isNetworkAvailable = SystemUtils.isNetworkAvailable(context)
                if (isNetworkAvailable) {
                    syncResult.numIoExceptions++
                }
@@ -777,13 +776,17 @@ abstract class SyncManager<LocalType: LocalResource, out CollectionType: LocalCo

            is UnauthorizedException -> {
                logger.log(Level.SEVERE, "Not authorized anymore", e)
                if (isNetworkAvailable) {
                    syncResult.numAuthExceptions++
                }
                message = context.getString(R.string.sync_error_authentication_failed)
            }

            is HttpException, is DavException -> {
                logger.log(Level.SEVERE, "HTTP/DAV exception", e)
                if (isNetworkAvailable) {
                    syncResult.numHttpExceptions++
                }
                message = context.getString(R.string.sync_error_http_dav, e.localizedMessage)
            }

Loading