Giter Site home page Giter Site logo

hjoprcsdebugger's People

Contributors

horacekj avatar kudlav avatar navratilovah avatar

Stargazers

 avatar

Watchers

 avatar  avatar

hjoprcsdebugger's Issues

Modul

  • Zrušit potvrzování nastavení výstupu. Tohle není kritická operace, potvrzování akorát zdržuje.
  • V názvu aktivity opět zobrazit adresu modulu.
  • Když otevřu jeden modul, pak jdu zpět, pak jiný modul a pak jdu zpět, nedostanu se zpět na výber modulů, ale na nastavování původního modulu.
  • Při aktivaci a pak deaktivaci výstupu dostávám výjimku (udělalo jen jednou, podruhé už ok, možná se to stalo při situaci popsané v předchozím bodu):
E/AndroidRuntime: FATAL EXCEPTION: main
    Process: kmzbrnoI.hjoprcsdebugger, PID: 5832
    java.lang.IllegalStateException: MediaPlayer.create(paren…nager.TYPE_NOTIFICATION)) must not be null
        at kmzbrnoI.hjoprcsdebugger.ui.moduleInfo.ModuleAdapter.onCreateViewHolder(ModuleAdapter.kt:45)
        at kmzbrnoI.hjoprcsdebugger.ui.moduleInfo.ModuleAdapter.onCreateViewHolder(ModuleAdapter.kt:20)
        at androidx.recyclerview.widget.RecyclerView$Adapter.createViewHolder(RecyclerView.java:7078)
        at androidx.recyclerview.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline(RecyclerView.java:6235)
        at androidx.recyclerview.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:6118)
        at androidx.recyclerview.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:6114)
        at androidx.recyclerview.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:2303)
        at androidx.recyclerview.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1627)
        at androidx.recyclerview.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1587)
        at androidx.recyclerview.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:665)
        at androidx.recyclerview.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:4134)
        at androidx.recyclerview.widget.RecyclerView.dispatchLayout(RecyclerView.java:3851)
        at androidx.recyclerview.widget.RecyclerView.onLayout(RecyclerView.java:4404)
        at android.view.View.layout(View.java:20693)
        at android.view.ViewGroup.layout(ViewGroup.java:6194)
        at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1812)
        at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1656)
        at android.widget.LinearLayout.onLayout(LinearLayout.java:1565)
        at android.view.View.layout(View.java:20693)
        at android.view.ViewGroup.layout(ViewGroup.java:6194)
        at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1812)
        at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1656)
        at android.widget.LinearLayout.onLayout(LinearLayout.java:1565)
        at android.view.View.layout(View.java:20693)
        at android.view.ViewGroup.layout(ViewGroup.java:6194)
        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
        at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
        at android.view.View.layout(View.java:20693)
        at android.view.ViewGroup.layout(ViewGroup.java:6194)
        at androidx.appcompat.widget.ActionBarOverlayLayout.onLayout(ActionBarOverlayLayout.java:446)
        at android.view.View.layout(View.java:20693)
        at android.view.ViewGroup.layout(ViewGroup.java:6194)
        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
        at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
        at android.view.View.layout(View.java:20693)
        at android.view.ViewGroup.layout(ViewGroup.java:6194)
        at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1812)
        at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1656)
        at android.widget.LinearLayout.onLayout(LinearLayout.java:1565)
        at android.view.View.layout(View.java:20693)
        at android.view.ViewGroup.layout(ViewGroup.java:6194)
        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
        at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
        at com.android.internal.policy.DecorView.onLayout(DecorView.java:753)
        at android.view.View.layout(View.java:20693)
        at android.view.ViewGroup.layout(ViewGroup.java:6194)
        at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2799)
        at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2316)
        at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1463)
        at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7190)
        at android.view.Choreographer$CallbackRecord.run(Choreographer.java:949)
        at android.view.Choreographer.doCallbacks(Choreographer.java:761)
        at android.view.Choreographer.doFrame(Choreographer.java:696)
        at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:935)
        at android.os.Handler.handleCallback(Handler.java:873)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:193)
        at android.app.ActivityThread.main(ActivityThread.java:6718)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:491)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
  • S-COM: není třeba potvrzovat stav volnou "Yes", stačí kliknout na příslušný řádek. Místo "No" stačí tlačítko zpět.
  • S-COM: zobrazit návěst "0" modře, jakoukoliv jinou bíle.
  • Pokud má výstup typu "B" jiný stav, než 0 nebo 1, umožnit změnit stav i tak a to na 0. Momentálně neumožní změnit stav.
  • Měnit stav jen při kliku na obdélníček výstupu, nikoliv na celý řádek (pokud to není super-náročné).

Seznam modulů

  • Zobrazit v seznamu adresu modulu: "1: Klobouky MTB 1".
  • Umožnit refresh seznamu modulů swipem dolů (při odeslání požadavku na refresh smazat seznam).
  • Přidat aktivitě název (asi něco jako "Select a module" nebo "Modules list")

Občas při přechodu do modulu vyvolá výjimku

... a aplikace spadne. Dělá opravdu jen občas.

E/AndroidRuntime: FATAL EXCEPTION: main
    Process: kmzbrnoI.hjoprcsdebugger, PID: 31849
    java.lang.RuntimeException: Unable to resume activity {kmzbrnoI.hjoprcsdebugger/kmzbrnoI.hjoprcsdebugger.ui.serverConnector.ServerConnectorActivity}: kotlin.KotlinNullPointerException
        at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3822)
        at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3854)
        at android.app.servertransaction.ResumeActivityItem.execute(ResumeActivityItem.java:51)
        at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:145)
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:70)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1816)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loop(Looper.java:193)
        at android.app.ActivityThread.main(ActivityThread.java:6718)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:491)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
     Caused by: kotlin.KotlinNullPointerException
        at kmzbrnoI.hjoprcsdebugger.storage.ServerDb.loadServers(ServerDb.kt:33)
        at kmzbrnoI.hjoprcsdebugger.storage.ServerDb.<init>(ServerDb.kt:29)
        at kmzbrnoI.hjoprcsdebugger.storage.ServerDb$Companion.getInstance(ServerDb.kt:21)
        at kmzbrnoI.hjoprcsdebugger.storage.ServerDb$Companion.getInstance$default(ServerDb.kt:19)
        at kmzbrnoI.hjoprcsdebugger.ui.serverConnector.ServerConnector.start(ServerConnector.kt:73)
        at kmzbrnoI.hjoprcsdebugger.ui.serverConnector.ServerConnector.onResume(ServerConnector.kt:55)
        at androidx.fragment.app.Fragment.performResume(Fragment.java:2649)
        at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManagerImpl.java:922)
        at androidx.fragment.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManagerImpl.java:1238)
        at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManagerImpl.java:1303)
        at androidx.fragment.app.FragmentManagerImpl.dispatchStateChange(FragmentManagerImpl.java:2659)
        at androidx.fragment.app.FragmentManagerImpl.dispatchResume(FragmentManagerImpl.java:2625)
        at androidx.fragment.app.FragmentController.dispatchResume(FragmentController.java:268)
        at androidx.fragment.app.FragmentActivity.onResumeFragments(FragmentActivity.java:479)
        at androidx.fragment.app.FragmentActivity.onPostResume(FragmentActivity.java:468)
        at androidx.appcompat.app.AppCompatActivity.onPostResume(AppCompatActivity.java:195)
        at android.app.Activity.performResume(Activity.java:7325)
        at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3814)
        at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3854) 
        at android.app.servertransaction.ResumeActivityItem.execute(ResumeActivityItem.java:51) 
        at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:145) 
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:70) 
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1816) 
        at android.os.Handler.dispatchMessage(Handler.java:106) 
        at android.os.Looper.loop(Looper.java:193) 
        at android.app.ActivityThread.main(ActivityThread.java:6718) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:491) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858) 

Refresh serverů

  • Server zůstává v seznamu serverů, i když byl vypnut a pak spušten manuální refresh. Manuální refresh by měl smazat seznam nalezených serverů.
  • Nechat animaci po swipu dolů manuálního refreshe točit tak dlouho, jak dlouho trvá UDP timeout na příchozí data, ať animace jasně reflektuje, kdy se může seznam ještě měnit a kdy ne.
  • Refresh nefunguje: stav existujího serveru se neaktualizuje (např. offline/online).

Umožnit zobrazit informace o modulu

Adresa, název, typ modulu, typ vstupů a výstupů, firmware.

Lze například po dlouhém podržení na název modulu v seznamum modulů jako jenduché popup okno s jediným zavíracím tlačítkem "OK".

Pády při návratech na předchozí obrazovky

Při návratech na obrazovku zpět a někdy též během připojování k serveru spadne:

FATAL EXCEPTION: main
	Process: kmzbrnoI.hjoprcsdebugger, PID: 6334
	android.view.WindowManager$BadTokenException: Unable to add window -- token android.os.BinderProxy@1ccec52 is not valid; is your activity running?
		at android.view.ViewRootImpl.setView(ViewRootImpl.java:1395)
		at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:411)
		at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:150)
		at android.app.Dialog.show(Dialog.java:352)
		at android.app.AlertDialog$Builder.show(AlertDialog.java:1131)
		at kmzbrnoI.hjoprcsdebugger.network.TCPClientApplication.onDisconnected$lambda-1(TCPClientApplication.kt:111)
		at kmzbrnoI.hjoprcsdebugger.network.TCPClientApplication.$r8$lambda$knPFQFh4zGJkKX-tH83g35JvZsw(Unknown Source:0)
		at kmzbrnoI.hjoprcsdebugger.network.TCPClientApplication$$ExternalSyntheticLambda1.run(Unknown Source:2)
		at android.os.Handler.handleCallback(Handler.java:958)
		at android.os.Handler.dispatchMessage(Handler.java:99)
		at android.os.Looper.loopOnce(Looper.java:205)
		at android.os.Looper.loop(Looper.java:294)
		at android.app.ActivityThread.main(ActivityThread.java:8177)
		at java.lang.reflect.Method.invoke(Native Method)
		at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:552)
		at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:971)

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.