Skip to content

Conversation

@vibhorgoswami
Copy link
Contributor

@vibhorgoswami vibhorgoswami commented Dec 18, 2025

JIRA Ticket

SDKS-4633

Description

Update SQLCipher dependency and refactor database initialization methods.
This change also required a migration from older version of the library deprecated because of the Android 16KB requirement. More information can be found here. This migration guide shows how to migrate existing library.
image

I tested this with Oauth and Authentication Journey

@codecov
Copy link

codecov bot commented Dec 19, 2025

Codecov Report

❌ Patch coverage is 0% with 73 lines in your changes missing coverage. Please review.
✅ Project coverage is 27.05%. Comparing base (c939521) to head (06b6da8).

Files with missing lines Patch % Lines
...om/pingidentity/mfa/push/storage/SQLPushStorage.kt 0.00% 44 Missing ⚠️
...n/com/pingidentity/storage/sqlite/SQLiteStorage.kt 0.00% 16 Missing ⚠️
...om/pingidentity/mfa/oath/storage/SQLOathStorage.kt 0.00% 13 Missing ⚠️
Additional details and impacted files
@@              Coverage Diff              @@
##             develop     #149      +/-   ##
=============================================
- Coverage      27.06%   27.05%   -0.01%     
  Complexity       825      825              
=============================================
  Files            287      287              
  Lines           8300     8304       +4     
  Branches        1136     1130       -6     
=============================================
+ Hits            2246     2247       +1     
- Misses          5812     5816       +4     
+ Partials         242      241       -1     
Flag Coverage Δ
unit-tests 27.05% <0.00%> (-0.01%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@vibhorgoswami vibhorgoswami marked this pull request as ready for review December 19, 2025 22:45

packaging {
jniLibs {
pickFirsts.add("**/*.so")
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This was added because of a duplicate dependency being added which fails the build.
The file that was causing the issue: forgerock-core-4.8.0/jni/arm64-v8a/libtool-file.so

logger.d("Push storage initialized")
} catch (e: Exception) {
coroutineContext.ensureActive()
currentCoroutineContext().ensureActive()
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added this because of a suggestion from AS.

try {
// Load SQLCipher libraries
SQLiteDatabase.loadLibs(context)
System.loadLibrary("sqlcipher")
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is as part of the migration suggested by the sqlcipher library.

androidx-ui-graphics = { module = "androidx.compose.ui:ui-graphics" }
androidx-sqlite = { group = "androidx.sqlite", name = "sqlite", version = "2.5.2" }
sqlcipher = { group = "net.zetetic", name = "android-database-sqlcipher", version = "4.5.4" }
sqlcipher = { group = "net.zetetic", name = "sqlcipher-android", version = "4.12.0" }
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This version change is the primary change which updates the library to be 16KB compatible.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

3 participants