adobe / aepsdk-assurance-android

Adobe Experience Platform Assurance SDK
Apache License 2.0
2 stars 4 forks source link

Crash on Android API 19: Resources$NotFoundException #69

Open kevinlind opened 1 year ago

kevinlind commented 1 year ago

Expected Behaviour

No crash.

Actual Behaviour

Application crashes after setting pin and clicking connect. Crash occurs on Android 19. Also tested on Android 24 and Android 34 and saw no crash.

Steps to Reproduce

Used test app from Edge repo. Launch on emulator running Android 19

  1. Click on settings link (three dots in upper-right corner) and select "Connect to Assurance"
  2. Add Assurance session URL and click Connect.
  3. Add Assurance session pin and click Connect.

Application crashes.

Platform and Version

Assurance: 2.1.1 Core: 2.3.1 Edge: 2.2.0

Running on Android emulator using API 19.

Logs taken while reproducing problem

13:45:04.694  E  FATAL EXCEPTION: main
                 Process: com.adobe.marketing.edgetestapp, PID: 4887
                 java.lang.RuntimeException: Unable to resume activity {com.adobe.marketing.edgetestapp/com.adobe.marketing.tester.AssuranceActivity}: android.content.res.Resources$NotFoundException: File res/drawable/ic_assurance_active.xml from drawable resource ID #0x7f070059
                    at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2788)
                    at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2817)
                    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1238)
                    at android.os.Handler.dispatchMessage(Handler.java:102)
                    at android.os.Looper.loop(Looper.java:136)
                    at android.app.ActivityThread.main(ActivityThread.java:5017)
                    at java.lang.reflect.Method.invokeNative(Native Method)
                    at java.lang.reflect.Method.invoke(Method.java:515)
                    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
                    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
                    at dalvik.system.NativeStart.main(Native Method)
                 Caused by: android.content.res.Resources$NotFoundException: File res/drawable/ic_assurance_active.xml from drawable resource ID #0x7f070059
                    at android.content.res.Resources.loadDrawable(Resources.java:2101)
                    at android.content.res.Resources.getDrawable(Resources.java:700)
                    at androidx.core.content.ContextCompat.getDrawable(ContextCompat.java:485)
                    at com.adobe.marketing.mobile.assurance.AssuranceFloatingButtonView.setGraphic(AssuranceFloatingButtonView.java:68)
                    at com.adobe.marketing.mobile.assurance.AssuranceFloatingButton$1.run(AssuranceFloatingButton.java:139)
                    at android.app.Activity.runOnUiThread(Activity.java:4713)
                    at com.adobe.marketing.mobile.assurance.AssuranceFloatingButton.display(AssuranceFloatingButton.java:93)
                    at com.adobe.marketing.mobile.assurance.AssuranceFloatingButton.manageButtonDisplayForActivity(AssuranceFloatingButton.java:351)
                    at com.adobe.marketing.mobile.assurance.AssuranceFloatingButton.onActivityResumed(AssuranceFloatingButton.java:356)
                    at com.adobe.marketing.mobile.assurance.AssuranceSessionPresentationManager.onActivityResumed(AssuranceSessionPresentationManager.java:189)
                    at com.adobe.marketing.mobile.assurance.AssuranceSession.onActivityResumed(AssuranceSession.java:484)
                    at com.adobe.marketing.mobile.assurance.AssuranceSessionOrchestrator$HostAppActivityLifecycleObserver.onActivityResumed(AssuranceSessionOrchestrator.java:510)
                    at android.app.Application.dispatchActivityResumed(Application.java:208)
                    at android.app.Activity.onResume(Activity.java:1097)
                    at androidx.fragment.app.FragmentActivity.onResume(FragmentActivity.java:434)
                    at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1192)
                    at android.app.Activity.performResume(Activity.java:5310)
                    at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2778)
                    at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2817) 
                    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1238) 
                    at android.os.Handler.dispatchMessage(Handler.java:102) 
                    at android.os.Looper.loop(Looper.java:136) 
                    at android.app.ActivityThread.main(ActivityThread.java:5017) 
                    at java.lang.reflect.Method.invokeNative(Native Method) 
                    at java.lang.reflect.Method.invoke(Method.java:515) 
                    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779) 
                    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595) 
                    at dalvik.system.NativeStart.main(Native Method) 
                 Caused by: org.xmlpull.v1.XmlPullParserException: Binary XML file line #13: invalid drawable tag vector
                    at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:933)
                    at android.graphics.drawable.Drawable.createFromXml(Drawable.java:877)
                    at android.content.res.Resources.loadDrawable(Resources.java:2097)
                    at android.content.res.Resources.getDrawable(Resources.java:700) 
                    at androidx.core.content.ContextCompat.getDrawable(ContextCompat.java:485) 
                    at com.adobe.marketing.mobile.assurance.AssuranceFloatingButtonView.setGraphic(AssuranceFloatingButtonView.java:68) 
                    at com.adobe.marketing.mobile.assurance.AssuranceFloatingButton$1.run(AssuranceFloatingButton.java:139) 
                    at android.app.Activity.runOnUiThread(Activity.java:4713) 
                    at com.adobe.marketing.mobile.assurance.AssuranceFloatingButton.display(AssuranceFloatingButton.java:93) 
                    at com.adobe.marketing.mobile.assurance.AssuranceFloatingButton.manageButtonDisplayForActivity(AssuranceFloatingButton.java:351) 
                    at com.adobe.marketing.mobile.assurance.AssuranceFloatingButton.onActivityResumed(AssuranceFloatingButton.java:356) 
                    at com.adobe.marketing.mobile.assurance.AssuranceSessionPresentationManager.onActivityResumed(AssuranceSessionPresentationManager.java:189) 
                    at com.adobe.marketing.mobile.assurance.AssuranceSession.onActivityResumed(AssuranceSession.java:484) 
                    at com.adobe.marketing.mobile.assurance.AssuranceSessionOrchestrator$HostAppActivityLifecycleObserver.onActivityResumed(AssuranceSessionOrchestrator.java:510) 
                    at android.app.Application.dispatchActivityResumed(Application.java:208) 
                    at android.app.Activity.onResume(Activity.java:1097) 
                    at androidx.fragment.app.FragmentActivity.onResume(FragmentActivity.java:434) 
                    at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1192) 
                    at android.app.Activity.performResume(Activity.java:5310) 
                    at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2778) 
                    at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2817) 
                    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1238) 
                    at android.os.Handler.dispatchMessage(Handler.java:102) 
                    at android.os.Looper.loop(Looper.java:136) 
                    at android.app.ActivityThread.main(ActivityThread.java:5017) 
                    at java.lang.reflect.Method.invokeNative(Native Method) 
                    at java.lang.reflect.Method.invoke(Method.java:515) 
                    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779) 
                    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595) 
                    at dalvik.system.NativeStart.main(Native Method) 
prudrabhat commented 1 year ago

We recently enabled vector drawable support recently and I see some issues similar to this on 19. I will go over this a bit more detail next week.