CleverTap / clevertap-android-sdk

CleverTap Android SDK
MIT License
80 stars 74 forks source link

StrictMode policy violation occurred while displaying InApp notification #673

Open boskicaruso opened 1 month ago

boskicaruso commented 1 month ago

Describe the bug StrictMode policy violation occurred while displaying InApp notification

Screenshots/Logs StrictMode policy violation; ~duration=12 ms: android.os.strictmode.DiskReadViolation at android.os.StrictMode$AndroidBlockGuardPolicy.onReadFromDisk(StrictMode.java:1679) at libcore.io.BlockGuardOs.access(BlockGuardOs.java:74) at libcore.io.ForwardingOs.access(ForwardingOs.java:128) at android.app.ActivityThread$AndroidOs.access(ActivityThread.java:8551) at java.io.UnixFileSystem.checkAccess(UnixFileSystem.java:313) at java.io.File.exists(File.java:813) at android.app.ContextImpl.ensurePrivateDirExists(ContextImpl.java:818) at android.app.ContextImpl.ensurePrivateDirExists(ContextImpl.java:809) at android.app.ContextImpl.getPreferencesDir(ContextImpl.java:765) at android.app.ContextImpl.getSharedPreferencesPath(ContextImpl.java:990) at android.app.ContextImpl.getSharedPreferences(ContextImpl.java:605) at android.content.ContextWrapper.getSharedPreferences(ContextWrapper.java:223) at com.clevertap.android.sdk.store.preference.CTPreference.sharedPrefs$clevertap_core_release(CTPreference.kt:194) at com.clevertap.android.sdk.store.preference.CTPreference.readString(CTPreference.kt:27) at com.clevertap.android.sdk.inapp.store.preference.ImpressionStore.getLongListFromPrefs(ImpressionStore.kt:74) at com.clevertap.android.sdk.inapp.store.preference.ImpressionStore.read(ImpressionStore.kt:29) at com.clevertap.android.sdk.inapp.store.preference.ImpressionStore.write(ImpressionStore.kt:39) at com.clevertap.android.sdk.inapp.ImpressionManager.recordImpression(ImpressionManager.kt:42) at com.clevertap.android.sdk.InAppFCManager.didShow(InAppFCManager.java:115) at com.clevertap.android.sdk.inapp.InAppController.inAppNotificationDidShow(InAppController.java:516) at com.clevertap.android.sdk.InAppNotificationActivity.didShow(InAppNotificationActivity.java:280) at com.clevertap.android.sdk.InAppNotificationActivity.showAlertDialogForInApp(InAppNotificationActivity.java:428) at com.clevertap.android.sdk.InAppNotificationActivity.createContentFragment(InAppNotificationActivity.java:361) at com.clevertap.android.sdk.InAppNotificationActivity.onCreate(InAppNotificationActivity.java:138) at android.app.Activity.performCreate(Activity.java:8980) at android.app.Activity.performCreate(Activity.java:8958) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1526) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:4013) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4218) at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:112) at android.app.servertransaction.TransactionExecutor.executeNonLifecycleItem(TransactionExecutor.java:174) at android.app.servertransaction.TransactionExecutor.executeTransactionItems(TransactionExecutor.java:109) at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:81) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2619) at android.os.Handler.dispatchMessage(Handler.java:107) at android.os.Looper.loopOnce(Looper.java:232) at android.os.Looper.loop(Looper.java:317) at android.app.ActivityThread.main(ActivityThread.java:8674) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:580) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:886)

Environment (please complete the following information):

Anush-Shand commented 1 month ago

Heyy @boskicaruso Thanks for raising this. This strict mode violation was already detected in our internal audit.

As documented by android But don't feel compelled to fix everything that StrictMode finds here , this isn't extremely critical and hence we have added this to our roadmap