diff --git a/sdk-license/src/main/java/com/xuqm/sdk/license/internal/LicenseInitializerProvider.kt b/sdk-license/src/main/java/com/xuqm/sdk/license/internal/LicenseInitializerProvider.kt index c0f29c6..e65964b 100644 --- a/sdk-license/src/main/java/com/xuqm/sdk/license/internal/LicenseInitializerProvider.kt +++ b/sdk-license/src/main/java/com/xuqm/sdk/license/internal/LicenseInitializerProvider.kt @@ -4,10 +4,20 @@ import android.content.ContentProvider import android.content.ContentValues import android.database.Cursor import android.net.Uri +import com.xuqm.sdk.XuqmSDK class LicenseInitializerProvider : ContentProvider() { override fun onCreate(): Boolean { - context?.let(LicenseContextHolder::init) + val ctx = context ?: return true + LicenseContextHolder.init(ctx) + // Auto-initialize the full SDK if a license file is present in assets/xuqm/. + // Runs before Application.onCreate(), so no app-level init code is needed. + runCatching { + val licenseFile = LicenseFileReader.read(ctx) ?: return@runCatching + val appKey = licenseFile.appKey.takeIf { it.isNotBlank() } ?: return@runCatching + val serverUrl = licenseFile.serverUrl?.takeIf { it.isNotBlank() } + XuqmSDK.initialize(ctx, appKey, serverUrl) + } return true }