Giter Site home page Giter Site logo

axel's Introduction

Greetings stranger 👋

About… me

Hello, My name's Xavier F. Gouchet, I'm a french multipotentialite, Open Source enthusiast, Android software engineer and team leader, professional speaker and erstwhile teacher.

  • 🔭 I’m currently working on too many projects at the same time. Sci-fi books, music, Kotlin projects…
  • 🌱 I’m currently learning Roku development, and Android Jetpack Compose
  • 👯 I’m looking to collaborate on music, writing, code, …
  • 💬 Ask me about anything, among others Android, testing, Kotlin, Roku, creative writing, music, …
  • 🏳️‍🌈 Be kind to everyone

Reach out to me

Github Stats

Github stats

Top Langs

Years Badge Repos Badge Gists Badge Commits Badge

axel's People

Contributors

xgouchet avatar

Stargazers

 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

axel's Issues

Load files asynchronously

When loading a biiiiiiig file, the app hangs during the loading. Instead, use a thread + loading dialog

NPE setupDoneDiscardActionBar

Caused by: java.lang.NullPointerException
at fr.xgouchet.xmleditor.AxelNodeEditorActivity.setupDoneDiscardActionBar(AxelNodeEditorActivity.java:198)
at fr.xgouchet.xmleditor.AxelNodeEditorActivity.onCreate(AxelNodeEditorActivity.java:63)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1050)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1782)
... 11 more

Crouton message takes a long time to disappear

whenever an action happens, the associated crouton message appears for 2-3 seconds to disappear. So If I'm doing a certain action 10 times, the crouton messages won't disappear except after around 20 secs.

Add XSL helpers

Add an XSL template, as well as XSL processing instruction template

Illegal State Exception

java.lang.IllegalStateException: An XML Document can only have one element at its root
at fr.xgouchet.xmleditor.data.xml.XmlNode.onChildListChanged(XmlNode.java:75)
at fr.xgouchet.xmleditor.data.tree.TreeNode.addChildNode(TreeNode.java:44)
at fr.xgouchet.xmleditor.AxelActivity.doPasteContentInNode(AxelActivity.java:1470)
at fr.xgouchet.xmleditor.AxelActivity.onItemClick(AxelActivity.java:363)
at net.londatiga.android.QuickAction$2.onClick(QuickAction.java:224)
at android.view.View.performClick(View.java:4475)
at android.view.View$PerformClick.run(View.java:18784)
at android.os.Handler.handleCallback(Handler.java:730)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5450)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:525)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1187)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)
at dalvik.system.NativeStart.main(Native Method)

Crash on Cancel Loading

java.lang.IllegalArgumentException: View not attached to window manager
at android.view.WindowManagerGlobal.findViewLocked(WindowManagerGlobal.java:383)
at android.view.WindowManagerGlobal.removeView(WindowManagerGlobal.java:285)
at android.view.WindowManagerImpl.removeView(WindowManagerImpl.java:79)
at android.app.Dialog.dismissDialog(Dialog.java:331)
at android.app.Dialog.dismiss(Dialog.java:314)
at fr.xgouchet.xmleditor.data.AsyncXmlFileLoader.onCancelled(AsyncXmlFileLoader.java:40)
at fr.xgouchet.xmleditor.data.AsyncXmlFileLoader.onCancelled(AsyncXmlFileLoader.java:25)
at android.os.AsyncTask.finish(AsyncTask.java:629)
at android.os.AsyncTask.access$600(AsyncTask.java:177)
at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:644)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:213)
at android.app.ActivityThread.main(ActivityThread.java:5092)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:797)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:564)
at dalvik.system.NativeStart.main(Native Method)

NPE Read Intent

java.lang.NullPointerException
at fr.xgouchet.xmleditor.AxelActivity.readIntent(AxelActivity.java:730)
at fr.xgouchet.xmleditor.AxelActivity.onCreate(AxelActivity.java:100)
at android.app.Activity.performCreate(Activity.java:4465)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1923)

NPE Preview Activity

Caused by: java.lang.NullPointerException
at fr.xgouchet.xmleditor.AxelPreviewActivity.onCreate(AxelPreviewActivity.java:19)
at android.app.Activity.performCreate(Activity.java:5369)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1104)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2267)
... 11 more

StackOverflow

Caused by: java.lang.StackOverflowError
at java.util.LinkedList.listIterator(LinkedList.java:627)
at java.util.AbstractSequentialList.iterator(AbstractSequentialList.java:62)
at fr.xgouchet.xmleditor.data.tree.TreeNode.updateChildViewCount(TreeNode.java:287)
at fr.xgouchet.xmleditor.data.tree.TreeNode.updateParentViewCount(TreeNode.java:274)
at fr.xgouchet.xmleditor.data.tree.TreeNode.updateParentViewCount(TreeNode.java:276)
at fr.xgouchet.xmleditor.data.tree.TreeNode.updateParentViewCount(TreeNode.java:276)
at fr.xgouchet.xmleditor.data.tree.TreeNode.updateParentViewCount(TreeNode.java:276)
at fr.xgouchet.xmleditor.data.tree.TreeNode.updateParentViewCount(TreeNode.java:276)
at fr.xgouchet.xmleditor.data.tree.TreeNode.updateParentViewCount(TreeNode.java:276)
at fr.xgouchet.xmleditor.data.tree.TreeNode.updateParentViewCount(TreeNode.java:276)
at fr.xgouchet.xmleditor.data.tree.TreeNode.updateParentViewCount(TreeNode.java:276)
at fr.xgouchet.xmleditor.data.tree.TreeNode.updateParentViewCount(TreeNode.java:276)
at fr.xgouchet.xmleditor.data.tree.TreeNode.updateParentViewCount(TreeNode.java:276)
at fr.xgouchet.xmleditor.data.tree.TreeNode.updateParentViewCount(TreeNode.java:276)
at fr.xgouchet.xmleditor.data.tree.TreeNode.updateParentViewCount(TreeNode.java:276)
at fr.xgouchet.xmleditor.data.tree.TreeNode.updateParentViewCount(TreeNode.java:276)
at fr.xgouchet.xmleditor.data.tree.TreeNode.updateParentViewCount(TreeNode.java:276)
at fr.xgouchet.xmleditor.data.tree.TreeNode.updateParentViewCount(TreeNode.java:276)
at fr.xgouchet.xmleditor.data.tree.TreeNode.updateParentViewCount(TreeNode.java:276)
at fr.xgouchet.xmleditor.data.tree.TreeNode.updateParentViewCount(TreeNode.java:276)
at fr.xgouchet.xmleditor.data.tree.TreeNode.updateParentViewCount(TreeNode.java:276)
at fr.xgouchet.xmleditor.data.tree.TreeNode.updateParentViewCount(TreeNode.java:276)

NPE while editing a node

java.lang.NullPointerException
at fr.xgouchet.xmleditor.AxelNodeEditorActivity.setupDoneDiscardActionBar(AxelNodeEditorActivity.java:198)
at fr.xgouchet.xmleditor.AxelNodeEditorActivity.onCreate(AxelNodeEditorActivity.java:63)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1050)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1779)
... 11 more

No context menu

Hello. I try to make app (Android Studio), everything is fine, but the context menu doesn't appear after long pressing on node. And NodeEditorActivity doesn't open after touching. What do I do incorrectly?

Add a check for xml content

when choosing the parser to use (AXML, PList, ...), add a check to see if the doc starts with <xml. This may help detect some unknown compressed/encrypted documents

IllegalArgumentException AsyncXmlFileLoader

java.lang.IllegalArgumentException: View not attached to window manager
at android.view.WindowManagerImpl.findViewLocked(WindowManagerImpl.java:587)
at android.view.WindowManagerImpl.removeView(WindowManagerImpl.java:324)
at android.view.WindowManagerImpl$CompatModeWrapper.removeView(WindowManagerImpl.java:151)
at android.app.Dialog.dismissDialog(Dialog.java:321)
at android.app.Dialog$1.run(Dialog.java:119)
at android.app.Dialog.dismiss(Dialog.java:306)
at fr.xgouchet.xmleditor.data.AsyncXmlFileLoader.onCancelled(AsyncXmlFileLoader.java:40)
at fr.xgouchet.xmleditor.data.AsyncXmlFileLoader.onCancelled(AsyncXmlFileLoader.java:25)
at android.os.AsyncTask.finish(AsyncTask.java:600)
at android.os.AsyncTask.access$600(AsyncTask.java:156)
at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:615)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4424)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
at dalvik.system.NativeStart.main(Native Method)

Check XML content is valid when parsing Plists

When converting binary PLIST to text, check that nodes content is valid agains XML rules.

Bug reported : a Plist Text node had an unsecaped & in it. When converted and saved to XML, the file could not be read back.

Handle document with unclosed last tag

When a document last tag (s) is (are) unclosed, the parser doesn't report an error, and the doc decl is inserted as child of the last item.

For instance, the following doc

Is displayed as

DOCUMENT

  • root
    • child
      • xml version....

Search option

Add a search option.

Search tag by name, by attribute, by attribute value, ... ?

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.