iyox-studios/iyox-Wormhole

Systemtheme not respected

Closed this issue · 8 comments

I discovered the app through IzzyOnDroid and was impressed with its look. However, it seems to have a discrepancy in detecting the system theme. Even though my system is set to dark mode, the app is always displayed in light mode. This is in contrast to the screenshots provided, which show the app in dark mode.

Device information:

  • App version: 0.1.3
  • Device: Android 10 (EMUI)

Steps to reproduce:

  1. Set system theme to dark
  2. Launch the app

Expected behavior:
The application should detect and follow the system theme settings by displaying in dark mode if the system is set to do so.

Hey, thank you for bringing up this issue. Unfortunately I was unable to reproduce the issue, but I think I was able to resolve the problem.
It'd be great if you could try installing a test build and let me know if the theme now switches correctly.

Thanks for the fix, sadly I can't open the linked artifact as it leads to a 404.

I'm sorry, I think I accidentally deleted that artifact already, but the changes are available in release 0.1.6, which you can download from the release page.

For some reason it had some trouble installing the update directly from the releases page, but the update is now available in IzyyOnDroid. Unfortunately the theme is still not set correctly.

I've released version 0.1.7 of the app that includes a settings option to choose between dark and light mode or follow the system's theme. Please verify that when setting the theme to dark mode, the app actually switches themes accordingly. The update should be available on IzzyOnDroid soon.

When switching to dark mode, the so blinks to a black screen and then restart on the home screen, still in light mode.
I've included the logs

1710326526.989 11545 19516 19516 D AwareBitmapCacher: handleInit switch not opened pid=19516
1710326527.008 11545 19516 19901 D ProfileInstaller: Skipping profile installation for com.iyox.wormhole
1710326529.937 11545 19516 19547 D mali_winsys: EGLint new_window_surface(egl_winsys_display *, void *, EGLSurface, EGLConfig, egl_winsys_surface **, EGLBoolean) returns 0x3000
1710326529.939 11545 19516 19540 D mali_winsys: EGLint new_window_surface(egl_winsys_display *, void *, EGLSurface, EGLConfig, egl_winsys_surface **, EGLBoolean) returns 0x3000
1710326529.958 11545 19516 19516 I HwViewRootImpl: removeInvalidNode jank list is null
1710326530.538 11545 19516 19546 I flutter : Bad state: No element
1710326530.540 11545 19516 19546 I flutter : #0      List.single (dart:core-patch/growable_array.dart:353)
1710326530.540 11545 19516 19546 I flutter : #1      ScrollController.position (package:flutter/src/widgets/scroll_controller.dart:159)
1710326530.540 11545 19516 19546 I flutter : #2      PageController.animateToPage (package:flutter/src/widgets/page_view.dart:191)
1710326530.540 11545 19516 19546 I flutter : #3      _BasePageState.build.<anonymous closure> (package:iyox_wormhole/pages/router.dart:46)
1710326530.540 11545 19516 19546 I flutter : #4      NavigationBar._handleTap.<anonymous closure> (package:flutter/src/material/navigation_bar.dart:217)
1710326530.540 11545 19516 19546 I flutter : #5      _InkResponseState.handleTap (package:flutter/src/material/ink_well.dart:1183)
1710326530.540 11545 19516 19546 I flutter : #6      GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:315)
1710326530.540 11545 19516 19546 I flutter : #7      TapGestureRecognizer.handleTapUp (package:flutter/src/gestures/tap.dart:652)
1710326530.540 11545 19516 19546 I flutter : #8      BaseTapGestureRecognizer._checkUp (package:flutter/src/gestures/tap.dart:309)
1710326530.540 11545 19516 19546 I flutter : #9      BaseTapGestureRecognizer.acceptGesture (package:flutter/src/gestures/tap.dart:279)
1710326530.540 11545 19516 19546 I flutter : #10     GestureArenaManager.sweep (package:flutter/src/gestures/arena.dart:167)
1710326530.540 11545 19516 19546 I flutter : #11     GestureBinding.handleEvent (package:flutter/src/gestures/binding.dart:499)
1710326530.540 11545 19516 19546 I flutter : #12     GestureBinding.dispatchEvent (package:flutter/src/gestures/binding.dart:475)
1710326530.540 11545 19516 19546 I flutter : #13     RendererBinding.dispatchEvent (package:flutter/src/rendering/binding.dart:430)
1710326530.540 11545 19516 19546 I flutter : #14     GestureBinding._handlePointerEventImmediately (package:flutter/src/gestures/binding.dart:420)
1710326530.540 11545 19516 19546 I flutter : #15     GestureBinding.handlePointerEvent (package:flutter/src/gestures/binding.dart:383)
1710326530.540 11545 19516 19546 I flutter : #16     GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:330)
1710326530.540 11545 19516 19546 I flutter : #17     GestureBinding._handlePointerDataPacket (package:flutter/src/gestures/binding.dart:299)
1710326530.540 11545 19516 19546 I flutter : #18     _invoke1 (dart:ui/hooks.dart:328)
1710326530.540 11545 19516 19546 I flutter : #19     PlatformDispatcher._dispatchPointerDataPacket (dart:ui/platform_dispatcher.dart:429)
1710326530.540 11545 19516 19546 I flutter : #20     _dispatchPointerDataPacket (dart:ui/hooks.dart:262)
1710326530.540 11545 19516 19516 V AudioManager: querySoundEffectsEnabled...
1710326531.606 11545 19516 19516 V AudioManager: querySoundEffectsEnabled...
1710326532.240 11545 19516 19516 V AudioManager: querySoundEffectsEnabled...
1710326532.838 11545 19516 19516 V AudioManager: querySoundEffectsEnabled...
1710326532.890 11545 19516 19516 I m.iyox.wormhol: System.exit called, status: 0
1710326532.890 11545 19516 19516 I AndroidRuntime: VM exiting with result code 0, cleanup skipped.
1710326533.033 11545 20182 20182 I m.iyox.wormhol: Reinit property: dalvik.vm.checkjni= false
1710326533.035 11545 20182 20182 E m.iyox.wormhol: Not starting debugger since process cannot load the jdwp agent.
1710326533.043 11545 20182 20182 E libc    : Access denied finding property "runtime.mmitest.isrunning"
1710326533.045 11545 20182 20182 D ActivityThread: Attach thread to application
1710326533.086 11545 20182 20182 I m.iyox.wormhol: QarthPatchMonintor::Init
1710326533.086 11545 20182 20182 I m.iyox.wormhol: QarthPatchMonintor::StartWatch
1710326533.086 11545 20182 20182 I m.iyox.wormhol: QarthPatchMonintor::WatchPackage: /data/hotpatch/fwkhotpatch/
1710326533.086 11545 20182 20182 I m.iyox.wormhol: QarthPatchMonintor::CheckAndWatchPatch: /data/hotpatch/fwkhotpatch/com.iyox.wormhole
1710326533.086 11545 20182 20182 I m.iyox.wormhol: QarthPatchMonintor::CheckAndWatchPatch: /data/hotpatch/fwkhotpatch/all
1710326533.086 11545 20182 20182 I m.iyox.wormhol: QarthPatchMonintor::Run
1710326533.089 11545 20182 20203 I m.iyox.wormhol: QarthPatchMonintor::Reading
1710326533.089 11545 20182 20203 I m.iyox.wormhol: QarthPatchMonintor::CheckNotifyEvent
1710326533.089 11545 20182 20203 I m.iyox.wormhol: QarthPatchMonintor::CheckNotifyEvent before read
1710326533.091 11545 20182 20200 I HwApiCacheMangerEx: apicache path=/storage/emulated/0 state=mounted key=com.iyox.wormhole#11545#256
1710326533.093 11545 20182 20200 I HwApiCacheMangerEx: apicache path=/storage/emulated/0 state=mounted key=com.iyox.wormhole#11545#0
1710326533.100 11545 20182 20200 I AwareBitmapCacher: init processName:com.iyox.wormhole pid=20182 uid=11545
1710326533.104 11545 20182 20204 E AwareLog: AtomicFileUtils: readFileLines file not exist: android.util.AtomicFile@ec35a5b
1710326533.105 11545 20182 20204 E AwareLog: AtomicFileUtils: readFileLines file not exist: android.util.AtomicFile@becde36
1710326533.127 11545 20182 20182 V ActivityThread: callActivityOnCreate
1710326533.162 11545 20182 20182 I iGraphics: [0020080c] pn: com.iyox.wormhole, p: 20182
1710326533.162 11545 20182 20182 I iGraphics: [0030080c] no spt app: com.iyox.wormhole
1710326533.201 11545 20182 20182 E m.iyox.wormhol: Invalid ID 0x00000000.
1710326533.209 11545 20182 20182 W m.iyox.wormhol: Accessing hidden method Landroid/view/WindowInsets$Type;->ime()I (blacklist, linking, denied)
1710326533.227 11545 20182 20182 V HwWidgetFactory: : successes to get AllImpl object and return....
1710326533.235 11545 20182 20182 D ActivityThread: add activity client record, r= ActivityRecord{6a4e682 token=android.os.BinderProxy@3534137 {com.iyox.wormhole/com.iyox.wormhole.MainActivity}} token= android.os.BinderProxy@3534137
1710326533.258 11545 20182 20241 W HiTouch_HiTouchSensor: depended package hiTouch does n't exist!
1710326533.258 11545 20182 20241 I HiTouch_HiTouchSensor: HiTouch restricted: system app HiTouch don't exist.
1710326533.258 11545 20182 20241 D HiTouch_PressGestureDetector: onAttached, package=com.iyox.wormhole, windowType=1, mHiTouchRestricted=true
1710326533.288 11545 20182 20207 D mali_winsys: EGLint new_window_surface(egl_winsys_display *, void *, EGLSurface, EGLConfig, egl_winsys_surface **, EGLBoolean) returns 0x3000
1710326533.291 11545 20182 20215 D mali_winsys: EGLint new_window_surface(egl_winsys_display *, void *, EGLSurface, EGLConfig, egl_winsys_surface **, EGLBoolean) returns 0x3000
1710326533.312 11545 20182 20213 I flutter : Enabled high refresh mode
1710326533.322 11545 20182 20213 I flutter : App Init Completed
1710326533.342 11545 20182 20213 I flutter : dynamic_color: Dynamic color not detected on this device.
1710326533.367 11545 20182 20215 W Gralloc3: mapper 3.x is not supported
1710326533.386 11545 20182 20215 E         : APS:IFLoad:importExternalFunctions, search function createNewHwApsUtils failed, dlsym err:undefined symbol: createNewHwApsUtils
1710326533.386 11545 20182 20215 D         : APS:importExternalFunctions OK
1710326533.413 11545 20182 20182 I HwViewRootImpl: removeInvalidNode jank list is null
1710326533.753 11545 20182 20259 D HwFrameworkSecurityPartsFactory: HwFrameworkSecurityPartsFactory in.
1710326533.753 11545 20182 20259 I HwFrameworkSecurityPartsFactory: add HwFrameworkSecurityPartsFactory to memory.
1710326534.371 11545 20182 20213 I flutter : Bad state: No element
1710326534.373 11545 20182 20213 I flutter : #0      List.single (dart:core-patch/growable_array.dart:353)
1710326534.373 11545 20182 20213 I flutter : #1      ScrollController.position (package:flutter/src/widgets/scroll_controller.dart:159)
1710326534.373 11545 20182 20213 I flutter : #2      PageController.animateToPage (package:flutter/src/widgets/page_view.dart:191)
1710326534.373 11545 20182 20213 I flutter : #3      _BasePageState.build.<anonymous closure> (package:iyox_wormhole/pages/router.dart:46)
1710326534.374 11545 20182 20213 I flutter : #4      NavigationBar._handleTap.<anonymous closure> (package:flutter/src/material/navigation_bar.dart:217)
1710326534.374 11545 20182 20213 I flutter : #5      _InkResponseState.handleTap (package:flutter/src/material/ink_well.dart:1183)
1710326534.374 11545 20182 20213 I flutter : #6      GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:315)
1710326534.374 11545 20182 20213 I flutter : #7      TapGestureRecognizer.handleTapUp (package:flutter/src/gestures/tap.dart:652)
1710326534.374 11545 20182 20213 I flutter : #8      BaseTapGestureRecognizer._checkUp (package:flutter/src/gestures/tap.dart:309)
1710326534.374 11545 20182 20213 I flutter : #9      BaseTapGestureRecognizer.acceptGesture (package:flutter/src/gestures/tap.dart:279)
1710326534.374 11545 20182 20213 I flutter : #10     GestureArenaManager.sweep (package:flutter/src/gestures/arena.dart:167)
1710326534.374 11545 20182 20213 I flutter : #11     GestureBinding.handleEvent (package:flutter/src/gestures/binding.dart:499)
1710326534.374 11545 20182 20213 I flutter : #12     GestureBinding.dispatchEvent (package:flutter/src/gestures/binding.dart:475)
1710326534.374 11545 20182 20213 I flutter : #13     RendererBinding.dispatchEvent (package:flutter/src/rendering/binding.dart:430)
1710326534.374 11545 20182 20213 I flutter : #14     GestureBinding._handlePointerEventImmediately (package:flutter/src/gestures/binding.dart:420)
1710326534.374 11545 20182 20213 I flutter : #15     GestureBinding.handlePointerEvent (package:flutter/src/gestures/binding.dart:383)
1710326534.374 11545 20182 20213 I flutter : #16     GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:330)
1710326534.374 11545 20182 20213 I flutter : #17     GestureBinding._handlePointerDataPacket (package:flutter/src/gestures/binding.dart:299)
1710326534.374 11545 20182 20213 I flutter : #18     _invoke1 (dart:ui/hooks.dart:328)
1710326534.374 11545 20182 20213 I flutter : #19     PlatformDispatcher._dispatchPointerDataPacket (dart:ui/platform_dispatcher.dart:429)
1710326534.374 11545 20182 20213 I flutter : #20     _dispatchPointerDataPacket (dart:ui/hooks.dart:262)
1710326534.374 11545 20182 20182 V AudioManager: querySoundEffectsEnabled...
1710326535.066 11545 20182 20182 V AudioManager: querySoundEffectsEnabled...
1710326535.670 11545 20182 20182 V AudioManager: querySoundEffectsEnabled...
1710326536.354 11545 20182 20182 V AudioManager: querySoundEffectsEnabled...
1710326536.408 11545 20182 20182 I m.iyox.wormhol: System.exit called, status: 0
1710326536.408 11545 20182 20182 I AndroidRuntime: VM exiting with result code 0, cleanup skipped.
1710326536.553 11545 20356 20356 I m.iyox.wormhol: Reinit property: dalvik.vm.checkjni= false
1710326536.554 11545 20356 20356 E m.iyox.wormhol: Not starting debugger since process cannot load the jdwp agent.
1710326536.561 11545 20356 20356 E libc    : Access denied finding property "runtime.mmitest.isrunning"
1710326536.557 11545 20356 20356 W re-initialized>: type=1400 audit(0.0:1372382): avc: denied { read } for pid=20356 name="u:object_r:mmi_prop:s0" dev="tmpfs" ino=1605 scontext=u:r:untrusted_app:s0:c9,c262,c512,c768 tcontext=u:object_r:mmi_prop:s0 tclass=file permissive=0
1710326536.563 11545 20356 20356 D ActivityThread: Attach thread to application
1710326536.600 11545 20356 20356 I m.iyox.wormhol: QarthPatchMonintor::Init
1710326536.600 11545 20356 20356 I m.iyox.wormhol: QarthPatchMonintor::StartWatch
1710326536.600 11545 20356 20356 I m.iyox.wormhol: QarthPatchMonintor::WatchPackage: /data/hotpatch/fwkhotpatch/
1710326536.600 11545 20356 20356 I m.iyox.wormhol: QarthPatchMonintor::CheckAndWatchPatch: /data/hotpatch/fwkhotpatch/com.iyox.wormhole
1710326536.600 11545 20356 20356 I m.iyox.wormhol: QarthPatchMonintor::CheckAndWatchPatch: /data/hotpatch/fwkhotpatch/all
1710326536.600 11545 20356 20356 I m.iyox.wormhol: QarthPatchMonintor::Run
1710326536.601 11545 20356 20376 I m.iyox.wormhol: QarthPatchMonintor::Reading
1710326536.601 11545 20356 20376 I m.iyox.wormhol: QarthPatchMonintor::CheckNotifyEvent
1710326536.601 11545 20356 20376 I m.iyox.wormhol: QarthPatchMonintor::CheckNotifyEvent before read
1710326536.602 11545 20356 20374 I HwApiCacheMangerEx: apicache path=/storage/emulated/0 state=mounted key=com.iyox.wormhole#11545#256
1710326536.604 11545 20356 20374 I HwApiCacheMangerEx: apicache path=/storage/emulated/0 state=mounted key=com.iyox.wormhole#11545#0
1710326536.617 11545 20356 20374 I AwareBitmapCacher: init processName:com.iyox.wormhole pid=20356 uid=11545
1710326536.624 11545 20356 20377 E AwareLog: AtomicFileUtils: readFileLines file not exist: android.util.AtomicFile@becde36
1710326536.624 11545 20356 20377 E AwareLog: AtomicFileUtils: readFileLines file not exist: android.util.AtomicFile@3534137
1710326536.645 11545 20356 20356 V ActivityThread: callActivityOnCreate
1710326536.669 11545 20356 20356 W m.iyox.wormhole: type=1400 audit(0.0:1372383): avc: denied { read } for pid=20356 name="max_map_count" dev="proc" ino=11671465 scontext=u:r:untrusted_app:s0:c9,c262,c512,c768 tcontext=u:object_r:proc_max_map_count:s0 tclass=file permissive=0
1710326536.683 11545 20356 20356 I iGraphics: [0020080c] pn: com.iyox.wormhole, p: 20356
1710326536.683 11545 20356 20356 I iGraphics: [0030080c] no spt app: com.iyox.wormhole
1710326536.718 11545 20356 20356 E m.iyox.wormhol: Invalid ID 0x00000000.
1710326536.726 11545 20356 20356 W m.iyox.wormhol: Accessing hidden method Landroid/view/WindowInsets$Type;->ime()I (blacklist, linking, denied)
1710326536.743 11545 20356 20356 V HwWidgetFactory: : successes to get AllImpl object and return....
1710326536.751 11545 20356 20356 D ActivityThread: add activity client record, r= ActivityRecord{6a4e682 token=android.os.BinderProxy@9ece3d1 {com.iyox.wormhole/com.iyox.wormhole.MainActivity}} token= android.os.BinderProxy@9ece3d1
1710326536.771 11545 20356 20408 W HiTouch_HiTouchSensor: depended package hiTouch does n't exist!
1710326536.771 11545 20356 20408 I HiTouch_HiTouchSensor: HiTouch restricted: system app HiTouch don't exist.
1710326536.771 11545 20356 20408 D HiTouch_PressGestureDetector: onAttached, package=com.iyox.wormhole, windowType=1, mHiTouchRestricted=true
1710326536.802 11545 20356 20379 D mali_winsys: EGLint new_window_surface(egl_winsys_display *, void *, EGLSurface, EGLConfig, egl_winsys_surface **, EGLBoolean) returns 0x3000
1710326536.802 11545 20356 20385 D mali_winsys: EGLint new_window_surface(egl_winsys_display *, void *, EGLSurface, EGLConfig, egl_winsys_surface **, EGLBoolean) returns 0x3000
1710326536.822 11545 20356 20384 I flutter : Enabled high refresh mode
1710326536.830 11545 20356 20384 I flutter : App Init Completed
1710326536.848 11545 20356 20384 I flutter : dynamic_color: Dynamic color not detected on this device.
1710326536.873 11545 20356 20385 W Gralloc3: mapper 3.x is not supported
1710326536.894 11545 20356 20385 E         : APS:IFLoad:importExternalFunctions, search function createNewHwApsUtils failed, dlsym err:undefined symbol: createNewHwApsUtils
1710326536.894 11545 20356 20385 D         : APS:importExternalFunctions OK
1710326536.930 11545 20356 20356 I HwViewRootImpl: removeInvalidNode jank list is null
1710326537.267 11545 20356 20433 D HwFrameworkSecurityPartsFactory: HwFrameworkSecurityPartsFactory in.
1710326537.267 11545 20356 20433 I HwFrameworkSecurityPartsFactory: add HwFrameworkSecurityPartsFactory to memory.
1710326538.245 11545 20356 20385 W libEGL  : EGLNativeWindowType 0x7b09185010 disconnect failed
1710326538.250 11545 20356 20379 W libEGL  : EGLNativeWindowType 0x7b76f21e50 disconnect failed
1710326541.620 11545 20356 20356 D AwareBitmapCacher: handleInit switch not opened pid=20356
1710326541.911 11545 20356 20477 D ProfileInstaller: Skipping profile installation for com.iyox.wormhole

Thank you for providing the logs! They were very helpful. I'm pretty confident that the issue is sorted now. I'll be rolling out a new version today, and it should be available on IzzyOnDroid by tomorrow.

It's fixed now 🎉
Thanks for working on it, in hindsight I probably should have included the logs earlier :)