GithubHelp home page GithubHelp logo

refiner-io / mobile-sdk-android Goto Github PK

View Code? Open in Web Editor NEW
0.0 0.0 0.0 372 KB

Home Page: https://refiner.io

Kotlin 100.00%
android in-app-survey in-product microsurveys survey survey-data survey-form surveys

mobile-sdk-android's People

Contributors

chezmo avatar tekinalper avatar

Watchers

 avatar  avatar  avatar

mobile-sdk-android's Issues

No definition found for class:'io.refiner.ui.RefinerSurveyViewModel'

We are seeing a crash when calling Refiner.trackScreen(). It is happening across all devices and Android versions.

Caused by org.koin.core.error.NoBeanDefFoundException: No definition found for class:'io.refiner.ui.RefinerSurveyViewModel' q:''. Check your definitions!
       at org.koin.core.scope.Scope.throwDefinitionNotFound(Scope.kt:298)
       at org.koin.core.scope.Scope.resolveValue(Scope.kt:268)
       at org.koin.core.scope.Scope.resolveInstance(Scope.kt:231)
       at org.koin.core.scope.Scope.get(Scope.kt:210)
       at io.refiner.Refiner$o.invoke(SourceFile:3)
       at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:74)
       at io.refiner.Refiner.getViewModel(SourceFile:1)
       at io.refiner.Refiner.trackScreen(SourceFile:1)
       at com.directfreight.driver.analytics.RefinerFragment.onStart(Refiner.kt:51)
       at androidx.fragment.app.Fragment.performStart(Fragment.java:3162)
       at androidx.fragment.app.FragmentStateManager.start(FragmentStateManager.java:588)
       at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:279)
       at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:1899)
       at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:1817)
       at androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:1760)
       at androidx.fragment.app.FragmentManager$5.run(FragmentManager.java:547)
       at android.os.Handler.handleCallback(Handler.java:883)
       at android.os.Handler.dispatchMessage(Handler.java:100)
       at android.os.Looper.loop(Looper.java:237)
       at android.app.ActivityThread.main(ActivityThread.java:7948)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1075)

Data binding is required

Developers are forced to add databinding = true (even they don't use it) to use library, which is resulted in increasing app size. Otherwise crash on first survey is appearing:

java.lang.NoClassDefFoundError: Failed resolution of: Landroidx/databinding/DataBinderMapperImpl;
at androidx.databinding.DataBindingUtil.<clinit>(DataBindingUtil.java:32)
at androidx.databinding.DataBindingUtil.inflate(DataBindingUtil.java:95)
at io.refiner.ui.base.BaseBottomSheetDialogFragment.onCreateView(SourceFile:1)
at androidx.fragment.app.Fragment.performCreateView(Fragment.java:3114)
at androidx.fragment.app.DialogFragment.performCreateView(DialogFragment.java:775)
at androidx.fragment.app.FragmentStateManager.createView(FragmentStateManager.java:557)
at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:272)
at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:1943)
at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:1845)
at androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:1782)
at androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:3042)
at androidx.fragment.app.FragmentManager.dispatchActivityCreated(FragmentManager.java:2952)
at androidx.fragment.app.FragmentController.dispatchActivityCreated(FragmentController.java:263)
at androidx.fragment.app.FragmentActivity.onStart(FragmentActivity.java:350)
at androidx.appcompat.app.AppCompatActivity.onStart(AppCompatActivity.java:251)
at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1425)
at android.app.Activity.performStart(Activity.java:7825)
at android.app.ActivityThread.handleStartActivity(ActivityThread.java:3294)
at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:221)
at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:201)
at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:173)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2016)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loop(Looper.java:214)
at android.app.ActivityThread.main(ActivityThread.java:7356)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)
Caused by: java.lang.ClassNotFoundException: Didn't find class "androidx.databinding.DataBinderMapperImpl" on path: DexPathList[[zip file "/data/app/io.zerion.android.dev-o3Ja424kqfYwogM-Npg7Bg==/base.apk"],nativeLibraryDirectories=[/data/app/io.zerion.android.dev-o3Ja424kqfYwogM-Npg7Bg==/lib/arm64, /data/app/io.zerion.android.dev-o3Ja424kqfYwogM-Npg7Bg==/base.apk!/lib/arm64-v8a, /system/lib64, /system/product/lib64]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:196)
at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)

Refiner for Android SDK crashing : lateinit property koinApp has not been initialized

Prerequisite :
link to refiner survey : https://app.refiner.io/projects/95973fc0-0381-11ee-962a-65025d48f380/overview

(1) Refiner SDK Initialises successfully :
log : Refiner: Refiner SDK is initialized successfully! 1.2.0
(2) Trigger event inside targeting tab is set to Manual
(3) Survey should open every time user clicks on a button
(4) Recurrence is set to Repeating
(5) Follow up mode is disabled

However, upon calling the showForm method using manual launch trigger, the application crashing on the action

btnShowSurvey.setOnClickListener { Refiner.showForm(formUuid = FORM_ID, force = true) //causing crash, form id is not null here. }

Complete error log :
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.ezetap.service.demo/io.refiner.ui.RefinerSurveyActivity}: kotlin.UninitializedPropertyAccessException: **lateinit property koinApp has not been initialized** at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2666) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2733) at android.app.ActivityThread.-wrap12(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1480) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:154) at android.app.ActivityThread.main(ActivityThread.java:6153) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755) Caused by: kotlin.UninitializedPropertyAccessException: lateinit property koinApp has not been initialized
Screenshot from 2023-07-04 18-08-49

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.