Git Product home page Git Product logo

doki's People

Contributors

fennifith avatar jahirfiquitiva avatar ni554n avatar rex50 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

doki's Issues

Add translation support

Right now there is only English version of instructions available via API. It would be great to have ability to get translated text for different languages. If you need any help, then I would be glad to collaborate.

crash only in release mode

Great work!

I implement this library into Flutter. When in debug mode, it goes well, but after I built it in release mode, it crashes.

Here is the log caught by Crashlytics:

Fatal Exception: java.lang.ExceptionInInitializerError
       at retrofit2.converter.gson.GsonConverterFactory.create(GsonConverterFactory.java)
       at dev.doubledot.doki.api.remote.DokiApiService$Companion.create(DokiApiService.java:12)
       at dev.doubledot.doki.api.tasks.DokiApi$dokiApiService$2.invoke(DokiApi.java:2)
       at dev.doubledot.doki.api.tasks.DokiApi$dokiApiService$2.invoke(DokiApi.java)
       at kotlin.SynchronizedLazyImpl.getValue(SynchronizedLazyImpl.java:20)
       at dev.doubledot.doki.api.tasks.DokiApi.getDokiApiService(DokiApi.java:7)
       at io.reactivex.Observable.subscribe(Observable.java:5)
       at dev.doubledot.doki.api.tasks.DokiApi.getManufacturer(DokiApi.java:5)
       at dev.doubledot.doki.views.DokiContentView.loadContent(DokiContentView.java:21)
       at dev.doubledot.doki.ui.DokiActivity.onCreate(DokiActivity.java:52)
       at android.app.Activity.performCreate(Activity.java:8109)
       at android.app.Activity.performCreate(Activity.java:8083)
       at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1310)
       at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3474)
       at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3661)
       at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:85)
       at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
       at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2108)
       at android.os.Handler.dispatchMessage(Handler.java:106)
       at android.os.Looper.loop(Looper.java:236)
       at android.app.ActivityThread.main(ActivityThread.java:7876)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:656)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:967)

Caused by java.lang.RuntimeException: Missing type parameter.
       at com.google.gson.reflect.TypeToken.getSuperclassTypeParameter(TypeToken.java:3)
       at com.google.gson.Gson$1.<init>(Gson.java)
       at com.google.gson.Gson.<clinit>(Gson.java:2)
       at retrofit2.converter.gson.GsonConverterFactory.create(GsonConverterFactory.java)
       at dev.doubledot.doki.api.remote.DokiApiService$Companion.create(DokiApiService.java:12)
       at dev.doubledot.doki.api.tasks.DokiApi$dokiApiService$2.invoke(DokiApi.java:2)
       at dev.doubledot.doki.api.tasks.DokiApi$dokiApiService$2.invoke(DokiApi.java)
       at kotlin.SynchronizedLazyImpl.getValue(SynchronizedLazyImpl.java:20)
       at dev.doubledot.doki.api.tasks.DokiApi.getDokiApiService(DokiApi.java:7)
       at io.reactivex.Observable.subscribe(Observable.java:5)
       at dev.doubledot.doki.api.tasks.DokiApi.getManufacturer(DokiApi.java:5)
       at dev.doubledot.doki.views.DokiContentView.loadContent(DokiContentView.java:21)
       at dev.doubledot.doki.ui.DokiActivity.onCreate(DokiActivity.java:52)
       at android.app.Activity.performCreate(Activity.java:8109)
       at android.app.Activity.performCreate(Activity.java:8083)
       at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1310)
       at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3474)
       at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3661)
       at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:85)
       at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
       at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2108)
       at android.os.Handler.dispatchMessage(Handler.java:106)
       at android.os.Looper.loop(Looper.java:236)
       at android.app.ActivityThread.main(ActivityThread.java:7876)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:656)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:967)

I'm thinking maybe caused by obfuscate problem?

Hello from Don't Kill My App

Hello James, not really an issue, just want to say Hello, and thank you for this great library which was really needed and will help a lot of developers IMHO.

Please let me know if you need any changes in the APIs of DKMA or if you see anything we could help with.

Big thanks and all the best!

Petr

Update to AndroidX request

Hello!

Your project has set android.useAndroidX=true, but configuration :app:releaseRuntimeClasspath still contains legacy support libraries, which may cause runtime issues.
This behavior will not be allowed in Android Gradle plugin 8.0.
Please use only AndroidX dependencies or set android.enableJetifier=true in the gradle.properties file to migrate your project to AndroidX (see https://developer.android.com/jetpack/androidx/migrate for more info).
The following legacy support libraries are detected:
:app:releaseRuntimeClasspath -> dev.doubledot.doki:library:0.0.1 -> ru.noties.markwon:html:3.0.0 -> com.android.support:support-annotations:28.0.0

Android Support libs are outdated now, can a version with markwon version 4 be published? https://github.com/noties/Markwon/blob/master/build.gradle this new version will be requiring only AndroidX libs.

Error handling

The library UI should have some kind of error message / popup to display when there isn't a network connection or any other issue occurs in the api, as suggested in #4 - potentially with a link to the page on the DKMA website for a user to follow instead.

StackOverflowError crash after upgrading build:gradle to 8.2.2

Hi,

Everything was working fine and the app was in production. In a recent update I upgraded my build:gradle from 7.4.2 to 8.2.2 and now in Firebbase crashlytics i am seeing these crashes:

Caused by java.lang.StackOverflowError: stack size 8188KB at ru.noties.markwon.priority.PriorityProcessorImpl.eval(PriorityProcessorImpl.java:78) at ru.noties.markwon.priority.PriorityProcessorImpl.eval(PriorityProcessorImpl.java:113) at ru.noties.markwon.priority.PriorityProcessorImpl.eval(PriorityProcessorImpl.java:113) at ru.noties.markwon.priority.PriorityProcessorImpl.eval(PriorityProcessorImpl.java:113) at ru.noties.markwon.priority.PriorityProcessorImpl.eval(PriorityProcessorImpl.java:113) at ru.noties.markwon.priority.PriorityProcessorImpl.eval(PriorityProcessorImpl.java:113) at ru.noties.markwon.priority.PriorityProcessorImpl.eval(PriorityProcessorImpl.java:113) at ru.noties.markwon.priority.PriorityProcessorImpl.eval(PriorityProcessorImpl.java:113) at ru.noties.markwon.priority.PriorityProcessorImpl.eval(PriorityProcessorImpl.java:113) at ru.noties.markwon.priority.PriorityProcessorImpl.eval(PriorityProcessorImpl.java:113) at ru.noties.markwon.priority.PriorityProcessorImpl.eval(PriorityProcessorImpl.java:113) at dev.doubledot.doki.views.DokiHtmlTextView.setLinkHighlightColor(DokiHtmlTextView.kt:65) at ru.noties.markwon.priority.PriorityProcessorImpl.eval(PriorityProcessorImpl.java:65) at ru.noties.markwon.priority.PriorityProcessorImpl.process(PriorityProcessorImpl.java:41) at ru.noties.markwon.MarkwonBuilderImpl.preparePlugins(MarkwonBuilderImpl.java:145) at ru.noties.markwon.MarkwonBuilderImpl.build(MarkwonBuilderImpl.java:98) at dev.doubledot.doki.views.DokiHtmlTextView.<init>(DokiHtmlTextView.kt:51) at dev.doubledot.doki.views.DokiHtmlTextView.<init>(DokiHtmlTextView.kt:26) at dev.doubledot.doki.views.DokiHtmlTextView.<init>(DokiHtmlTextView.kt:2) at java.lang.reflect.Constructor.newInstance0(Constructor.java) at java.lang.reflect.Constructor.newInstance(Constructor.java:343) at android.view.LayoutInflater.createView(LayoutInflater.java:858) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:1010) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:965) at android.view.LayoutInflater.rInflate(LayoutInflater.java:1127) at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1088) at android.view.LayoutInflater.rInflate(LayoutInflater.java:1130) at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1088) at android.view.LayoutInflater.rInflate(LayoutInflater.java:1130) at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1088) at android.view.LayoutInflater.rInflate(LayoutInflater.java:1130) at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1088) at android.view.LayoutInflater.inflate(LayoutInflater.java:686) at android.view.LayoutInflater.inflate(LayoutInflater.java:538) at dev.doubledot.doki.views.DokiContentView.<init>(DokiContentView.kt:238) at dev.doubledot.doki.views.DokiContentView.<init>(DokiContentView.kt:27) at dev.doubledot.doki.views.DokiContentView.<init>(DokiContentView.kt:2) at java.lang.reflect.Constructor.newInstance0(Constructor.java) at java.lang.reflect.Constructor.newInstance(Constructor.java:343) at android.view.LayoutInflater.createView(LayoutInflater.java:858) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:1010) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:965) at android.view.LayoutInflater.rInflate(LayoutInflater.java:1127) at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1088) at android.view.LayoutInflater.inflate(LayoutInflater.java:686) at android.view.LayoutInflater.inflate(LayoutInflater.java:538) at com.test.fragments.KillMyAppFragment.onCreateView(KillMyAppFragment.java:27) at androidx.fragment.app.Fragment.performCreateView(Fragment.java:2963) at androidx.fragment.app.FragmentStateManager.createView(FragmentStateManager.java:518) at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:282) at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:2189) at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:2100) at androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:2002) at androidx.fragment.app.FragmentManager$5.run(FragmentManager.java:524) at android.os.Handler.handleCallback(Handler.java:938) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loopOnce(Looper.java:226) at android.os.Looper.loop(Looper.java:313) at android.app.ActivityThread.main(ActivityThread.java:8669) at java.lang.reflect.Method.invoke(Method.java) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:571) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1135)

Hey!

Hey guys, why didn't you say something? :D This is awesome!!!

Flutter support

Hi guys,

I like what you did with DOKI.
Do you plan to make it in Flutter?

Crashes only on Android 10

Here's the stacktrace:

Caused by java.lang.RuntimeException
Missing type parameter.
com.google.gson.reflect.TypeToken. (TypeToken.java:49)
com.google.gson.Gson. (Gson.java:2)
retrofit2.converter.gson.GsonConverterFactory.create (GsonConverterFactory.java:42)
dev.doubledot.doki.api.remote.DokiApiService$Companion.create (DokiApiService.java:12)
dev.doubledot.doki.api.tasks.DokiApi$dokiApiService$2.invoke (DokiApi.java:16)
dev.doubledot.doki.api.tasks.DokiApi$dokiApiService$2.invoke (DokiApi.java:13)
kotlin.SynchronizedLazyImpl.getValue (SynchronizedLazyImpl.java:22)
dev.doubledot.doki.api.tasks.DokiApi.getDokiApiService (DokiApi.java:7)
dev.doubledot.doki.api.tasks.DokiApi.getManufacturer (DokiApi.java:26)
dev.doubledot.doki.views.DokiContentView.loadContent (DokiContentView.java:21)
dev.doubledot.doki.ui.DokiActivity.onCreate (DokiActivity.java:52)
android.app.Activity.performCreate (Activity.java:7824)
com.android.internal.os.ZygoteInit.main (ZygoteInit.java:930)

Avast-Mobile Malware warning?

I've been using the doki library in an Android app. Since a recent update that I published to the app, it has been getting flagged as Malware by Avast-Mobile.

In that update I changed from jcenter to MavenCentral, and upgraded compileSdkVersion from 31 to 33 (and made some other changes completely unrelated to doki). But I am not sure what triggered these reports.

What I do know however is that I was able to fix them by removing the doki library from my app. I do not know if the reports were false alarms, why removing doki fixed it, etc. But wanted to report it here in case anyone finds this information useful.

The implementation I had used, was:
(in app build.gradle)

implementation('dev.doubledot.doki:library:0.0.1@aar') {
        transitive = true
}

(somewhere in my main activity)

        Intent intent = new Intent(MainActivity.this, DokiActivity.class);
        startActivity(intent);

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.