Merged
Conversation
Contributor
Author
This stack of pull requests is managed by Graphite. Learn more about stacking. |
cf0972a to
9e35dd9
Compare
9e35dd9 to
ed1c9a8
Compare
ed1c9a8 to
52e4a50
Compare
52e4a50 to
229458f
Compare
3 tasks
fd78ff3 to
2da6dca
Compare
aitorvs
added a commit
to duckduckgo/sync_crypto
that referenced
this pull request
Jan 14, 2025
Task: https://app.asana.com/0/488551667048375/1209000029029646/f ### Description Make builds 16KB compliant This is needed to target Android 15 ### Test - [x] check out duckduckgo/Android#5204 - [x] Build app (internal debug is fine) - [x] smoke test sync feature
10d7e5e to
f15ba7c
Compare
563db61 to
d836cb4
Compare
4 tasks
33c318e to
bf0f573
Compare
we can tackle this at a later date
The dependency has moved to a new repo: https://github.com/sqlcipher/sqlcipher-android
SupportFactory -> SupportOpenHelperFactory
It's false by default and was only added as protection. Since SQLCipher has supported sqlite 3.26.0 since 4.0.1 (released 2018) this should no longer be a concern in my opinion: https://www.zetetic.net/blog/2018/12/18/sqlcipher-401-release/
"The List type in Java is mapped to the MutableList type in Kotlin. Because the List.removeFirst() and List.removeLast() APIs have been introduced in Android 15 (API level 35), the Kotlin compiler resolves function calls, for example list.removeFirst(), statically to the new List APIs instead of to the extension functions in kotlin-stdlib." Robolectric supports 34 right now so easier that we just change these functions.
The function in this class was not used but we can rename it and use it as it uses the removeAt function which we need due to the collision with the stdlib.
This version supports sdk 35: https://github.com/robolectric/robolectric/releases/tag/robolectric-4.14
daxmobile
reviewed
Jul 2, 2025
daxmobile
reviewed
Jul 2, 2025
daxmobile
reviewed
Jul 2, 2025
daxmobile
reviewed
Jul 2, 2025
CDRussell
reviewed
Jul 8, 2025
...mpl/src/main/java/com/duckduckgo/autofill/impl/securestorage/SecureStorageDatabaseFactory.kt
Show resolved
Hide resolved
Instead of relying on callback from MainProcessLifecycleObserver and doing the library init there, this commit changes it to happen on class init instead. The main reason for this is to avoid any footguns around other lifecycle observers triggering autofill (and therefore sqlcipher) codepaths before this one could run and initialize the library)
CDRussell
approved these changes
Jul 9, 2025
5 tasks
1375ea8 to
53528eb
Compare
53528eb to
4897b2f
Compare
mikescamell
commented
Jul 9, 2025
library-loader/library-loader-api/src/main/java/com/duckduckgo/library/loader/LibraryLoader.kt
Show resolved
Hide resolved
aitorvs
added a commit
to duckduckgo/sync_crypto
that referenced
this pull request
Jul 9, 2025
Task/Issue URL: https://app.asana.com/1/137249556945/project/488551667048375/task/1210616215807112?focus=true ## Description Update to central portal and fix 16kb page size compatibility ## Testing - [ ] checkout this PR and execute ```bash ./gradlew clean assemble publishToMavenLocal ``` - [ ] Check out duckduckgo/Android#5204 apply the following patch ```diff Subject: [PATCH] Fix style of data volume --- Index: build.gradle IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== diff --git a/build.gradle b/build.gradle --- a/build.gradle (revision 444923c21ce09f2e0fca27d5650c0ab32005ba84) +++ b/build.gradle (date 1752067989987) @@ -42,6 +42,7 @@ google() mavenCentral() maven { url 'https://jitpack.io' } + mavenLocal() } configurations.all { resolutionStrategy.force 'org.objenesis:objenesis:2.6' Index: versions.properties IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>ISO-8859-1 =================================================================== diff --git a/versions.properties b/versions.properties --- a/versions.properties (revision 444923c21ce09f2e0fca27d5650c0ab32005ba84) +++ b/versions.properties (date 1752068035878) @@ -81,7 +81,7 @@ version.com.duckduckgo.netguard..netguard-android=1.10.2 -version.com.duckduckgo.synccrypto..sync-crypto-android=0.4.0 +version.com.duckduckgo.synccrypto..sync-crypto-android=0.5.0-SNAPSHOT version.com.frybits.harmony..harmony=1.2.6 ``` - [ ] Build the Android app ```bash rm -rf build-cache/; ./gradlew clean assembleID ``` - [ ] Install on device and test sync - [ ] Install on 16kb page size device and test sync
aitorvs
added a commit
to duckduckgo/sync_crypto
that referenced
this pull request
Jul 9, 2025
Task/Issue URL: https://app.asana.com/1/137249556945/project/488551667048375/task/1210616215807112?focus=true ## Description Update to central portal and fix 16kb page size compatibility ## Testing - [ ] checkout this PR and execute ```bash ./gradlew clean assemble publishToMavenLocal ``` - [ ] Check out duckduckgo/Android#5204 apply the following patch ```diff Subject: [PATCH] Fix style of data volume --- Index: build.gradle IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== diff --git a/build.gradle b/build.gradle --- a/build.gradle (revision 444923c21ce09f2e0fca27d5650c0ab32005ba84) +++ b/build.gradle (date 1752067989987) @@ -42,6 +42,7 @@ google() mavenCentral() maven { url 'https://jitpack.io' } + mavenLocal() } configurations.all { resolutionStrategy.force 'org.objenesis:objenesis:2.6' Index: versions.properties IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>ISO-8859-1 =================================================================== diff --git a/versions.properties b/versions.properties --- a/versions.properties (revision 444923c21ce09f2e0fca27d5650c0ab32005ba84) +++ b/versions.properties (date 1752068035878) @@ -81,7 +81,7 @@ version.com.duckduckgo.netguard..netguard-android=1.10.2 -version.com.duckduckgo.synccrypto..sync-crypto-android=0.4.0 +version.com.duckduckgo.synccrypto..sync-crypto-android=0.5.0-SNAPSHOT version.com.frybits.harmony..harmony=1.2.6 ``` - [ ] Build the Android app ```bash rm -rf build-cache/; ./gradlew clean assembleID ``` - [ ] Install on device and test sync - [ ] Install on 16kb page size device and test sync
6 tasks
aitorvs
added a commit
to duckduckgo/sync_crypto
that referenced
this pull request
Jul 10, 2025
Task/Issue URL: https://app.asana.com/1/137249556945/project/488551667048375/task/1206705314358009?focus=true ## Description Update to central portal and fix 16kb page size compatibility ## Testing - [x] checkout this PR and execute ```bash ./gradlew clean assemble publishToMavenLocal ``` - [x] Check out duckduckgo/Android#5204 apply the following patch ```diff diff --git a/build.gradle b/build.gradle index a620d932d..0b5cee9cd 100644 --- a/build.gradle +++ b/build.gradle @@ -42,6 +42,7 @@ allprojects { google() mavenCentral() maven { url 'https://jitpack.io' } + mavenLocal() } configurations.all { resolutionStrategy.force 'org.objenesis:objenesis:2.6' diff --git a/versions.properties b/versions.properties index f4547d0a1..82c9f20e7 100644 --- a/versions.properties +++ b/versions.properties @@ -81,7 +81,7 @@ version.com.android.installreferrer..installreferrer=2.2 version.com.duckduckgo.netguard..netguard-android=1.10.2 -version.com.duckduckgo.synccrypto..sync-crypto-android=0.6.0 +version.com.duckduckgo.synccrypto..sync-crypto-android=0.6.0-SNAPSHOT version.com.frybits.harmony..harmony=1.2.6 ``` - [ ] Build the Android app ```bash rm -rf build-cache/; ./gradlew clean assembleID ``` - [x] Install on device and test sync - [ ] Install on 16kb page size device and test sync - [x] install on pixel 3a API 29 emulator and test sync
CDRussell
approved these changes
Jul 10, 2025
Member
CDRussell
left a comment
There was a problem hiding this comment.
Tested again after latest changes, including running on an 16KB emulator. LGTM
joshliebe
pushed a commit
that referenced
this pull request
Jul 11, 2025
Task/Issue URL: https://app.asana.com/0/1207908166761516/1206705314358009/f ### Description Targets Android SDK 35 and makes the required changes to be compatible. See the Asana task for full details. A key part was adding native library alignment checks and updated dependencies to support 16KB page size alignment. End to End test run: https://github.com/duckduckgo/Android/actions/runs/16137443827/job/45536745475 Key changes include: - Updated target SDK to v35 - Added script to verify ELF alignment in native libraries - Updated SQLCipher to use newer version with proper alignment - Added alignment flags to CMake configurations - Removed deprecated WebSQL database settings - Updated Conscrypt, NetGuard, and sync-crypto dependencies ### Steps to test this PR - [ ] Run the app and verify no crashes related to native libraries - [ ] Test autofill functionality with updated SQLCipher - [ ] Verify VPN and network protection features work correctly - [ ] Test web browsing functionality - [ ] Check it runs on different Android versions to ensure compatibility (SDK 26-35) - [ ] Test AppTp functionality - [ ] Test sync funcationality ### UI changes N/A --- - To see the specific tasks where the Asana app for GitHub is being used, see below: - https://app.asana.com/0/0/1209856558112240 --------- Co-authored-by: Aitor Viana <aitorvs@gmail.com> Co-authored-by: Craig Russell <1336281+CDRussell@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Task/Issue URL: https://app.asana.com/0/1207908166761516/1206705314358009/f
Description
Targets Android SDK 35 and makes the required changes to be compatible. See the Asana task for full details.
A key part was adding native library alignment checks and updated dependencies to support 16KB page size alignment.
End to End test run: https://github.com/duckduckgo/Android/actions/runs/16137443827/job/45536745475
Key changes include:
Steps to test this PR
UI changes
N/A