mirror of
https://github.com/etesync/android
synced 2025-04-13 21:26:19 +00:00
Compare commits
10 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
b2f48e524d | ||
![]() |
00425eb281 | ||
![]() |
425c637ead | ||
![]() |
f62eb11bb2 | ||
![]() |
7f82eb60d6 | ||
![]() |
ddfdf3d71c | ||
![]() |
02b075e3cc | ||
![]() |
b896c7f015 | ||
![]() |
7d345ebaa0 | ||
![]() |
d59ed821ed |
34
.github/workflows/build.yml
vendored
34
.github/workflows/build.yml
vendored
@ -1,34 +0,0 @@
|
||||
name: Android CI Workflow
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
- test
|
||||
tags:
|
||||
- 'v*'
|
||||
|
||||
jobs:
|
||||
apk:
|
||||
name: Generate APK
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Set up JDK 17
|
||||
uses: actions/setup-java@v3
|
||||
with:
|
||||
java-version: '17'
|
||||
distribution: 'temurin'
|
||||
|
||||
# - name: Setup Android SDK
|
||||
# uses: android-actions/setup-android@v2
|
||||
|
||||
- name: Build APK
|
||||
run: ./gradlew --no-daemon build
|
||||
|
||||
- name: Upload APK
|
||||
uses: actions/upload-artifact@v1
|
||||
with:
|
||||
name: apk
|
||||
path: app/build/outputs/apk/release/app-release.apk
|
13
ChangeLog.md
13
ChangeLog.md
@ -1,6 +1,19 @@
|
||||
# Changelog
|
||||
*NOTE:* may be removed in the future in favor of the fastlane changelog.
|
||||
|
||||
## Version 2.4.4
|
||||
* Fix error when importing from file in Android 13+
|
||||
|
||||
## Version 2.4.3
|
||||
* Fix task sync adapter issues when no tasks are found
|
||||
* Add required notifications permissions to app manifest
|
||||
|
||||
## Version 2.4.2
|
||||
* Fix sync adapter crashes with Android 12 and 13
|
||||
|
||||
## Version 2.4.1
|
||||
* Fix sync with Tasks.org and OpenTasks - many thanks to @Sch1nken!
|
||||
|
||||
## Version 2.4.0
|
||||
* Update compile and target SDK versions
|
||||
|
||||
|
@ -19,8 +19,8 @@ android {
|
||||
minSdkVersion 21
|
||||
targetSdkVersion 33
|
||||
|
||||
versionCode 20400
|
||||
versionName "2.4.0"
|
||||
versionCode 20404
|
||||
versionName "2.4.4"
|
||||
|
||||
buildConfigField "boolean", "customCerts", "true"
|
||||
}
|
||||
@ -117,7 +117,7 @@ android {
|
||||
|
||||
dependencies {
|
||||
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
|
||||
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.0.9'
|
||||
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.1.5'
|
||||
|
||||
implementation "org.jetbrains.anko:anko-commons:0.10.4"
|
||||
|
||||
|
@ -48,3 +48,25 @@
|
||||
# Spongcastle
|
||||
-dontwarn org.spongycastle.jce.provider.X509LDAPCertStoreSpi
|
||||
-dontwarn org.spongycastle.x509.util.LDAPStoreHelper
|
||||
|
||||
# Android stuff automatically generated by the Android Gradle plugin.
|
||||
-dontwarn com.android.org.conscrypt.SSLParametersImpl
|
||||
-dontwarn groovy.lang.GroovyObject
|
||||
-dontwarn groovy.lang.MetaClass
|
||||
-dontwarn groovy.transform.Generated
|
||||
-dontwarn groovy.transform.Internal
|
||||
-dontwarn groovy.util.AbstractFactory
|
||||
-dontwarn groovy.util.FactoryBuilderSupport
|
||||
-dontwarn org.apache.harmony.xnet.provider.jsse.SSLParametersImpl
|
||||
-dontwarn org.bouncycastle.jsse.BCSSLParameters
|
||||
-dontwarn org.bouncycastle.jsse.BCSSLSocket
|
||||
-dontwarn org.bouncycastle.jsse.provider.BouncyCastleJsseProvider
|
||||
-dontwarn org.codehaus.groovy.reflection.ClassInfo
|
||||
-dontwarn org.codehaus.groovy.runtime.ScriptBytecodeAdapter
|
||||
-dontwarn org.codehaus.groovy.runtime.callsite.CallSite
|
||||
-dontwarn org.codehaus.groovy.runtime.callsite.CallSiteArray
|
||||
-dontwarn org.codehaus.groovy.runtime.typehandling.DefaultTypeTransformation
|
||||
-dontwarn org.codehaus.groovy.runtime.typehandling.ShortTypeHandling
|
||||
-dontwarn org.openjsse.javax.net.ssl.SSLParameters
|
||||
-dontwarn org.openjsse.javax.net.ssl.SSLSocket
|
||||
-dontwarn org.openjsse.net.ssl.OpenJSSE
|
||||
|
@ -10,6 +10,10 @@
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:installLocation="internalOnly">
|
||||
<queries>
|
||||
<package android:name="org.dmfs.tasks" />
|
||||
<package android:name="org.tasks" />
|
||||
</queries>
|
||||
|
||||
<!-- normal permissions -->
|
||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
|
||||
@ -19,6 +23,7 @@
|
||||
<uses-permission android:name="android.permission.READ_SYNC_STATS"/>
|
||||
<uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS"/>
|
||||
<uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS"/>
|
||||
<uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>
|
||||
|
||||
<!-- account management permissions not required for own accounts since API level 22 -->
|
||||
<uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" android:maxSdkVersion="22"/>
|
||||
@ -31,8 +36,9 @@
|
||||
-->
|
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:maxSdkVersion="18"/>
|
||||
|
||||
<!-- Used for external log and vcf import. -->
|
||||
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
|
||||
<!-- Used for external log and vcf import. Permissions changed for SDK >= 33. -->
|
||||
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" android:maxSdkVersion="32"/>
|
||||
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES"/>
|
||||
|
||||
<!-- other permissions -->
|
||||
<!-- android.permission-group.CONTACTS -->
|
||||
|
@ -95,7 +95,7 @@ object Logger : SharedPreferences.OnSharedPreferenceChangeListener {
|
||||
.setCategory(NotificationCompat.CATEGORY_STATUS)
|
||||
.setPriority(NotificationCompat.PRIORITY_HIGH)
|
||||
.setSubText(context.getString(R.string.logging_to_external_storage_warning))
|
||||
.setContentIntent(PendingIntent.getActivity(context, 0, prefIntent, PendingIntent.FLAG_UPDATE_CURRENT))
|
||||
.setContentIntent(PendingIntent.getActivity(context, 0, prefIntent, PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE))
|
||||
.setStyle(NotificationCompat.BigTextStyle()
|
||||
.bigText(context.getString(R.string.logging_to_external_storage, logDir.path)))
|
||||
.setOngoing(true)
|
||||
@ -124,4 +124,4 @@ object Logger : SharedPreferences.OnSharedPreferenceChangeListener {
|
||||
Toast.makeText(context, context.getString(R.string.logging_couldnt_create_file), Toast.LENGTH_LONG).show()
|
||||
return null
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -170,7 +170,7 @@ abstract class SyncAdapterService : Service() {
|
||||
.setLargeIcon(App.getLauncherBitmap(context))
|
||||
.setContentTitle(context.getString(R.string.sync_error_permissions))
|
||||
.setContentText(context.getString(R.string.sync_error_permissions_text))
|
||||
.setContentIntent(PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT))
|
||||
.setContentIntent(PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE))
|
||||
.setCategory(NotificationCompat.CATEGORY_ERROR)
|
||||
.build()
|
||||
val nm = NotificationManagerCompat.from(context)
|
||||
|
@ -105,7 +105,7 @@ class SyncNotification(internal val context: Context, internal val notificationT
|
||||
.setAutoCancel(true)
|
||||
.setCategory(category)
|
||||
.setSmallIcon(icon)
|
||||
.setContentIntent(PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT))
|
||||
.setContentIntent(PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE))
|
||||
|
||||
if (bigText != null)
|
||||
builder.setStyle(NotificationCompat.BigTextStyle()
|
||||
|
@ -10,6 +10,7 @@ import android.content.ActivityNotFoundException
|
||||
import android.content.Intent
|
||||
import android.content.pm.PackageManager
|
||||
import android.os.Build
|
||||
import android.os.Build.VERSION.SDK_INT
|
||||
import android.os.Bundle
|
||||
import android.provider.CalendarContract
|
||||
import android.provider.ContactsContract
|
||||
@ -63,7 +64,11 @@ class ImportFragment : DialogFragment() {
|
||||
|
||||
@TargetApi(Build.VERSION_CODES.M)
|
||||
private fun requestPermissions() {
|
||||
requestPermissions(arrayOf(Manifest.permission.READ_EXTERNAL_STORAGE), 0)
|
||||
if (SDK_INT <= 32) {
|
||||
requestPermissions(kotlin.arrayOf(android.Manifest.permission.READ_EXTERNAL_STORAGE), 0)
|
||||
} else {
|
||||
requestPermissions(arrayOf(Manifest.permission.READ_MEDIA_IMAGES), 0)
|
||||
}
|
||||
}
|
||||
|
||||
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
|
||||
|
@ -1 +1 @@
|
||||
Subproject commit d01a3455bdb7fb49362e3e7acef043d34b7124f6
|
||||
Subproject commit 94df228f8bb8f8f50e26b3f4a3a9a53f0b83a4d2
|
@ -1 +1 @@
|
||||
Subproject commit b62dfc46f61aa310a65383e7b99f66a99959da2b
|
||||
Subproject commit ecd2ab875dc6807a051577670443defb83608904
|
Loading…
Reference in New Issue
Block a user