Related tags

Tools anuitor
Overview

UITor

http://uitor.scurab.com

https://github.com/jbruchanov/uitor

https://github.com/jbruchanov/anuitor

Android Arsenal

UITor is a result of my rebranding experiences of one android app what I was working on. Because of the project's complex structure, not using themes, complexity of UI and app itself, it was really hell and time consuming work to finish the app rebranding. Project structure had been done like sub-projects, because of big amount of different assets, logic, etc. I found out also UITor very useful in time of UI refactoring/bugfixing other apps what I didn't know much deeply from UI/structure perspective.

You might also like...
Comments
  • java.lang.NoSuchMethodException

    java.lang.NoSuchMethodException

    A4.2.2 CyanogenMod

    10-28 10:41:17.640  28597-28597/uk.co.barclays.barclayspremierrewards E/AndroidRuntime﹕ FATAL EXCEPTION: main
        java.lang.RuntimeException: Unable to start service com.scurab.android.anuitor.service.AnUitorService@40d92758 with Intent { act=START cmp=uk.co.barclays.barclayspremierrewards/com.scurab.android.anuitor.service.AnUitorService (has extras) }: java.lang.RuntimeException: Problem with calling android.view.WindowManagerGlobal#getInstance()
                at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:2801)
                at android.app.ActivityThread.access$1900(ActivityThread.java:153)
                at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)
                at android.os.Handler.dispatchMessage(Handler.java:99)
                at android.os.Looper.loop(Looper.java:137)
                at android.app.ActivityThread.main(ActivityThread.java:5227)
                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:795)
                at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:562)
                at dalvik.system.NativeStart.main(Native Method)
         Caused by: java.lang.RuntimeException: Problem with calling android.view.WindowManagerGlobal#getInstance()
                at com.scurab.android.anuitor.reflect.WindowManagerImplReflector.getRealInstance(WindowManagerImplReflector.java:28)
                at com.scurab.android.anuitor.reflect.WindowManagerImplReflector.<init>(WindowManagerImplReflector.java:18)
                at com.scurab.android.anuitor.service.AnUitorService.onCreateServer(AnUitorService.java:130)
                at com.scurab.android.anuitor.service.AnUitorService.start(AnUitorService.java:113)
                at com.scurab.android.anuitor.service.AnUitorService.onStartCommand(AnUitorService.java:79)
                at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:2784)
                at android.app.ActivityThread.access$1900(ActivityThread.java:153)
                at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)
                at android.os.Handler.dispatchMessage(Handler.java:99)
                at android.os.Looper.loop(Looper.java:137)
                at android.app.ActivityThread.main(ActivityThread.java:5227)
                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:795)
                at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:562)
                at dalvik.system.NativeStart.main(Native Method)
         Caused by: java.lang.NoSuchMethodException: getDefault []
                at java.lang.Class.getConstructorOrMethod(Class.java:460)
                at java.lang.Class.getDeclaredMethod(Class.java:685)
                at com.scurab.android.anuitor.reflect.WindowManagerImplReflector.getRealInstance(WindowManagerImplReflector.java:24)
                at com.scurab.android.anuitor.reflect.WindowManagerImplReflector.<init>(WindowManagerImplReflector.java:18)
                at com.scurab.android.anuitor.service.AnUitorService.onCreateServer(AnUitorService.java:130)
                at com.scurab.android.anuitor.service.AnUitorService.start(AnUitorService.java:113)
                at com.scurab.android.anuitor.service.AnUitorService.onStartCommand(AnUitorService.java:79)
                at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:2784)
                at android.app.ActivityThread.access$1900(ActivityThread.java:153)
                at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)
                at android.os.Handler.dispatchMessage(Handler.java:99)
                at android.os.Looper.loop(Looper.java:137)
                at android.app.ActivityThread.main(ActivityThread.java:5227)
                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:795)
                at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:562)
                at dalvik.system.NativeStart.main(Native Method)
    
    bug 
    opened by jbruchanov 1
  • TODOs

    TODOs

    ~~* missing clipChildren, clipPadding on viewGroup~~ ~~* support API23~~

    ~~* Rendering outside bounds is not visible~~ ~~* IsShown == false, view is rendered~~

    text replace whitespace letters with something visible

    ~~try/catch for TextView.getExtendedPaddingBottom()~~

    ~~SupportBackStackEntryReflector#getHead() is crashing~~

    ~Default selection color to nonBlack~

    ~FragmentManagerReflector.mActive is not a List anymore~ ~A8.1 notifications check, they are not visible~

    ~Add some JSON iface to get rid off GSON direct dependency~ ~Add support for GSON, Jackson or maybe other JSON serialization libs~ ~IdsHelper#toJson(android.content.res.Resources) still using Gson~ ~AnUitorClientConfig support for PointerIgnore~

    ~Don't show groovy link on view properties if there is no groovy support~ ~scroll with a view hierarchy tree to see selected item~ scroll with a view hierarchy tree to see focused item on some time ~add margin into global props~

    better tree rendering spacing ~ExtractingContext - more java friendly~ ~Activity,Fragment add also info about interfaces~ ~ActivityExtractor use fragment extractors in it~ ~Extractor avoid inheritance to be able have own injector in the middle of call chain~

    Make resources browser content scrollable, xml drawables are cut ~try it during sharing to tv~

    opened by jbruchanov 0
  • ForegroundServiceStartNotAllowedException

    ForegroundServiceStartNotAllowedException

    android.app.ForegroundServiceStartNotAllowedException: startForegroundService() not allowed due to mAllowStartForeground false: service com.sleepwave.app/com.scurab.android.uitor.service.UitorService

    opened by jbruchanov 0
  • saveAttributeDataForStyleable

    saveAttributeDataForStyleable

    https://developer.android.com/reference/android/view/View.html#saveAttributeDataForStyleable(android.content.Context,%20int[],%20android.util.AttributeSet,%20android.content.res.TypedArray,%20int,%20int)

    opened by jbruchanov 0