processor : 0
model name : ARMv8 Processor rev 2 (v8l)
BogoMIPS : 48.00
Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt lpae evtstrm aes pmull sha1 sha2 crc32
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x0
CPU part : 0xd04
CPU revision : 2
processor : 1
model name : ARMv8 Processor rev 2 (v8l)
BogoMIPS : 48.00
Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt lpae evtstrm aes pmull sha1 sha2 crc32
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x0
CPU part : 0xd04
CPU revision : 2
processor : 2
model name : ARMv8 Processor rev 2 (v8l)
BogoMIPS : 48.00
Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt lpae evtstrm aes pmull sha1 sha2 crc32
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x0
CPU part : 0xd04
CPU revision : 2
processor : 3
model name : ARMv8 Processor rev 2 (v8l)
BogoMIPS : 48.00
Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt lpae evtstrm aes pmull sha1 sha2 crc32
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x0
CPU part : 0xd04
CPU revision : 2
Hardware : Rockchip rk3326 863 board
Serial : d2f968771c5f895f
Load: 1.07 / 1.22 / 0.98
CPU usage from 193586ms to 111878ms ago (2026-09-19 18:15:05.780 to 2026-09-19 18:16:27.488):
32% 38/kworker/2:1-memcg_kmem_cache: 0% user + 32% kernel
1.8% 166/surfaceflinger: 1.6% user + 0.1% kernel / faults: 222 minor
1.4% 389/system_server: 1.1% user + 0.2% kernel / faults: 1471 minor
0.6% 1578/ksdioirqd/mmc1: 0% user + 0.6% kernel
0.3% 537/com.android.systemui: 0.2% user + 0% kernel / faults: 435 minor
0.1% 92/kworker/u8:3-devfreq_workq: 0% user + 0.1% kernel
0.1% 50/cfinteractive: 0% user + 0.1% kernel
0.1% 1537/kworker/u8:7-events_unbound: 0% user + 0.1% kernel
0.1% 208/[email protected]: 0% user + 0% kernel / faults: 70 minor
0.1% 1580/RTW_RECV_THREAD: 0.1% user + 0% kernel
0% 1624/kworker/3:0-events_freezable: 0% user + 0% kernel
0% 323/wificond: 0% user + 0% kernel / faults: 67 minor
0% 506/[email protected]: 0% user + 0% kernel / faults: 115 minor
0% 1019/com.wetao.elauncher: 0% user + 0% kernel / faults: 29 minor
0% 164/[email protected]: 0% user + 0% kernel / faults: 14 minor
0% 1/init: 0% user + 0% kernel
0% 10/rcu_preempt: 0% user + 0% kernel
0% 236/kworker/2:3: 0% user + 0% kernel
0% 262/[email protected]: 0% user + 0% kernel / faults: 64 minor
0% 1079/android.process.media: 0% user + 0% kernel / faults: 1 minor
0% 1581/RTW_CMD_THREAD: 0% user + 0% kernel
0% 22/migration/2: 0% user + 0% kernel
0% 82/ion_system_heap: 0% user + 0% kernel
0% 86/kworker/0:2-cgroup_pidlist_destroy: 0% user + 0% kernel
0% 90/mali-simple-pow: 0% user + 0% kernel
0% 93/kworker/3:3-cgroup_pidlist_destroy: 0% user + 0% kernel
0% 142/logd: 0% user + 0% kernel
0% 144/servicemanager: 0% user + 0% kernel
0% 145/hwservicemanager: 0% user + 0% kernel / faults: 4 minor
0% 197/f2fs_gc-253:5: 0% user + 0% kernel
0% 250/netd: 0% user + 0% kernel
0% 322/storaged: 0% user + 0% kernel
0% 1579/RTW_XMIT_THREAD: 0% user + 0% kernel
0% 1633/kworker/u8:0-devfreq_workq: 0% user + 0% kernel
+0% 1634/kworker/3:1-events_freezable: 0% user + 0% kernel
8% TOTAL: 0.8% user + 2.8% kernel + 4% irq + 0.3% softirq
[UserVolumeLabel]: [RockChips]
[build.version.extensions.r]: [0]
[cache_key.bluetooth.get_bond_state]: [-5381312004518092082]
[cache_key.bluetooth.get_profile_connection_state]: [-5381312004518092084]
[cache_key.bluetooth.get_state]: [-5381312004518092085]
[cache_key.bluetooth.is_offloaded_filtering_supported]: [-5381312004518092083]
[cache_key.display_info]: [-5929706338784874641]
[cache_key.has_system_feature]: [-5929706338784874694]
[cache_key.is_compat_change_enabled]: [-5929706338784874673]
[cache_key.is_interactive]: [-5929706338784874645]
[cache_key.is_power_save_mode]: [-5929706338784874683]
[cache_key.is_user_unlocked]: [-5929706338784874677]
[cache_key.location_enabled]: [-5929706338784874682]
[cache_key.package_info]: [-5929706338784874672]
[cache_key.telephony.get_active_data_sub_id]: [6547659322246117672]
[cache_key.telephony.get_default_data_sub_id]: [6547659322246117668]
[cache_key.telephony.get_default_sms_sub_id]: [6547659322246117669]
[cache_key.telephony.get_default_sub_id]: [6547659322246117667]
[cache_key.telephony.get_slot_index]: [6547659322246117671]
[config.disable_consumerir]: [true]
[config.disable_rtt]: [true]
[dalvik.vm.appimageformat]: [lz4]
[dalvik.vm.boot-dex2oat-threads]: [4]
[dalvik.vm.dex2oat-Xms]: [64m]
[dalvik.vm.dex2oat-Xmx]: [512m]
[dalvik.vm.dex2oat-max-image-block-size]: [524288]
[dalvik.vm.dex2oat-minidebuginfo]: [true]
[dalvik.vm.dex2oat-resolve-startup-strings]: [true]
[dalvik.vm.dex2oat-threads]: [4]
[dalvik.vm.dex2oat-updatable-bcp-packages-file]: [/system/etc/updatable-bcp-packages.txt]
[dalvik.vm.dexopt.secondary]: [true]
[dalvik.vm.foreground-heap-growth-multiplier]: [2.0]
[dalvik.vm.heapgrowthlimit]: [128m]
[dalvik.vm.heapsize]: [256m]
[dalvik.vm.image-dex2oat-Xms]: [64m]
[dalvik.vm.image-dex2oat-Xmx]: [64m]
[dalvik.vm.isa.arm.features]: [default]
[dalvik.vm.isa.arm.variant]: [cortex-a9]
[dalvik.vm.minidebuginfo]: [true]
[dalvik.vm.systemservercompilerfilter]: [speed-profile]
[dalvik.vm.usejit]: [true]
[dalvik.vm.usejitprofiles]: [true]
[debug.atrace.tags.enableflags]: [0]
[debug.force_rtl]: [false]
[debug.hwui.use_partial_updates]: [false]
[debug.nfc.fw_download]: [false]
[debug.nfc.se]: [false]
[debug.tracing.screen_brightness]: [0.3503937]
[debug.tracing.screen_state]: [2]
[dev.bootcomplete]: [1]
[dev.mnt.blk.data]: [dm-5]
[dev.mnt.blk.data.user.0]: [dm-5]
[dev.mnt.blk.data_mirror.cur_profiles]: [dm-5]
[dev.mnt.blk.data_mirror.data_ce.null]: [dm-5]
[dev.mnt.blk.data_mirror.data_ce.null.0]: [dm-5]
[dev.mnt.blk.data_mirror.data_de.null]: [dm-5]
[dev.mnt.blk.odm]: [dm-4]
[dev.mnt.blk.product]: [dm-3]
[dev.mnt.blk.root]: [dm-0]
[dev.mnt.blk.system_ext]: [dm-1]
[dev.mnt.blk.vendor]: [dm-2]
[dumpstate.completed]: [0]
[dumpstate.last_id]: [2]
[gsm.current.phone-type]: [1]
[gsm.network.type]: [Unknown]
[hwservicemanager.ready]: [true]
[init.svc.adbd]: [running]
[init.svc.apexd]: [stopped]
[init.svc.apexd-bootstrap]: [stopped]
[init.svc.apexd-snapshotde]: [stopped]
[init.svc.audioserver]: [running]
[init.svc.bootanim]: [stopped]
[init.svc.boringssl_self_test32]: [stopped]
[init.svc.boringssl_self_test32_vendor]: [stopped]
[init.svc.boringssl_self_test_apex32]: [stopped]
[init.svc.bpfloader]: [stopped]
[init.svc.cameraserver]: [running]
[init.svc.credstore]: [running]
[init.svc.derive_sdk]: [stopped]
[init.svc.drm]: [running]
[init.svc.dump_kernel_panic]: [stopped]
[init.svc.gatekeeperd]: [running]
[init.svc.gpu]: [running]
[init.svc.health-hal-2-1]: [running]
[init.svc.heapprofd]: [stopped]
[init.svc.hidl_memory]: [running]
[init.svc.hwservicemanager]: [running]
[init.svc.idmap2d]: [stopped]
[init.svc.incidentd]: [running]
[init.svc.installd]: [running]
[init.svc.iorapd]: [stopped]
[init.svc.keystore]: [running]
[init.svc.lmkd]: [running]
[init.svc.logcatd]: [stopped]
[init.svc.logd]: [running]
[init.svc.logd-auditctl]: [stopped]
[init.svc.logd-reinit]: [stopped]
[init.svc.media]: [running]
[init.svc.media.swcodec]: [running]
[init.svc.mediadrm]: [running]
[init.svc.mediaextractor]: [running]
[init.svc.mediametrics]: [running]
[init.svc.netd]: [running]
[init.svc.rockchip.drmservice]: [stopped]
[init.svc.servicemanager]: [running]
[init.svc.simple_bugreportd]: [stopped]
[init.svc.slttrace]: [stopped]
[init.svc.statsd]: [running]
[init.svc.storaged]: [running]
[init.svc.surfaceflinger]: [running]
[init.svc.system_suspend]: [running]
[init.svc.tombstoned]: [running]
[init.svc.traced]: [running]
[init.svc.traced_perf]: [stopped]
[init.svc.traced_probes]: [running]
[init.svc.ueventd]: [running]
[init.svc.usbd]: [stopped]
[init.svc.vendor.audio-hal]: [running]
[init.svc.vendor.bluetooth-1-0]: [running]
[init.svc.vendor.camera-provider-2-4]: [stopped]
[init.svc.vendor.gatekeeper-1-0]: [running]
[init.svc.vendor.gralloc-4-0]: [running]
[init.svc.vendor.hwcomposer-2-1]: [running]
[init.svc.vendor.insmod_sh]: [stopped]
[init.svc.vendor.keymaster-4-0]: [running]
[init.svc.vendor.light-rockchip]: [running]
[init.svc.vendor.media.omx]: [running]
[init.svc.vendor.memtrack-hal-1-0]: [running]
[init.svc.vendor.power-aidl-rockchip]: [running]
[init.svc.vendor.rockit-hal-1-0]: [running]
[init.svc.vendor.sensors-hal-1-0]: [running]
[init.svc.vendor.wifi_hal_legacy]: [running]
[init.svc.vendor_flash_recovery]: [stopped]
[init.svc.vndservicemanager]: [running]
[init.svc.vold]: [running]
[init.svc.wait_for_keymaster]: [stopped]
[init.svc.wificond]: [running]
[init.svc.wpa_supplicant]: [running]
[init.svc.zygote]: [running]
[keyguard.no_require_sim]: [true]
[log.tag.APM_AudioPolicyManager]: [D]
[log.tag.stats_log]: [I]
[net.bt.name]: [Android]
[net.qtaguid_enabled]: [1]
[net.tcp.default_init_rwnd]: [60]
[persist.bt.sleep.flag]: [false]
[persist.shutdown.timeout]: [1800000]
[persist.sys.boot.reason]: []
[persist.sys.boot.reason.history]: [shutdown,,1789832152
shutdown,,1789826085
shutdown,,1789821758]
[persist.sys.dalvik.vm.lib.2]: [libart.so]
[persist.sys.device_provisioned]: [1]
[persist.sys.displayinset.top]: [0]
[persist.sys.first_booting]: [false]
[persist.sys.fullmode_cnt]: [0]
[persist.sys.fuse]: [true]
[persist.sys.gamma]: [192]
[persist.sys.isolated_storage]: [true]
[persist.sys.lmk.reportkills]: [true]
[persist.sys.locale]: [en-US]
[persist.sys.safemode]: []
[persist.sys.strictmode.visual]: [false]
[persist.sys.timezone]: [Europe/Berlin]
[persist.sys.usb.config]: [adb,mtp]
[persist.sys.zram_enabled]: [1]
[persist.traced.enable]: [1]
[persist.vendor.brightness.main]: [50]
[persist.vendor.color.main]: [Auto]
[persist.vendor.contrast.main]: [50]
[persist.vendor.framebuffer.main]: [0x0@60]
[persist.vendor.hue.main]: [50]
[persist.vendor.overscan.main]: [overscan 100,100,100,100]
[persist.vendor.resolution.main]: [Auto]
[persist.vendor.rk_vulkan]: [true]
[persist.vendor.saturation.main]: [50]
[persist.wetao.wallpaper.standby]: [/storage/emulated/0/Wallpaper/rmc.jpg]
[persist.wifi.sleep.flag]: [false]
[pm.dexopt.ab-ota]: [speed-profile]
[pm.dexopt.bg-dexopt]: [speed-profile]
[pm.dexopt.boot]: [verify]
[pm.dexopt.downgrade_after_inactive_days]: [10]
[pm.dexopt.first-boot]: [quicken]
[pm.dexopt.inactive]: [verify]
[pm.dexopt.install]: [speed-profile]
[pm.dexopt.shared]: [quicken]
[ril.function.dataonly]: [1]
[ro.actionable_compatible_property.enabled]: [true]
[ro.adb.secure]: [1]
[ro.allow.mock.location]: [0]
[ro.audio.monitorOrientation]: [true]
[ro.backkey.home]: [true]
[ro.baseband]: [N/A]
[ro.board.platform]: [rk3326]
[ro.boot.baseband]: [N/A]
[ro.boot.boot_devices]: [ff390000.dwmmc,ff3b0000.nandc]
[ro.boot.bootreason]: [shutdown,]
[ro.boot.console]: [ttyFIQ0]
[ro.boot.dtb_idx]: [0]
[ro.boot.dtbo_idx]: [0]
[ro.boot.dynamic_partitions]: [true]
[ro.boot.flash.locked]: [0]
[ro.boot.hardware]: [rk30board]
[ro.boot.mode]: [normal]
[ro.boot.noril]: [true]
[ro.boot.oem_unlocked]: [0]
[ro.boot.selinux]: [permissive]
[ro.boot.serialno]: [SA4B03CN2608083015X]
[ro.boot.storagemedia]: [emmc]
[ro.boot.verifiedbootstate]: [orange]
[ro.boot.veritymode]: [enforcing]
[ro.boot.wificountrycode]: [CN]
[ro.bootimage.build.date]: [Mon Aug 17 15:22:45 CST 2026]
[ro.bootimage.build.date.utc]: [1786951365]
[ro.bootimage.build.fingerprint]: [rockchip/rk3326_go/rk3326_go:11/RD2A.211001.002/wetao18608171522:user/release-keys]
[ro.bootloader]: [unknown]
[ro.bootmode]: [normal]
[ro.build.characteristics]: [tablet]
[ro.build.date]: [Mon Aug 17 15:22:45 CST 2026]
[ro.build.date.utc]: [1786951365]
[ro.build.description]: [WT4S1CN20260817]
[ro.build.display.id]: [WT4S1CN20260817]
[ro.build.fingerprint]: [rockchip/rk3326_go/rk3326_go:11/RD2A.211001.002/eng.wetao1.20260817.152741:user/release-keys]
[ro.build.flavor]: [S4-user]
[ro.build.host]: [wetao186]
[ro.build.id]: [RD2A.211001.002]
[ro.build.product]: [S4]
[ro.build.tags]: [release-keys]
[ro.build.type]: [user]
[ro.build.user]: [wetao186]
[ro.build.version.all_codenames]: [REL]
[ro.build.version.base_os]: []
[ro.build.version.codename]: [REL]
[ro.build.version.incremental]: [eng.wetao1.20260817.152741]
[ro.build.version.min_supported_target_sdk]: [23]
[ro.build.version.preview_sdk]: [0]
[ro.build.version.preview_sdk_fingerprint]: [REL]
[ro.build.version.release]: [11]
[ro.build.version.release_or_codename]: [11]
[ro.build.version.sdk]: [30]
[ro.build.version.security_patch]: [2021-10-01]
[ro.camera.enableLazyHal]: [true]
[ro.carrier]: [unknown]
[ro.com.android.dataroaming]: [true]
[ro.config.alarm_alert]: [Oxygen.ogg]
[ro.config.enable.remotecontrol]: [false]
[ro.config.low_ram]: [true]
[ro.config.notification_sound]: [pixiedust.ogg]
[ro.config.statusbar]: [sync]
[ro.config.statuspanel]: [wifi,bt,clean]
[ro.crypto.metadata.enabled]: [true]
[ro.crypto.state]: [encrypted]
[ro.crypto.type]: [file]
[ro.crypto.uses_fs_ioc_add_encryption_key]: [true]
[ro.dalvik.vm.native.bridge]: [0]
[ro.debuggable]: [0]
[ro.device.auto.shutdown]: [true]
[ro.device.brightness.enable]: [0]
[ro.device.bt_support]: [true]
[ro.device.contrast.enable]: [false]
[ro.device.dict.translate_enable]: [false]
[ro.device.otg_support]: [true]
[ro.device.reader.nightmode.enable]: [false]
[ro.device.timezone]: [Asia/Shanghai]
[ro.device.tts_enable]: [false]
[ro.device.wifi_model]: [rtl8723ds]
[ro.enable_boot_charger_mode]: [0]
[ro.factory.hasGPS]: [false]
[ro.factory.storage_suppexfat]: [true]
[ro.factory.storage_suppntfs]: [true]
[ro.factory.tool]: [0]
[ro.factory.without_battery]: [false]
[ro.hardware]: [rk30board]
[ro.hardware.egl]: [mali]
[ro.hwui.use_vulkan]: []
[ro.iorapd.enable]: [false]
[ro.kernel.android.checkjni]: [0]
[ro.lmk.critical_upgrade]: [true]
[ro.lmk.downgrade_pressure]: [60]
[ro.lmk.kill_heaviest_task]: [false]
[ro.lmk.upgrade_pressure]: [40]
[ro.lockscreen.disable.default]: [true]
[ro.logd.size.stats]: [64K]
[ro.minui.default_rotation]: [ROTATION_NONE]
[ro.minui.pixel_format]: [RGBX_8888]
[ro.odm.build.date]: [Mon Aug 17 15:22:45 CST 2026]
[ro.odm.build.date.utc]: [1786951365]
[ro.odm.build.fingerprint]: [rockchip/rk3326_go/rk3326_go:11/RD2A.211001.002/wetao18608171522:user/release-keys]
[ro.odm.build.id]: [RD2A.211001.002]
[ro.odm.build.tags]: [release-keys]
[ro.odm.build.type]: [user]
[ro.odm.build.version.incremental]: [eng.wetao1.20260817.152741]
[ro.odm.build.version.release]: [11]
[ro.odm.build.version.release_or_codename]: [11]
[ro.odm.build.version.sdk]: [30]
[ro.odm.product.cpu.abilist]: [armeabi-v7a,armeabi]
[ro.odm.product.cpu.abilist32]: [armeabi-v7a,armeabi]
[ro.odm.product.cpu.abilist64]: []
[ro.oem.name]: [S4]
[ro.oem_unlock_supported]: [1]
[ro.opengles.version]: [196610]
[ro.organization_owned]: [false]
[ro.postinstall.fstab.prefix]: [/system]
[ro.product.board]: [rk30sdk]
[ro.product.brand]: [XTEINK]
[ro.product.build.date]: [Mon Aug 17 15:22:45 CST 2026]
[ro.product.build.date.utc]: [1786951365]
[ro.product.build.fingerprint]: [rockchip/rk3326_go/rk3326_go:11/RD2A.211001.002/wetao18608171522:user/release-keys]
[ro.product.build.id]: [RD2A.211001.002]
[ro.product.build.tags]: [release-keys]
[ro.product.build.type]: [user]
[ro.product.build.version.incremental]: [eng.wetao1.20260817.152741]
[ro.product.build.version.release]: [11]
[ro.product.build.version.release_or_codename]: [11]
[ro.product.build.version.sdk]: [30]
[ro.product.cpu.abi]: [armeabi-v7a]
[ro.product.cpu.abi2]: [armeabi]
[ro.product.cpu.abilist]: [armeabi-v7a,armeabi]
[ro.product.cpu.abilist32]: [armeabi-v7a,armeabi]
[ro.product.cpu.abilist64]: []
[ro.product.device]: [S4]
[ro.product.first_api_level]: [30]
[ro.product.locale]: [zh-CN]
[ro.product.manufacturer]: [XTEINK]
[ro.product.model]: [S4]
[ro.product.name]: [S4]
[ro.product.odm.brand]: [XTEINK]
[ro.product.odm.device]: [S4]
[ro.product.odm.manufacturer]: [XTEINK]
[ro.product.odm.model]: [S4]
[ro.product.odm.name]: [S4]
[ro.product.ota.host]: [120.79.104.199:2300]
[ro.product.product.brand]: [XTEINK]
[ro.product.product.device]: [S4]
[ro.product.product.manufacturer]: [XTEINK]
[ro.product.product.model]: [S4]
[ro.product.product.name]: [S4]
[ro.product.system.brand]: [XTEINK]
[ro.product.system.device]: [S4]
[ro.product.system.manufacturer]: [XTEINK]
[ro.product.system.model]: [S4]
[ro.product.system.name]: [S4]
[ro.product.system_ext.brand]: [XTEINK]
[ro.product.system_ext.device]: [S4]
[ro.product.system_ext.manufacturer]: [XTEINK]
[ro.product.system_ext.model]: [S4]
[ro.product.system_ext.name]: [S4]
[ro.product.usbfactory]: [rockchip_usb]
[ro.product.vendor.brand]: [XTEINK]
[ro.product.vendor.device]: [S4]
[ro.product.vendor.manufacturer]: [XTEINK]
[ro.product.vendor.model]: [S4]
[ro.product.vendor.name]: [S4]
[ro.product.vndk.version]: [30]
[ro.property_service.version]: [2]
[ro.radio.noril]: [true]
[ro.revision]: [0]
[ro.rk.LowBatteryBrightness]: [false]
[ro.rk.MassStorage]: [false]
[ro.rk.bt_enable]: [true]
[ro.rk.def_brightness]: [200]
[ro.rk.flash_enable]: [true]
[ro.rk.hdmi_enable]: [true]
[ro.rk.homepage_base]: []
[ro.rk.install_non_market_apps]: [false]
[ro.rk.screenoff_time]: [300000]
[ro.rk.screenshot_enable]: [true]
[ro.rk.systembar.tabletUI]: [false]
[ro.rk.systembar.voiceicon]: [true]
[ro.rksdk.version]: [ANDROID11_RKR12]
[ro.safemode.disabled]: [true]
[ro.secure]: [1]
[ro.serialno]: [SA4B03CN2608083015X]
[ro.sf.hwrotation]: [0]
[ro.sf.lcd_density]: [219]
[ro.statsd.enable]: [true]
[ro.statusbar.panel_seek]: [true]
[ro.statusbar.panel_type]: [wetao1]
[ro.system.build.date]: [Mon Aug 17 15:22:45 CST 2026]
[ro.system.build.date.utc]: [1786951365]
[ro.system.build.fingerprint]: [rockchip/rk3326_go/rk3326_go:11/RD2A.211001.002/wetao18608171522:user/release-keys]
[ro.system.build.id]: [RD2A.211001.002]
[ro.system.build.tags]: [release-keys]
[ro.system.build.type]: [user]
[ro.system.build.version.incremental]: [eng.wetao1.20260817.152741]
[ro.system.build.version.release]: [11]
[ro.system.build.version.release_or_codename]: [11]
[ro.system.build.version.sdk]: [30]
[ro.system_ext.build.date]: [Mon Aug 17 15:22:45 CST 2026]
[ro.system_ext.build.date.utc]: [1786951365]
[ro.system_ext.build.fingerprint]: [rockchip/rk3326_go/rk3326_go:11/RD2A.211001.002/wetao18608171522:user/release-keys]
[ro.system_ext.build.id]: [RD2A.211001.002]
[ro.system_ext.build.tags]: [release-keys]
[ro.system_ext.build.type]: [user]
[ro.system_ext.build.version.incremental]: [eng.wetao1.20260817.152741]
[ro.system_ext.build.version.release]: [11]
[ro.system_ext.build.version.release_or_codename]: [11]
[ro.system_ext.build.version.sdk]: [30]
[ro.target.product]: [tablet]
[ro.tether.denied]: [false]
[ro.treble.enabled]: [true]
[ro.vendor.build.date]: [Mon Aug 17 15:22:45 CST 2026]
[ro.vendor.build.date.utc]: [1786951365]
[ro.vendor.build.fingerprint]: [rockchip/rk3326_go/rk3326_go:11/RD2A.211001.002/wetao18608171522:user/release-keys]
[ro.vendor.build.id]: [RD2A.211001.002]
[ro.vendor.build.security_patch]: [2021-10-01]
[ro.vendor.build.tags]: [release-keys]
[ro.vendor.build.type]: [user]
[ro.vendor.build.version.incremental]: [eng.wetao1.20260817.152741]
[ro.vendor.build.version.release]: [11]
[ro.vendor.build.version.release_or_codename]: [11]
[ro.vendor.build.version.sdk]: [30]
[ro.vendor.mpp_buf_type]: [1]
[ro.vendor.product.cpu.abilist]: [armeabi-v7a,armeabi]
[ro.vendor.product.cpu.abilist32]: [armeabi-v7a,armeabi]
[ro.vendor.product.cpu.abilist64]: []
[ro.vendor.sdkversion]: [RK3326_ANDROID10.0_MID_V1.0]
[ro.vendor.stamp]: [2b20ed5e22105039ccf7c2e4e12de626 -]
[ro.vendor.udisk.visible]: [true]
[ro.vndk.version]: [30]
[ro.wetao.display]: [2]
[ro.wetao.el.shelf_main]: [all]
[ro.wetao.font.language]: [true]
[ro.wetao.model]: [S4]
[ro.wetao.rotate_enable]: [false]
[ro.wetao.screenlock_enable]: [false]
[ro.wetao.weread.volumekey.flip]: [true]
[ro.wetao.wifi]: [rtl8723ds]
[ro.wetao.wifi.sleep_timer]: [30000]
[ro.wifi.channels]: []
[ro.zram.mark_idle_delay_mins]: [60]
[ro.zygote]: [zygote32]
[security.perf_harden]: [1]
[selinux.restorecon_recursive]: [/data/misc_ce/0]
[service.bootanim.exit]: [1]
[service.sf.present_timestamp]: [0]
[sf.power.control]: [2073600]
[sys.ID.mID]: [3]
[sys.api.gesturekey.lock]: [back]
[sys.bluetooth.enable]: [0]
[sys.boot.reason]: [shutdown,]
[sys.boot.reason.last]: [shutdown,]
[sys.boot_completed]: [1]
[sys.bootstat.first_boot_completed]: [1]
[sys.bugreport_reason]: [SYSTEM_BOOT]
[sys.eink.bt.keep_wakeup]: [1]
[sys.eink.dither]: [1]
[sys.gmali.version]: [g2p0-01eac0-x-5@0]
[sys.init.perf_lsm_hooks]: [1]
[sys.isolated_storage_snapshot]: [true]
[sys.power.connected]: [1]
[sys.rescue_boot_count]: [1]
[sys.resolution.changed]: [false]
[sys.retaildemo.enabled]: [0]
[sys.sltgltrace.result]: [PASS]
[sys.sltgltrace.status]: [1342 C]
[sys.standby.charge]: [1]
[sys.standby.nopower]: [0]
[sys.status.hidebar_enable]: [false]
[sys.sysctl.extra_free_kbytes]: [4500]
[sys.sysctl.tcp_def_init_rwnd]: [60]
[sys.system_server.start_count]: [1]
[sys.system_server.start_elapsed]: [16281]
[sys.system_server.start_uptime]: [16281]
[sys.usb.config]: [mtp,adb]
[sys.usb.configfs]: [1]
[sys.usb.controller]: [ff300000.usb]
[sys.usb.ffs.ready]: [1]
[sys.usb.mtp.device_type]: [3]
[sys.usb.state]: [mtp,adb]
[sys.use_memfd]: [false]
[sys.user.0.ce_available]: [true]
[sys.wetao.max_cached_proc]: [3]
[sys.wetao.reader.fullmode_cnt]: [10]
[sys.wetao.reader.progress_mode]: [0]
[sys.wifi.enable]: [1]
[sys.wifitracing.started]: [1]
[testing.mediascanner.skiplist]: [/mnt/shell/emulated/Android/]
[vendor.all.modules.ready]: [1]
[vendor.ghwc.commit]: [commit-id:ff5e815404]
[vendor.ghwc.version]: [0.67-rk3326-MID]
[vendor.gralloc.fb_size]: [384000]
[vendor.gralloc.no_afbc_for_fb_target_layer]: [1]
[vendor.hwc.compose_policy]: [6]
[vendor.hwc.device.aux]: []
[vendor.hwc.device.main]: [DSI]
[vold.has_adoptable]: [0]
[vold.has_quota]: [1]
[vold.has_reserved]: [1]
[wifi.interface]: [wlan0]
[wifi.supplicant_scan_interval]: [15]
armeabi-v7a
rk3326
rk30board
MemTotal: 2016252 kB
MemFree: 869104 kB
MemAvailable: 1412580 kB
Buffers: 2632 kB
Cached: 526648 kB
SwapCached: 0 kB
Active: 443640 kB
Inactive: 404948 kB
Active(anon): 323588 kB
Inactive(anon): 3948 kB
Active(file): 120052 kB
Inactive(file): 401000 kB
Unevictable: 4152 kB
Mlocked: 2580 kB
SwapTotal: 1512184 kB
SwapFree: 1512184 kB
Dirty: 24 kB
Writeback: 0 kB
AnonPages: 323416 kB
Mapped: 305976 kB
Shmem: 6280 kB
KReclaimable: 60680 kB
Slab: 145016 kB
SReclaimable: 53616 kB
SUnreclaim: 91400 kB
KernelStack: 14416 kB
PageTables: 19460 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 2520308 kB
Committed_AS: 14307772 kB
VmallocTotal: 263061440 kB
VmallocUsed: 34548 kB
VmallocChunk: 0 kB
Percpu: 3424 kB
CmaTotal: 16384 kB
CmaAllocated: 1296 kB
CmaReleased: 15088 kB
CmaFree: 0 kB
Current Battery Service state:
AC powered: false
USB powered: true
Wireless powered: false
Max charging current: 500
Max charging voltage: 4350
Charge counter: 1
status: 2
health: 2
present: true
level: 98
scale: 100
voltage: 4228
current: 326000
temperature: 270
technology:
DISPLAY MANAGER (dumpsys display)
mOnlyCode=false
mSafeMode=false
mPendingTraversal=false
mGlobalDisplayState=ON
mNextNonDefaultDisplayId=1
mViewports=[DisplayViewport{type=INTERNAL, valid=true, isActive=true, displayId=0, uniqueId='local:0', physicalPort=0, orientation=0, logicalFrame=Rect(0, 0 - 480, 800), physicalFrame=Rect(0, 0 - 480, 800), deviceWidth=480, deviceHeight=800}]
mDefaultDisplayDefaultColorMode=0
mSingleDisplayDemoMode=false
mWifiDisplayScanRequestCount=0
mStableDisplaySize=Point(480, 800)
mMinimumBrightnessCurve=[(0.0, 0.0), (2000.0, 50.0), (4000.0, 90.0)]
Display Adapters: size=3
LocalDisplayAdapter
VirtualDisplayAdapter
OverlayDisplayAdapter
mCurrentOverlaySetting=
mOverlays: size=0
Display Devices: size=1
DisplayDeviceInfo{"quot;Built-in Screen"quot;: uniqueId="quot;local:0"quot;, 480 x 800, modeId 1, defaultModeId 1, supportedModes [{id=1, width=480, height=800, fps=78.00001}], colorMode 0, supportedColorModes [0], HdrCapabilities HdrCapabilities{mSupportedHdrTypes=[], mMaxLuminance=500.0, mMaxAverageLuminance=500.0, mMinLuminance=0.0}, allmSupported false, gameContentTypeSupported false, density 219, 79.686 x 239.058 dpi, appVsyncOff 2000000, presDeadline 12820512, touch INTERNAL, rotation 0, type INTERNAL, address {port=0}, deviceProductInfo null, state ON, FLAG_DEFAULT_DISPLAY, FLAG_ROTATES_WITH_CONTENT, FLAG_SECURE, FLAG_SUPPORTS_PROTECTED_BUFFERS}
mAdapter=LocalDisplayAdapter
mUniqueId=local:0
mDisplayToken=android.os.BinderProxy@205897b
mCurrentLayerStack=0
mCurrentOrientation=0
mCurrentLayerStackRect=Rect(0, 0 - 480, 800)
mCurrentDisplayRect=Rect(0, 0 - 480, 800)
mCurrentSurface=null
mPhysicalDisplayId=0
mDisplayModeSpecs={baseModeId=1 primaryRefreshRateRange=[0 Infinity] appRequestRefreshRateRange=[0 Infinity]}
mDisplayModeSpecsInvalid=false
mActiveConfigId=0
mActiveModeId=1
mActiveColorMode=0
mDefaultModeId=1
mState=ON
mBrightnessState=0.3503937
mBacklight=com.android.server.lights.LightsService$LightImpl@c613398
mAllmSupported=false
mAllmRequested=false
mGameContentTypeSupported=false
mGameContentTypeRequested=false
mDisplayInfo=DisplayInfo{isInternal=true, density=1.36875, secure=true, deviceProductInfo=null}
mDisplayConfigs=
DisplayConfig{width=480, height=800, xDpi=79.686, yDpi=239.058, refreshRate=78.00001, appVsyncOffsetNanos=2000000, presentationDeadlineNanos=12820512, configGroup=-1}
mSupportedModes=
DisplayModeRecord{mMode={id=1, width=480, height=800, fps=78.00001}}
mSupportedColorModes=[0]
Logical Displays: size=1
Display 0:
mDisplayId=0
mLayerStack=0
mHasContent=true
mDesiredDisplayModeSpecs={baseModeId=1 primaryRefreshRateRange=[0 Infinity] appRequestRefreshRateRange=[0 Infinity]}
mRequestedColorMode=0
mDisplayOffset=(0, 0)
mDisplayScalingDisabled=false
mPrimaryDisplayDevice=Built-in Screen
mBaseDisplayInfo=DisplayInfo{"quot;Built-in Screen"quot;, displayId 0, FLAG_SECURE, FLAG_SUPPORTS_PROTECTED_BUFFERS, FLAG_TRUSTED, real 480 x 800, largest app 480 x 800, smallest app 480 x 800, appVsyncOff 2000000, presDeadline 12820512, mode 1, defaultMode 1, modes [{id=1, width=480, height=800, fps=78.00001}], hdrCapabilities HdrCapabilities{mSupportedHdrTypes=[], mMaxLuminance=500.0, mMaxAverageLuminance=500.0, mMinLuminance=0.0}, minimalPostProcessingSupported false, rotation 0, state ON, type INTERNAL, uniqueId "quot;local:0"quot;, app 480 x 800, density 219 (79.686 x 239.058) dpi, layerStack 0, colorMode 0, supportedColorModes [0], address {port=0}, deviceProductInfo null, removeMode 0}
mOverrideDisplayInfo=DisplayInfo{"quot;Built-in Screen"quot;, displayId 0, FLAG_SECURE, FLAG_SUPPORTS_PROTECTED_BUFFERS, FLAG_TRUSTED, real 480 x 800, largest app 800 x 748, smallest app 480 x 428, appVsyncOff 2000000, presDeadline 12820512, mode 1, defaultMode 1, modes [{id=1, width=480, height=800, fps=78.00001}], hdrCapabilities HdrCapabilities{mSupportedHdrTypes=[], mMaxLuminance=500.0, mMaxAverageLuminance=500.0, mMinLuminance=0.0}, minimalPostProcessingSupported false, rotation 0, state OFF, type INTERNAL, uniqueId "quot;local:0"quot;, app 480 x 800, density 219 (79.686 x 239.058) dpi, layerStack 0, colorMode 0, supportedColorModes [0], address {port=0}, deviceProductInfo null, removeMode 0}
mRequestedMinimalPostProcessing=false
DisplayModeDirector
mSupportedModesByDisplay:
0 ->gt; [{id=1, width=480, height=800, fps=78.00001}]
mDefaultModeByDisplay:
0 ->gt; {id=1, width=480, height=800, fps=78.00001}
mVotesByDisplay:
-1:
PRIORITY_USER_SETTING_MIN_REFRESH_RATE ->gt; Vote{width=-1, height=-1, minRefreshRate=0.0, maxRefreshRate=Infinity}
PRIORITY_DEFAULT_REFRESH_RATE ->gt; Vote{width=-1, height=-1, minRefreshRate=0.0, maxRefreshRate=60.0}
SettingsObserver
mDefaultRefreshRate: 60.0
mDefaultPeakRefreshRate: 0.0
AppRequestObserver
mAppRequestedModeByDisplay:
BrightnessObserver
mAmbientLux: -1.0
mBrightness: 90
mDefaultDisplayState: 2
mLowPowerModeEnabled: false
mRefreshRateChangeable: false
mShouldObserveDisplayLowChange: false
mShouldObserveAmbientLowChange: false
mRefreshRateInLowZone: 0
mShouldObserveDisplayHighChange: false
mShouldObserveAmbientHighChange: false
mRefreshRateInHighZone: 0
mLastSensorData: 0.0
mTimestamp: 1970-01-01 01:00:00.000
Callbacks: size=25
0: mPid=389, mWifiDisplayScanRequested=false
1: mPid=537, mWifiDisplayScanRequested=false
2: mPid=684, mWifiDisplayScanRequested=false
3: mPid=703, mWifiDisplayScanRequested=false
4: mPid=723, mWifiDisplayScanRequested=false
5: mPid=743, mWifiDisplayScanRequested=false
6: mPid=901, mWifiDisplayScanRequested=false
7: mPid=953, mWifiDisplayScanRequested=false
8: mPid=978, mWifiDisplayScanRequested=false
9: mPid=1001, mWifiDisplayScanRequested=false
10: mPid=1019, mWifiDisplayScanRequested=false
11: mPid=1039, mWifiDisplayScanRequested=false
12: mPid=1060, mWifiDisplayScanRequested=false
13: mPid=1079, mWifiDisplayScanRequested=false
14: mPid=1144, mWifiDisplayScanRequested=false
15: mPid=1198, mWifiDisplayScanRequested=false
16: mPid=1206, mWifiDisplayScanRequested=false
17: mPid=1268, mWifiDisplayScanRequested=false
18: mPid=1288, mWifiDisplayScanRequested=false
19: mPid=1307, mWifiDisplayScanRequested=false
20: mPid=1328, mWifiDisplayScanRequested=false
21: mPid=1347, mWifiDisplayScanRequested=false
22: mPid=1383, mWifiDisplayScanRequested=false
23: mPid=1431, mWifiDisplayScanRequested=false
24: mPid=1454, mWifiDisplayScanRequested=false
Display Power Controller Locked State:
mDisplayReadyLocked=true
mPendingRequestLocked=policy=BRIGHT, useProximitySensor=false, screenBrightnessOverride=NaN, useAutoBrightness=false, screenAutoBrightnessAdjustmentOverride=NaN, screenLowPowerBrightnessFactor=1.0, blockScreenOn=false, lowPowerMode=false, boostScreenBrightness=false, dozeScreenBrightness=NaN, dozeScreenState=UNKNOWN
mPendingRequestChangedLocked=false
mPendingWaitForNegativeProximityLocked=false
mPendingUpdatePowerStateLocked=false
Display Power Controller Configuration:
mScreenBrightnessDozeConfig=0.0
mScreenBrightnessDimConfig=0.05
mScreenBrightnessDefault=0.39763778
mScreenBrightnessForVrRangeMinimum=0.307087
mScreenBrightnessForVrRangeMaximum=1.0
mScreenBrightnessForVrDefault=0.33464
mUseSoftwareAutoBrightnessConfig=true
mAllowAutoBrightnessWhileDozingConfig=false
mSkipScreenOnBrightnessRamp=false
mColorFadeFadesConfig=false
mColorFadeEnabled=false
mDisplayBlanksAfterDozeConfig=false
mBrightnessBucketsInDozeConfig=false
Display Power Controller Thread State:
mPowerRequest=policy=BRIGHT, useProximitySensor=false, screenBrightnessOverride=NaN, useAutoBrightness=false, screenAutoBrightnessAdjustmentOverride=NaN, screenLowPowerBrightnessFactor=1.0, blockScreenOn=false, lowPowerMode=false, boostScreenBrightness=false, dozeScreenBrightness=NaN, dozeScreenState=UNKNOWN
mUnfinishedBusiness=false
mWaitingForNegativeProximity=false
mProximitySensor=null
mProximitySensorEnabled=false
mProximityThreshold=0.0
mProximity=Unknown
mPendingProximity=Unknown
mPendingProximityDebounceTime=-1 (1730789 ms ago)
mScreenOffBecauseOfProximity=false
mLastUserSetScreenBrightnessFloat=0.0
mPendingScreenBrightnessSettingFloat=NaN
mTemporaryScreenBrightnessFloat=NaN
mAutoBrightnessAdjustment=0.0
mBrightnessReason=manual
mTemporaryAutoBrightnessAdjustment=NaN
mPendingAutoBrightnessAdjustment=NaN
mScreenBrightnessForVrFloat=0.33464
mAppliedAutoBrightness=false
mAppliedDimming=false
mAppliedLowPower=false
mAppliedScreenBrightnessOverride=false
mAppliedTemporaryBrightness=false
mDozing=false
mSkipRampState=RAMP_STATE_SKIP_NONE
mScreenOnBlockStartRealTime=3161920
mScreenOffBlockStartRealTime=3157676
mPendingScreenOnUnblocker=null
mPendingScreenOffUnblocker=null
mPendingScreenOff=false
mReportedToPolicy=REPORTED_TO_POLICY_SCREEN_ON
mScreenBrightnessRampAnimator.isAnimating()=false
Display Power State:
mScreenState=ON
mScreenBrightness=0.3503937
mScreenReady=true
mScreenUpdatePending=false
mColorFadePrepared=false
mColorFadeLevel=1.0
mColorFadeReady=true
mColorFadeDrawPending=false
Photonic Modulator State:
mPendingState=ON
mPendingBacklight=0.3503937
mActualState=ON
mActualBacklight=0.3503937
mStateChangeInProgress=false
mBacklightChangeInProgress=false
Automatic Brightness Controller Configuration:
mScreenBrightnessRangeMinimum=0.035433073
mScreenBrightnessRangeMaximum=1.0
mDozeScaleFactor=1.0
mInitialLightSensorRate=250
mNormalLightSensorRate=250
mLightSensorWarmUpTimeConfig=0
mBrighteningLightDebounceConfig=4000
mDarkeningLightDebounceConfig=8000
mResetAmbientLuxAfterWarmUpConfig=true
mAmbientLightHorizon=10000
mWeightingIntercept=10000
Automatic Brightness Controller State:
mLightSensor=null
mLightSensorEnabled=false
mLightSensorEnableTime=0 (1730788 ms ago)
mCurrentLightSensorRate=-1
mAmbientLux=0.0
mAmbientLuxValid=false
mAmbientBrighteningThreshold=0.0
mAmbientDarkeningThreshold=0.0
mScreenBrighteningThreshold=0.0
mScreenDarkeningThreshold=0.0
mLastObservedLux=0.0
mLastObservedLuxTime=0 (1730789 ms ago)
mRecentLightSamples=0
mAmbientLightRingBuffer=[]
mScreenAutoBrightness=NaN
mDisplayPolicy=BRIGHT
mShortTermModelTimeout=300000
mShortTermModelAnchor=-1.0
mShortTermModelValid=true
mBrightnessAdjustmentSamplePending=false
mBrightnessAdjustmentSampleOldLux=0.0
mBrightnessAdjustmentSampleOldBrightness=0.0
mForegroundAppPackageName=null
mPendingForegroundAppPackageName=null
mForegroundAppCategory=-1
mPendingForegroundAppCategory=-1
SimpleMappingStrategy
mSpline=MonotoneCubicSpline{[(0.0, 0.035433073: 0.013600573), (11.0, 0.18503937: 0.0), (41.0, 0.18503937: 0.0), (91.0, 0.2992126: 0.0019572554), (161.0, 0.41338584: 0.0016332092), (226.0, 0.51968503: 0.00146004), (321.0, 0.6417323: 8.269012E-4), (641.0, 0.7598425: 2.7989666E-4), (1281.0, 0.88188976: 1.4008814E-4), (2601.0, 1.0: 8.947746E-5)]}
mMaxGamma=3.0
mAutoBrightnessAdjustment=0.0
mUserLux=-1.0
mUserBrightness=-1.0
HysteresisLevels
mBrighteningThresholds=[0.1]
mDarkeningThresholds=[0.2]
mThresholdLevels=[]
HysteresisLevels
mBrighteningThresholds=[0.1]
mDarkeningThresholds=[0.2]
mThresholdLevels=[]
BrightnessTracker state:
mStarted=false
mLastBatteryLevel=NaN
mLastBrightness=-1.0
mLastSensorReadings.size=0
mEventsDirty=false
mEvents.size=0
mWriteBrightnessTrackerStateScheduled=false
mSensorRegistered=false
mColorSamplingEnabled=false
mNoFramesToSample=0
mFrameRate=0.0
PersistentDataStore
mLoaded=true
mDirty=false
RememberedWifiDisplays:
DisplayStates:
StableDeviceValues:
StableDisplayWidth=480
StableDisplayHeight=800
BrightnessConfigurations:
feature:reqGlEsVersion=0x30002
feature:android.hardware.audio.output
feature:android.hardware.bluetooth
feature:android.hardware.bluetooth_le
feature:android.hardware.camera
feature:android.hardware.camera.any
feature:android.hardware.camera.front
feature:android.hardware.faketouch
feature:android.hardware.location
feature:android.hardware.location.network
feature:android.hardware.microphone
feature:android.hardware.opengles.aep
feature:android.hardware.ram.low
feature:android.hardware.screen.landscape
feature:android.hardware.screen.portrait
feature:android.hardware.sensor.accelerometer
feature:android.hardware.touchscreen
feature:android.hardware.usb.accessory
feature:android.hardware.usb.host
feature:android.hardware.wifi
feature:android.hardware.wifi.direct
feature:android.hardware.wifi.passpoint
feature:android.software.app_enumeration
feature:android.software.app_widgets
feature:android.software.autofill
feature:android.software.backup
feature:android.software.cant_save_state
feature:android.software.companion_device_setup
feature:android.software.connectionservice
feature:android.software.cts
feature:android.software.device_admin
feature:android.software.file_based_encryption
feature:android.software.home_screen
feature:android.software.incremental_delivery
feature:android.software.input_methods
feature:android.software.ipsec_tunnels
feature:android.software.print
feature:android.software.secure_lock_screen
feature:android.software.securely_removes_users
feature:android.software.webview
Captured at: 18:40:54.646
Sensor Device:
Total 1 h/w sensors, 1 running 0 disabled clients:
Sensor List:
0000000000) Accelerometer sensor | The Android Open Source Project | ver: 1 | type: android.sensor.accelerometer(1) | perm: n/a | flags: 0x00000000
continuous | minRate=5.00Hz | maxRate=142.86Hz | no batching | non-wakeUp |
Fusion States:
9-axis fusion disabled (0 clients), gyro-rate= 200.00Hz, q=gt; (0), b=gt;
game fusion(no mag) disabled (0 clients), gyro-rate= 200.00Hz, q=gt; (0), b=gt;
geomag fusion (no gyro) disabled (0 clients), gyro-rate= 200.00Hz, q=gt; (0), b=gt;
Recent Sensor events:
Active sensors:
Socket Buffer size = 39 events
WakeLock Status: not held
Mode : NORMAL
Sensor Privacy: disabled
0 active connections
0 direct connections
Previous Registrations:
Physical size: 480x800
Physical density: 219
IsStatusOverride: false
ThermalEventListeners:
callbacks: 1
killed: false
broadcasts count: -1
ThermalStatusListeners:
callbacks: 1
killed: false
broadcasts count: -1
Thermal Status: 0
Cached temperatures:
HAL Ready: false
Build configuration: [sf PRESENT_TIME_OFFSET=0 FORCE_HWC_FOR_RBG_TO_YUV=0 MAX_VIRT_DISPLAY_DIM=0 RUNNING_WITHOUT_SYNC_FRAMEWORK=0 NUM_FRAMEBUFFER_SURFACE_BUFFERS=3] [libui] [libgui]
Display identification data:
Display 0 (HWC display 1): no identification data
Wide-Color information:
Device has wide color built-in display: 0
Device uses color management: 1
DisplayColorSetting: Managed
Display 0 color modes:
ColorMode::NATIVE (0)
Current color mode: ColorMode::NATIVE (0)
Sync configuration: [using: EGL_ANDROID_native_fence_sync EGL_KHR_wait_sync]
Scheduler:
+ Idle timer: off
+ Touch timer: off
+ Use content detection: off
ScreenOff: 0d00:03:53.946
78fps: 0d00:37:16.315
app phase: 2000000 ns SF phase: 1000000 ns
early app phase: 2000000 ns early SF phase: 1000000 ns
GL early app phase: 2000000 ns GL early SF phase: 1000000 ns
next VSYNC threshold: 9223372036854775807 ns
present offset: 0 ns VSYNC period: 12820512 ns
DesiredDisplayConfigSpecs (DisplayManager): default config ID: 0, primary range: [0.00 inf], app request range: [0.00 inf]
(config override by backdoor: no)
app: state=Idle VSyncState={displayId=0, count=5024}
pending events (count=0):
connections (count=16):
Connection{0xe8210a90, VSyncRequest::None}
Connection{0xe8210f90, VSyncRequest::None}
Connection{0xe8211030, VSyncRequest::None}
Connection{0xe8210fe0, VSyncRequest::None}
Connection{0xe8211170, VSyncRequest::None}
Connection{0xe8211120, VSyncRequest::None}
Connection{0xe8211260, VSyncRequest::None}
Connection{0xe82129d0, VSyncRequest::None}
Connection{0xe82130b0, VSyncRequest::None}
Connection{0xe8213330, VSyncRequest::None}
Connection{0xe8212110, VSyncRequest::None}
Connection{0xe8212980, VSyncRequest::None}
Connection{0xe8212a70, VSyncRequest::None}
Connection{0xe8212070, VSyncRequest::None}
Connection{0xe82113f0, VSyncRequest::None}
Connection{0xe8211f80, VSyncRequest::None}
present fences are used
mPeriod: 12768000 ns (78.321 fps)
mPhase: -2499 ns
mError: 0 ns (sqrt=0.0)
mNumResyncSamplesSincePresent: 4 (limit 4)
mNumResyncSamples: 6 (max 32)
mResyncSamples:
2471011298000
2471024100000 (+12802000)
2471036858000 (+12758000)
2471049628000 (+12770000)
2471062403000 (+12775000)
2471075169000 (+12766000)
mPresentFences [8]:
[invalid fence]
[invalid fence]
[invalid fence]
[invalid fence]
[invalid fence]
[invalid fence]
[invalid fence]
2471037686014 (8375.715 ms ago)
current monotonic time: 2479413401231
Static screen stats:
gt; gt; gt; gt;
[com.android.settings/com.android.settings.SubSettings#0] 54.54 0.004 0.236 0.764
[com.android.settings/com.android.settings.Settings$MyDeviceInfoActivity#0] 2.74 0.350 0.703 0.297
[com.android.settings/com.android.settings.SubSettings#1] 1.28 0.000 0.787 0.213
[com.android.settings/com.android.settings.Settings$SystemDashboardActivity#0] 0.98 0.149 0.719 0.281
[android.rockchip.update.service/android.rockchip.update.service.OtaUpdateNotifyActivity#0] 0.85 0.000 0.000 1.000
[com.android.systemui/com.android.systemui.usb.UsbDebuggingActivity#0] 0.27 0.000 0.000 1.000
Visible layers (count = 44)
GraphicBufferProducers: 5, max 4096
Composition layers
* Layer 0xe5b93800 (com.android.systemui.ImageWallpaper#0)
isSecure=false geomUsesSourceCrop=true geomBufferUsesDisplayInverseTransform=false geomLayerTransform 0x00000000 (ROT_0 ) 0x05 (SCALE TRANSLATE )
0.6875 0.0000 -24.0000
0.0000 0.6875 -40.0000
0.0000 0.0000 1.0000
geomBufferSize=[0 0 1280 1280] geomContentCrop=[0 0 1280 1280] geomCrop=[0 0 -1 -1] geomBufferTransform=0
Region transparentRegionHint (this=0xe7e9816c, count=1)
[ 0, 0, 0, 0]
geomLayerBounds=[34.909088 58.181816 733.090820 1221.818115] shadowRadius=0.000000
blend=NONE (1) alpha=1.000000 backgroundBlurRadius=0
type=2013 appId=10099 composition type=DEVICE (2)
buffer: slot=1 buffer=0xe8140fa0
sideband stream=0x0
color=[0.000000 0.000000 0.000000]
isOpaque=true hasProtectedContent=false isColorspaceAgnostic=false dataspace=UNKNOWN (0) hdr metadata types=0 colorTransform=[[1.000,0.000,0.000,0.000][0.000,1.000,0.000,0.000][0.000,0.000,1.000,0.000][0.000,0.000,0.000,1.000]]
* Layer 0xe6665000 (Task=1#0)
isSecure=false geomUsesSourceCrop=false geomBufferUsesDisplayInverseTransform=false geomLayerTransform 0x00000000 (ROT_0 ) 0x00 (IDENTITY )
1.0000 0.0000 0.0000
0.0000 1.0000 0.0000
0.0000 0.0000 1.0000
geomBufferSize=[0 0 -1 -1] geomContentCrop=[0 0 -1 -1] geomCrop=[0 0 -1 -1] geomBufferTransform=0
Region transparentRegionHint (this=0xe7e9456c, count=1)
[ 0, 0, 0, 0]
geomLayerBounds=[0.000000 0.000000 480.000000 800.000000] shadowRadius=0.000000
blend=NONE (1) alpha=1.000000 backgroundBlurRadius=0
type=0 appId=0 composition type=INVALID (0)
buffer: slot=-1 buffer=0x0
sideband stream=0x0
color=[0.000000 0.000000 0.000000]
isOpaque=true hasProtectedContent=false isColorspaceAgnostic=false dataspace=UNKNOWN (0) hdr metadata types=0 colorTransform=[[1.000,0.000,0.000,0.000][0.000,1.000,0.000,0.000][0.000,0.000,1.000,0.000][0.000,0.000,0.000,1.000]]
* Layer 0xe59ce000 (Task=39#0)
isSecure=false geomUsesSourceCrop=false geomBufferUsesDisplayInverseTransform=false geomLayerTransform 0x00000000 (ROT_0 ) 0x00 (IDENTITY )
1.0000 0.0000 0.0000
0.0000 1.0000 0.0000
0.0000 0.0000 1.0000
geomBufferSize=[0 0 -1 -1] geomContentCrop=[0 0 -1 -1] geomCrop=[0 0 -1 -1] geomBufferTransform=0
Region transparentRegionHint (this=0xe58ed2ec, count=1)
[ 0, 0, 0, 0]
geomLayerBounds=[0.000000 0.000000 480.000000 800.000000] shadowRadius=0.000000
blend=NONE (1) alpha=1.000000 backgroundBlurRadius=0
type=0 appId=0 composition type=INVALID (0)
buffer: slot=-1 buffer=0x0
sideband stream=0x0
color=[0.000000 0.000000 0.000000]
isOpaque=true hasProtectedContent=false isColorspaceAgnostic=false dataspace=UNKNOWN (0) hdr metadata types=0 colorTransform=[[1.000,0.000,0.000,0.000][0.000,1.000,0.000,0.000][0.000,0.000,1.000,0.000][0.000,0.000,0.000,1.000]]
* Layer 0xe5b91000 (com.wetao.elauncher/com.wetao.elauncher.ui.main.MainActivity#0)
isSecure=false geomUsesSourceCrop=true geomBufferUsesDisplayInverseTransform=false geomLayerTransform 0x00000000 (ROT_0 ) 0x00 (IDENTITY )
1.0000 0.0000 0.0000
0.0000 1.0000 0.0000
0.0000 0.0000 1.0000
geomBufferSize=[0 0 480 800] geomContentCrop=[0 0 480 800] geomCrop=[0 0 480 800] geomBufferTransform=0
Region transparentRegionHint (this=0xe7e96aec, count=1)
[ 0, 0, 0, 0]
geomLayerBounds=[0.000000 0.000000 480.000000 800.000000] shadowRadius=0.000000
blend=NONE (1) alpha=1.000000 backgroundBlurRadius=0
type=1 appId=1000 composition type=DEVICE (2)
buffer: slot=0 buffer=0xe8141180
sideband stream=0x0
color=[0.000000 0.000000 0.000000]
isOpaque=true hasProtectedContent=false isColorspaceAgnostic=false dataspace=UNKNOWN (0) hdr metadata types=0 colorTransform=[[1.000,0.000,0.000,0.000][0.000,1.000,0.000,0.000][0.000,0.000,1.000,0.000][0.000,0.000,0.000,1.000]]
* Layer 0xe5b7f000 (Surface(name=db128f6 InputMethod)/@0xf78c5cd - animation-leash#1)
isSecure=false geomUsesSourceCrop=false geomBufferUsesDisplayInverseTransform=false geomLayerTransform 0x00000000 (ROT_0 ) 0x01 (TRANSLATE )
1.0000 0.0000 0.0000
0.0000 1.0000 800.0000
0.0000 0.0000 1.0000
geomBufferSize=[0 0 -1 -1] geomContentCrop=[0 0 -1 -1] geomCrop=[0 0 -1 -1] geomBufferTransform=0
Region transparentRegionHint (this=0xe7e97c6c, count=1)
[ 0, 0, 0, 0]
geomLayerBounds=[0.000000 -800.000000 480.000000 0.000000] shadowRadius=0.000000
blend=NONE (1) alpha=1.000000 backgroundBlurRadius=0
type=0 appId=0 composition type=INVALID (0)
buffer: slot=-1 buffer=0x0
sideband stream=0x0
color=[0.000000 0.000000 0.000000]
isOpaque=true hasProtectedContent=false isColorspaceAgnostic=false dataspace=UNKNOWN (0) hdr metadata types=0 colorTransform=[[1.000,0.000,0.000,0.000][0.000,1.000,0.000,0.000][0.000,0.000,1.000,0.000][0.000,0.000,0.000,1.000]]
* Layer 0xe5a44000 (Surface(name=db8a4ea StatusBar)/@0xf5a24d1 - animation-leash#0)
isSecure=false geomUsesSourceCrop=false geomBufferUsesDisplayInverseTransform=false geomLayerTransform 0x00000000 (ROT_0 ) 0x00 (IDENTITY )
1.0000 0.0000 0.0000
0.0000 1.0000 0.0000
0.0000 0.0000 1.0000
geomBufferSize=[0 0 -1 -1] geomContentCrop=[0 0 -1 -1] geomCrop=[0 0 -1 -1] geomBufferTransform=0
Region transparentRegionHint (this=0xe58ed7ec, count=1)
[ 0, 0, 0, 0]
geomLayerBounds=[0.000000 0.000000 480.000000 800.000000] shadowRadius=0.000000
blend=NONE (1) alpha=1.000000 backgroundBlurRadius=0
type=0 appId=0 composition type=INVALID (0)
buffer: slot=-1 buffer=0x0
sideband stream=0x0
color=[0.000000 0.000000 0.000000]
isOpaque=true hasProtectedContent=false isColorspaceAgnostic=false dataspace=UNKNOWN (0) hdr metadata types=0 colorTransform=[[1.000,0.000,0.000,0.000][0.000,1.000,0.000,0.000][0.000,0.000,1.000,0.000][0.000,0.000,0.000,1.000]]
* Layer 0xe59e0800 (StatusBar#0)
isSecure=false geomUsesSourceCrop=true geomBufferUsesDisplayInverseTransform=false geomLayerTransform 0x00000000 (ROT_0 ) 0x00 (IDENTITY )
1.0000 0.0000 0.0000
0.0000 1.0000 0.0000
0.0000 0.0000 1.0000
geomBufferSize=[0 0 480 52] geomContentCrop=[0 0 480 52] geomCrop=[0 0 480 52] geomBufferTransform=0
Region transparentRegionHint (this=0xe7e988ec, count=1)
[ 0, 0, 0, 0]
geomLayerBounds=[0.000000 0.000000 480.000000 52.000000] shadowRadius=0.000000
blend=PREMULTIPLIED (2) alpha=1.000000 backgroundBlurRadius=0
type=2000 appId=10099 composition type=DEVICE (2)
buffer: slot=2 buffer=0xe8143200
sideband stream=0x0
color=[0.000000 0.000000 0.000000]
isOpaque=false hasProtectedContent=false isColorspaceAgnostic=true dataspace=UNKNOWN (0) hdr metadata types=0 colorTransform=[[1.000,0.000,0.000,0.000][0.000,1.000,0.000,0.000][0.000,0.000,1.000,0.000][0.000,0.000,0.000,1.000]]
* Layer 0xe5a42000 (Surface(name=df6112c NavigationBar0)/@0xb3f8b36 - animation-leash#0)
isSecure=false geomUsesSourceCrop=false geomBufferUsesDisplayInverseTransform=false geomLayerTransform 0x00000000 (ROT_0 ) 0x01 (TRANSLATE )
1.0000 0.0000 0.0000
0.0000 1.0000 800.0000
0.0000 0.0000 1.0000
geomBufferSize=[0 0 -1 -1] geomContentCrop=[0 0 -1 -1] geomCrop=[0 0 -1 -1] geomBufferTransform=0
Region transparentRegionHint (this=0xe58eda6c, count=1)
[ 0, 0, 0, 0]
geomLayerBounds=[0.000000 -800.000000 480.000000 0.000000] shadowRadius=0.000000
blend=NONE (1) alpha=1.000000 backgroundBlurRadius=0
type=0 appId=0 composition type=INVALID (0)
buffer: slot=-1 buffer=0x0
sideband stream=0x0
color=[0.000000 0.000000 0.000000]
isOpaque=true hasProtectedContent=false isColorspaceAgnostic=false dataspace=UNKNOWN (0) hdr metadata types=0 colorTransform=[[1.000,0.000,0.000,0.000][0.000,1.000,0.000,0.000][0.000,0.000,1.000,0.000][0.000,0.000,0.000,1.000]]
* Layer 0xe59de000 (NavigationBar0#0)
isSecure=false geomUsesSourceCrop=false geomBufferUsesDisplayInverseTransform=false geomLayerTransform 0x00000000 (ROT_0 ) 0x01 (TRANSLATE )
1.0000 0.0000 0.0000
0.0000 1.0000 800.0000
0.0000 0.0000 1.0000
geomBufferSize=[0 0 -1 -1] geomContentCrop=[0 0 -1 -1] geomCrop=[0 0 -1 -1] geomBufferTransform=0
Region transparentRegionHint (this=0xe7e983ec, count=1)
[ 0, 0, 0, 0]
geomLayerBounds=[0.000000 -800.000000 480.000000 0.000000] shadowRadius=0.000000
blend=PREMULTIPLIED (2) alpha=1.000000 backgroundBlurRadius=0
type=0 appId=0 composition type=INVALID (0)
buffer: slot=-1 buffer=0x0
sideband stream=0x0
color=[0.000000 0.000000 0.000000]
isOpaque=false hasProtectedContent=false isColorspaceAgnostic=false dataspace=UNKNOWN (0) hdr metadata types=0 colorTransform=[[1.000,0.000,0.000,0.000][0.000,1.000,0.000,0.000][0.000,0.000,1.000,0.000][0.000,0.000,0.000,1.000]]
Displays (1 entries)
+ DisplayDevice{0, internal, primary, "quot;Internal display"quot;}
powerMode=On (2), activeConfig=0, Composition Display State: ["quot;Internal display"quot;]
isVirtual=false hwcId=0
isEnabled=true isSecure=true usesClientComposition=true usesDeviceComposition=false flipClientTarget=false reusedClientComposition=false layerStack=0 layerStackInternal=true
transform 0x00000000 (ROT_0 ) 0x00 (IDENTITY )
1.0000 0.0000 -0.0000
0.0000 1.0000 -0.0000
0.0000 0.0000 1.0000
bounds=[0 0 480 800] frame=[0 0 480 800] viewport=[0 0 480 800] sourceClip=[0 0 480 800] destinationClip=[0 0 480 800] needsFiltering=false
colorMode=NATIVE (0) renderIntent=COLORIMETRIC (0) dataspace=UNKNOWN (0) colorTransformMatrix=[[1.000,0.000,0.000,0.000][0.000,1.000,0.000,0.000][0.000,0.000,1.000,0.000][0.000,0.000,0.000,1.000]]target dataspace=UNKNOWN (0)
Composition Display Color State:
HWC Support: wideColorGamut=false hdr10plus=false hdr10=false hlg=false dv=false metadata=0
Composition RenderSurface State:
size=[480 800] ANativeWindow=0xe6bd5c08 (format 1) flips=4855
FramebufferSurface: dataspace: Default(0)
mAbandoned=0
- BufferQueue mMaxAcquiredBufferCount=2 mMaxDequeuedBufferCount=1
mDequeueBufferCannotBlock=0 mAsyncMode=0
mQueueBufferCanDrop=0 mLegacyBufferDrop=1
default-size=[480x800] default-format=1 transform-hint=00 frame-counter=305
mTransformHintInUse=00 mAutoPrerotation=0
FIFO(0):
(mConsumerName=FramebufferSurface, mConnectedApi=1, mConsumerUsageBits=6656, mId=a600000000, producer=[208:???], consumer=[166:/system/bin/surfaceflinger])
Slots:
>gt;[01:0xe8140b40] state=ACQUIRED 0xe7c3c300 frame=305 [ 480x 800: 0, 1]
[00:0xe8140a00] state=FREE 0xe7c3c200 frame=303 [ 480x 800: 0, 1]
[02:0xe8140c80] state=FREE 0xe7c3c400 frame=304 [ 480x 800: 0, 1]
2 Layers
- Output Layer 0xe5f12800(com.wetao.elauncher/com.wetao.elauncher.ui.main.MainActivity#0)
Region visibleRegion (this=0xe5f12810, count=1)
[ 0, 0, 480, 800]
Region visibleNonTransparentRegion (this=0xe5f12864, count=1)
[ 0, 0, 480, 800]
Region coveredRegion (this=0xe5f128b8, count=1)
[ 0, 0, 480, 52]
Region output visibleRegion (this=0xe5f1290c, count=1)
[ 0, 0, 480, 800]
Region shadowRegion (this=0xe5f12960, count=1)
[ 0, 0, 0, 0]
forceClientComposition=false clearClientTarget=false displayFrame=[0 0 480 800] sourceCrop=[0.000000 0.000000 480.000000 800.000000] bufferTransform=0 (0) dataspace=UNKNOWN (0) z-index=0
hwc: layer=0x0824 composition=CLIENT (1)
- Output Layer 0xe5cffc00(StatusBar#0)
Region visibleRegion (this=0xe5cffc10, count=1)
[ 0, 0, 480, 52]
Region visibleNonTransparentRegion (this=0xe5cffc64, count=1)
[ 0, 0, 480, 52]
Region coveredRegion (this=0xe5cffcb8, count=1)
[ 0, 0, 0, 0]
Region output visibleRegion (this=0xe5cffd0c, count=1)
[ 0, 0, 480, 52]
Region shadowRegion (this=0xe5cffd60, count=1)
[ 0, 0, 0, 0]
forceClientComposition=false clearClientTarget=false displayFrame=[0 0 480 52] sourceCrop=[0.000000 0.000000 480.000000 52.000000] bufferTransform=0 (0) dataspace=UNKNOWN (0) z-index=1
hwc: layer=0x0822 composition=CLIENT (1)
SurfaceFlinger global state:
EGL implementation : 1.4 Bifrost-"quot;g2p0-01eac0"quot;
EGL_ANDROID_image_native_buffer EGL_ANDROID_recordable EGL_ANDROID_native_fence_sync EGL_ANDROID_framebuffer_target EGL_ANDROID_image_crop EGL_ANDROID_blob_cache EGL_KHR_partial_update EGL_KHR_mutable_render_buffer EGL_ARM_image_format EGL_KHR_config_attribs EGL_KHR_image EGL_KHR_image_base EGL_KHR_fence_sync EGL_KHR_wait_sync EGL_KHR_gl_colorspace EGL_KHR_get_all_proc_addresses EGL_IMG_context_priority EGL_KHR_no_config_context EGL_EXT_image_dma_buf_import EGL_EXT_image_dma_buf_import_modifiers EGL_EXT_yuv_surface EGL_EXT_pixel_format_float EGL_ARM_pixmap_multisample_discard EGL_ARM_implicit_external_sync EGL_KHR_gl_texture_2D_image EGL_KHR_gl_renderbuffer_image EGL_KHR_create_context EGL_KHR_surfaceless_context EGL_KHR_gl_texture_cubemap_image EGL_EXT_image_gl_colorspace EGL_EXT_create_context_robustness
GLES: ARM, Mali-G31, OpenGL ES 3.2 v1.g2p0-01eac0.a818193b06a486891a03b96b9dd972e3
GL_EXT_debug_marker GL_ARM_rgba8 GL_ARM_mali_shader_binary GL_OES_depth24 GL_OES_depth_texture GL_OES_depth_texture_cube_map GL_OES_packed_depth_stencil GL_OES_rgb8_rgba8 GL_EXT_read_format_bgra GL_OES_compressed_paletted_texture GL_OES_compressed_ETC1_RGB8_texture GL_OES_standard_derivatives GL_OES_EGL_image GL_OES_EGL_image_external GL_OES_EGL_image_external_essl3 GL_OES_EGL_sync GL_OES_texture_npot GL_OES_vertex_half_float GL_OES_required_internalformat GL_OES_vertex_array_object GL_OES_mapbuffer GL_EXT_texture_format_BGRA8888 GL_EXT_texture_rg GL_EXT_texture_type_2_10_10_10_REV GL_OES_fbo_render_mipmap GL_OES_element_index_uint GL_EXT_shadow_samplers GL_OES_texture_compression_astc GL_KHR_texture_compression_astc_ldr GL_KHR_texture_compression_astc_hdr GL_KHR_texture_compression_astc_sliced_3d GL_EXT_texture_compression_astc_decode_mode GL_EXT_texture_compression_astc_decode_mode_rgb9e5 GL_KHR_debug GL_EXT_occlusion_query_boolean GL_EXT_disjoint_timer_query GL_EXT_blend_minmax GL_EXT_discard_framebuffer GL_OES_get_program_binary GL_OES_texture_3D GL_EXT_texture_storage GL_EXT_multisampled_render_to_texture GL_EXT_multisampled_render_to_texture2 GL_OES_surfaceless_context GL_OES_texture_stencil8 GL_EXT_shader_pixel_local_storage GL_ARM_shader_framebuffer_fetch GL_ARM_shader_framebuffer_fetch_depth_stencil GL_ARM_mali_program_binary GL_EXT_sRGB GL_EXT_sRGB_write_control GL_EXT_texture_sRGB_decode GL_EXT_texture_sRGB_R8 GL_EXT_texture_sRGB_RG8 GL_KHR_blend_equation_advanced GL_KHR_blend_equation_advanced_coherent GL_OES_texture_storage_multisample_2d_array GL_OES_shader_image_atomic GL_EXT_robustness GL_EXT_draw_buffers_indexed GL_OES_draw_buffers_indexed GL_EXT_texture_border_clamp GL_OES_texture_border_clamp GL_EXT_texture_cube_map_array GL_OES_texture_cube_map_array GL_OES_sample_variables GL_OES_sample_shading GL_OES_shader_multisample_interpolation GL_EXT_shader_io_blocks GL_OES_shader_io_blocks GL_EXT_tessellation_shader GL_OES_tessellation_shader GL_EXT_primitive_bounding_box GL_OES_primitive_bounding_box GL_EXT_geometry_shader GL_OES_geometry_shader GL_ANDROID_extension_pack_es31a GL_EXT_gpu_shader5 GL_OES_gpu_shader5 GL_EXT_texture_buffer GL_OES_texture_buffer GL_EXT_copy_image GL_OES_copy_image GL_EXT_shader_non_constant_global_initializers GL_EXT_color_buffer_half_float GL_EXT_color_buffer_float GL_EXT_YUV_target GL_OVR_multiview GL_OVR_multiview2 GL_OVR_multiview_multisampled_render_to_texture GL_KHR_robustness GL_KHR_robust_buffer_access_behavior GL_EXT_draw_elements_base_vertex GL_OES_draw_elements_base_vertex GL_EXT_protected_textures GL_EXT_buffer_storage GL_EXT_external_buffer GL_EXT_EGL_image_array GL_ARM_texture_unnormalized_coordinates
RenderEngine supports protected context: 0
RenderEngine is in protected context: 0
RenderEngine program cache size for unprotected context: 64
RenderEngine program cache size for protected context: 0
RenderEngine last dataspace conversion: (Default) to (BT709 sRGB Full range)
RenderEngine image cache size: 9
Dumping buffer ids...
0xa600000f94
0xa600000f95
0xa600000f96
0xa6000000b6
0xa6000000b5
0xa600000113
0xa600000f93
0xa6000000b4
0xa6000000b7
RenderEngine framebuffer image cache size: 3
Dumping buffer ids...
0xa600000003
0xa600000002
0xa600000001
Region undefinedRegion (this=0xe8107738, count=1)
[ 0, 0, 0, 0]
orientation=ROTATION_0, isPoweredOn=1
transaction-flags : 00000000
gpu_to_cpu_unsupported : 0
refresh-rate : 78.000005 fps
x-dpi : 79.685997
y-dpi : 239.057999
transaction time: 0.000000 us
Tracing state: disabled
number of entries: 0 (0.00MB / 0.00MB)
Display 0 HWC layers:
-----------------------------------------------------------------------------------------------------------------------------------------------
Layer name
Z | Window Type | Comp Type | Transform | Disp Frame (LTRB) | Source Crop (LTRB) | Frame Rate (Explicit) [Focused]
-----------------------------------------------------------------------------------------------------------------------------------------------
com.wetao.elauncher/com.wetao.elauncher.ui.main.MainActivity#0
rel 0 | 1 | CLIENT | 0 | 0 0 480 800 | 0.0 0.0 480.0 800.0 | [*]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
StatusBar#0
rel 0 | 2000 | CLIENT | 0 | 0 0 480 52 | 0.0 0.0 480.0 52.0 | [ ]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
h/w composer state:
h/w composer enabled
-- HWC2On1Adapter --
Adapting to a HWC 1.4 device
Capabilities:
PresentFenceIsNotReliable
SidebandStream
Displays:
Display 1: Physical HWC1 ID: 0 Power mode: On Vsync: Disable
Color modes [active]: [0]
1 Config (* active)
* 480 x 800 @ 78.0 Hz, DPI: 79.7 x 239.1
HWC1 ID/Color transform: [1/0]
2 Layers
Client Layer HWC2/1: 36/0 Z: 0 Buffer: 0xf09bee00
Display frame [LTRB]: [0, 0, 480, 800]
Source crop: [0, 0, 480, 800]
Transform: None Blend mode: None DataSpace: 0
Visible Region Surface Damage
[0, 0, 480, 800] None
Client Layer HWC2/1: 34/1 Z: 1 Buffer: 0xf09beb00
Display frame [LTRB]: [0, 0, 480, 52]
Source crop: [0, 0, 480, 52]
Transform: None Blend mode: Premultiplied DataSpace: 0
Visible Region Surface Damage
[0, 0, 480, 52] None
Client target: 0xf09be700
Last requested HWC1 state
Geometry changed: N
3 Layers
Layer 0 Composition: Framebuffer Buffer: 0xf09bee00/-1
Display frame: [0, 0, 480, 800]
Source crop: [0, 0, 480, 800]
Transform: None Blend mode: None
Layer 1 Composition: Framebuffer Buffer: 0xf09beb00/-1
Display frame: [0, 0, 480, 52]
Source crop: [0, 0, 480, 52]
Transform: None Blend mode: Premultiplied
Layer 2 Composition: FramebufferTarget Buffer: 0xf09be700/-1
Display frame: [0, 0, 480, 800]
Source crop: [0, 0, 480, 800]
Transform: None Blend mode: Premultiplied
HWC1 dump:
DrmCompositor stats:
--DrmDisplayCompositor[0]: num_frames=33 num_ms=1106 fps=29.8373
----DrmDisplayComposition crtc=59 type=FRAME timeline[current/squash/pre-comp/done]=0/0/0/1
Layers: count=1
DrmHwcLayer[0] buffer[w/h/format]=480/800/DRM_FORMAT_ABGR8888 transform=gt; blending[a=255]=PREMULT source_crop[x/y/w/h]=0/0/480/800 handle parameter[w/h/s]=480/800/480 display_frame[x/y/w/h]=0/0/480/800
Planes: count=6
DrmCompositionPlane[0] plane=58 type=LAYER
DrmCompositionPlane[1] plane=57 type=DISABLE
DrmCompositionPlane[2] plane=61 type=DISABLE
DrmCompositionPlane[3] plane=62 type=DISABLE
DrmCompositionPlane[4] plane=63 type=DISABLE
DrmCompositionPlane[5] plane=60 type=DISABLE
Squash Regions: count=0
Pre-Comp Regions: count=0
----SquashState generation=0 history=0
Regions: count=0
--DrmDisplayCompositor[1]: num_frames=0 num_ms=1106 fps=0
----SquashState generation=0 history=0
Regions: count=0
GraphicBufferAllocator buffers:
0xe5baa600: unknown | 480 ( 0) x 800 | 1 | 1 | 0x40000000000b00 | com.wetao.elauncher/com.wetao.elauncher.ui.main.MainActivity#0
0xe5baa900: unknown | 1280 ( 0) x 1280 | 1 | 2 | 0x40000000000b00 | com.android.systemui.ImageWallpaper#0
0xe613b000: unknown | 480 ( 0) x 800 | 1 | 1 | 0x40000000000b00 | com.wetao.elauncher/com.wetao.elauncher.ui.main.MainActivity#0
0xe7b52700: 1500.00 KiB | 480 ( 480) x 800 | 1 | 1 | 0x333 | screenshot
0xe7b52800: 1500.00 KiB | 480 ( 480) x 800 | 1 | 1 | 0x333 | screenshot
0xe7b52a00: unknown | 480 ( 0) x 52 | 1 | 1 | 0x40000000000b00 | StatusBar#0
0xe7b52b00: unknown | 480 ( 0) x 52 | 1 | 1 | 0x40000000000b00 | StatusBar#0
0xe7b52c00: unknown | 480 ( 0) x 52 | 1 | 1 | 0x40000000000b00 | StatusBar#0
0xe7b52d00: unknown | 480 ( 0) x 52 | 1 | 1 | 0x40000000000b00 | StatusBar#0
0xe7b52e00: unknown | 480 ( 0) x 800 | 1 | 1 | 0x40000000000b00 | com.wetao.elauncher/com.wetao.elauncher.ui.main.MainActivity#0
0xe7b52f00: unknown | 480 ( 0) x 800 | 1 | 1 | 0x40000000000b00 | com.wetao.elauncher/com.wetao.elauncher.ui.main.MainActivity#0
0xe7c3c200: unknown | 480 ( 0) x 800 | 1 | 1 | 0x1a00 | FramebufferSurface
0xe7c3c300: unknown | 480 ( 0) x 800 | 1 | 1 | 0x1a00 | FramebufferSurface
0xe7c3c400: unknown | 480 ( 0) x 800 | 1 | 1 | 0x1a00 | FramebufferSurface
0xe7c3ca00: unknown | 480 ( 0) x 800 | 1 | 1 | 0x40000000000b00 | com.wetao.elauncher/com.wetao.elauncher.ui.main.MainActivity#0
0xe81e3900: unknown | 1 ( 0) x 1 | 1 | 1 | 0x300 | placeholder
Total allocated by GraphicBufferAllocator (estimate): 3000.00 KB
Imported gralloc buffers:
+ name:screenshot, id:850403525403, size:1.5e+03KiB, w/h:480x800, usage: 0x333, req fmt:1, fourcc/mod:875708993/0, compressed: false
planes: R/G/B/A: w/h:480x800, stride:1920 bytes, size:1536000
+ name:screenshot, id:850403525402, size:1.5e+03KiB, w/h:480x800, usage: 0x333, req fmt:1, fourcc/mod:875708993/0, compressed: false
planes: R/G/B/A: w/h:480x800, stride:1920 bytes, size:1536000
+ name:com.wetao.elauncher/com.wetao.elauncher.ui.main.MainActivity#0, id:850403525389, size:1.5e+03KiB, w/h:480x800, usage: 0x40000000000b00, req fmt:1, fourcc/mod:875708993/0, compressed: false
planes: R/G/B/A: w/h:480x800, stride:1920 bytes, size:1536000
+ name:com.wetao.elauncher/com.wetao.elauncher.ui.main.MainActivity#0, id:850403525387, size:1.5e+03KiB, w/h:480x800, usage: 0x40000000000b00, req fmt:1, fourcc/mod:875708993/0, compressed: false
planes: R/G/B/A: w/h:480x800, stride:1920 bytes, size:1536000
+ name:com.wetao.elauncher/com.wetao.elauncher.ui.main.MainActivity#0, id:850403525340, size:1.5e+03KiB, w/h:480x800, usage: 0x40000000000b00, req fmt:1, fourcc/mod:875708993/0, compressed: false
planes: R/G/B/A: w/h:480x800, stride:1920 bytes, size:1536000
+ name:com.android.systemui.ImageWallpaper#0, id:850403524666, size:6.4e+03KiB, w/h:1280x1280, usage: 0x40000000000b00, req fmt:2, fourcc/mod:875709016/0, compressed: false
planes: R/G/B: w/h:1280x1280, stride:5120 bytes, size:6553600
+ name:StatusBar#0, id:850403524657, size:98KiB, w/h:480x52, usage: 0x40000000000b00, req fmt:1, fourcc/mod:875708993/0, compressed: false
planes: R/G/B/A: w/h:480x52, stride:1920 bytes, size:99840
+ name:StatusBar#0, id:850403524659, size:98KiB, w/h:480x52, usage: 0x40000000000b00, req fmt:1, fourcc/mod:875708993/0, compressed: false
planes: R/G/B/A: w/h:480x52, stride:1920 bytes, size:99840
+ name:StatusBar#0, id:850403524656, size:98KiB, w/h:480x52, usage: 0x40000000000b00, req fmt:1, fourcc/mod:875708993/0, compressed: false
planes: R/G/B/A: w/h:480x52, stride:1920 bytes, size:99840
+ name:com.wetao.elauncher/com.wetao.elauncher.ui.main.MainActivity#0, id:850403525390, size:1.5e+03KiB, w/h:480x800, usage: 0x40000000000b00, req fmt:1, fourcc/mod:875708993/0, compressed: false
planes: R/G/B/A: w/h:480x800, stride:1920 bytes, size:1536000
+ name:StatusBar#0, id:850403524658, size:98KiB, w/h:480x52, usage: 0x40000000000b00, req fmt:1, fourcc/mod:875708993/0, compressed: false
planes: R/G/B/A: w/h:480x52, stride:1920 bytes, size:99840
+ name:placeholder, id:850403524608, size:0.062KiB, w/h:1x1, usage: 0x300, req fmt:1, fourcc/mod:875708993/0, compressed: false
planes: R/G/B/A: w/h:1x1, stride:64 bytes, size:64
+ name:com.wetao.elauncher/com.wetao.elauncher.ui.main.MainActivity#0, id:850403525388, size:1.5e+03KiB, w/h:480x800, usage: 0x40000000000b00, req fmt:1, fourcc/mod:875708993/0, compressed: false
planes: R/G/B/A: w/h:480x800, stride:1920 bytes, size:1536000
+ name:FramebufferSurface, id:850403524610, size:1.5e+03KiB, w/h:480x800, usage: 0x1a00, req fmt:1, fourcc/mod:875708993/0, compressed: false
planes: R/G/B/A: w/h:480x800, stride:1920 bytes, size:1536000
+ name:FramebufferSurface, id:850403524609, size:1.5e+03KiB, w/h:480x800, usage: 0x1a00, req fmt:1, fourcc/mod:875708993/0, compressed: false
planes: R/G/B/A: w/h:480x800, stride:1920 bytes, size:1536000
+ name:FramebufferSurface, id:850403524611, size:1.5e+03KiB, w/h:480x800, usage: 0x1a00, req fmt:1, fourcc/mod:875708993/0, compressed: false
planes: R/G/B/A: w/h:480x800, stride:1920 bytes, size:1536000
Total imported by gralloc: 2.2e+04KiB
TimeStats miniDump:
Number of layers currently being tracked is 0
Number of layers in the stats pool is 0
+ ContainerLayer (Root#0)
Region TransparentRegion (this=0 count=0)
Region VisibleRegion (this=0 count=0)
Region SurfaceDamageRegion (this=0 count=0)
layerStack= 0, z= 0, pos=(0,0), size=( 0, 0), crop=[ 0, 0, -1, -1], cornerRadius=0.000000, isProtected=0, isOpaque=0, invalidate=1, dataspace=Default, defaultPixelFormat=Unknown/None, backgroundBlurRadius=0, color=(0.000,0.000,0.000,1.000), flags=0x00000002, tr=[0.00, 0.00][0.00, 0.00]
parent=none
zOrderRelativeOf=none
activeBuffer=[ 0x 0: 0,Unknown/None], tr=[0.00, 0.00][0.00, 0.00] queued-frames=0, mRefreshPending=0, metadata={}, cornerRadiusCrop=[0.00, 0.00, 0.00, 0.00], shadowRadius=0.000,
+ ContainerLayer (mWindowContainers#0)
Region TransparentRegion (this=0 count=0)
Region VisibleRegion (this=0 count=0)
Region SurfaceDamageRegion (this=0 count=0)
layerStack= 0, z= 0, pos=(0,0), size=( 0, 0), crop=[ 0, 0, -1, -1], cornerRadius=0.000000, isProtected=0, isOpaque=0, invalidate=1, dataspace=Default, defaultPixelFormat=Unknown/None, backgroundBlurRadius=0, color=(0.000,0.000,0.000,1.000), flags=0x00000000, tr=[0.00, 0.00][0.00, 0.00]
parent=Root#0
zOrderRelativeOf=none
activeBuffer=[ 0x 0: 0,Unknown/None], tr=[0.00, 0.00][0.00, 0.00] queued-frames=0, mRefreshPending=0, metadata={}, cornerRadiusCrop=[0.00, 0.00, 0.00, 0.00], shadowRadius=0.000,
+ ContainerLayer (DisplayArea.Root#0)
Region TransparentRegion (this=0 count=0)
Region VisibleRegion (this=0 count=0)
Region SurfaceDamageRegion (this=0 count=0)
layerStack= 0, z= 0, pos=(0,0), size=( 0, 0), crop=[ 0, 0, -1, -1], cornerRadius=0.000000, isProtected=0, isOpaque=0, invalidate=1, dataspace=Default, defaultPixelFormat=Unknown/None, backgroundBlurRadius=0, color=(0.000,0.000,0.000,1.000), flags=0x00000000, tr=[0.00, 0.00][0.00, 0.00]
parent=mWindowContainers#0
zOrderRelativeOf=none
activeBuffer=[ 0x 0: 0,Unknown/None], tr=[0.00, 0.00][0.00, 0.00] queued-frames=0, mRefreshPending=0, metadata={}, cornerRadiusCrop=[0.00, 0.00, 0.00, 0.00], shadowRadius=0.000,
+ ContainerLayer (Leaf:0:1#0)
Region TransparentRegion (this=0 count=0)
Region VisibleRegion (this=0 count=0)
Region SurfaceDamageRegion (this=0 count=0)
layerStack= 0, z= 0, pos=(0,0), size=( 0, 0), crop=[ 0, 0, -1, -1], cornerRadius=0.000000, isProtected=0, isOpaque=0, invalidate=1, dataspace=Default, defaultPixelFormat=Unknown/None, backgroundBlurRadius=0, color=(0.000,0.000,0.000,1.000), flags=0x00000000, tr=[0.00, 0.00][0.00, 0.00]
parent=DisplayArea.Root#0
zOrderRelativeOf=none
activeBuffer=[ 0x 0: 0,Unknown/None], tr=[0.00, 0.00][0.00, 0.00] queued-frames=0, mRefreshPending=0, metadata={}, cornerRadiusCrop=[0.00, 0.00, 0.00, 0.00], shadowRadius=0.000,
+ ContainerLayer (WallpaperWindowToken{1c84b2f token=android.os.Binder@478750e}#0)
Region TransparentRegion (this=0 count=0)
Region VisibleRegion (this=0 count=0)
Region SurfaceDamageRegion (this=0 count=0)
layerStack= 0, z= 0, pos=(0,0), size=( 0, 0), crop=[ 0, 0, -1, -1], cornerRadius=0.000000, isProtected=0, isOpaque=0, invalidate=1, dataspace=Default, defaultPixelFormat=Unknown/None, backgroundBlurRadius=0, color=(0.000,0.000,0.000,1.000), flags=0x00000000, tr=[0.00, 0.00][0.00, 0.00]
parent=Leaf:0:1#0
zOrderRelativeOf=none
activeBuffer=[ 0x 0: 0,Unknown/None], tr=[0.00, 0.00][0.00, 0.00] queued-frames=0, mRefreshPending=0, metadata={}, cornerRadiusCrop=[0.00, 0.00, 0.00, 0.00], shadowRadius=0.000,
+ ContainerLayer (b34735b com.android.systemui.ImageWallpaper#0)
Region TransparentRegion (this=0 count=0)
Region VisibleRegion (this=0 count=0)
Region SurfaceDamageRegion (this=0 count=0)
layerStack= 0, z= 0, pos=(0,0), size=( 0, 0), crop=[ 0, 0, -1, -1], cornerRadius=0.000000, isProtected=0, isOpaque=0, invalidate=1, dataspace=Default, defaultPixelFormat=Unknown/None, backgroundBlurRadius=0, color=(0.000,0.000,0.000,1.000), flags=0x00000000, tr=[0.00, 0.00][0.00, 0.00]
parent=WallpaperWindowToken{1c84b2f token=android.os.Binder@478750e}#0
zOrderRelativeOf=none
activeBuffer=[ 0x 0: 0,Unknown/None], tr=[0.00, 0.00][0.00, 0.00] queued-frames=0, mRefreshPending=0, metadata={}, cornerRadiusCrop=[0.00, 0.00, 0.00, 0.00], shadowRadius=0.000,
+ BufferQueueLayer (com.android.systemui.ImageWallpaper#0)
Region TransparentRegion (this=0 count=0)
Region VisibleRegion (this=0 count=0)
Region SurfaceDamageRegion (this=0 count=0)
layerStack= 0, z= 0, pos=(-24,-40), size=(1280,1280), crop=[ 0, 0, -1, -1], cornerRadius=0.000000, isProtected=0, isOpaque=1, invalidate=0, dataspace=Default, defaultPixelFormat=RGBx_8888, backgroundBlurRadius=0, color=(0.000,0.000,0.000,1.000), flags=0x00000003, tr=[0.69, 0.00][0.00, 0.69]
parent=b34735b com.android.systemui.ImageWallpaper#0
zOrderRelativeOf=none
activeBuffer=[1280x1280: 0,RGBx_8888], tr=[0.00, 0.00][0.00, 0.00] queued-frames=0, mRefreshPending=0, metadata={windowType:2013, ownerUID:10099}, cornerRadiusCrop=[0.00, 0.00, 0.00, 0.00], shadowRadius=0.000,
+ ContainerLayer (Leaf:2:2#0)
Region TransparentRegion (this=0 count=0)
Region VisibleRegion (this=0 count=0)
Region SurfaceDamageRegion (this=0 count=0)
layerStack= 0, z= 1, pos=(0,0), size=( 0, 0), crop=[ 0, 0, -1, -1], cornerRadius=0.000000, isProtected=0, isOpaque=0, invalidate=1, dataspace=Default, defaultPixelFormat=Unknown/None, backgroundBlurRadius=0, color=(0.000,0.000,0.000,1.000), flags=0x00000000, tr=[0.00, 0.00][0.00, 0.00]
parent=DisplayArea.Root#0
zOrderRelativeOf=none
activeBuffer=[ 0x 0: 0,Unknown/None], tr=[0.00, 0.00][0.00, 0.00] queued-frames=0, mRefreshPending=0, metadata={}, cornerRadiusCrop=[0.00, 0.00, 0.00, 0.00], shadowRadius=0.000,
+ ContainerLayer (DefaultTaskDisplayArea#0)
Region TransparentRegion (this=0 count=0)
Region VisibleRegion (this=0 count=0)
Region SurfaceDamageRegion (this=0 count=0)
layerStack= 0, z= 2, pos=(0,0), size=( 0, 0), crop=[ 0, 0, -1, -1], cornerRadius=0.000000, isProtected=0, isOpaque=0, invalidate=1, dataspace=Default, defaultPixelFormat=Unknown/None, backgroundBlurRadius=0, color=(0.000,0.000,0.000,1.000), flags=0x00000000, tr=[0.00, 0.00][0.00, 0.00]
parent=DisplayArea.Root#0
zOrderRelativeOf=none
activeBuffer=[ 0x 0: 0,Unknown/None], tr=[0.00, 0.00][0.00, 0.00] queued-frames=0, mRefreshPending=0, metadata={}, cornerRadiusCrop=[0.00, 0.00, 0.00, 0.00], shadowRadius=0.000,
+ EffectLayer (Task=1#0)
Region TransparentRegion (this=0 count=0)
Region VisibleRegion (this=0 count=0)
Region SurfaceDamageRegion (this=0 count=0)
layerStack= 0, z= 0, pos=(0,0), size=( 0, 0), crop=[ 0, 0, 480, 800], cornerRadius=0.000000, isProtected=0, isOpaque=1, invalidate=0, dataspace=Default, defaultPixelFormat=Unknown/None, backgroundBlurRadius=0, color=(-1.000,-1.000,-1.000,1.000), flags=0x00000000, tr=[0.00, 0.00][0.00, 0.00]
parent=DefaultTaskDisplayArea#0
zOrderRelativeOf=none
activeBuffer=[ 0x 0: 0,Unknown/None], tr=[0.00, 0.00][0.00, 0.00] queued-frames=0, mRefreshPending=0, metadata={taskId:1}, cornerRadiusCrop=[0.00, 0.00, 0.00, 0.00], shadowRadius=0.000,
+ EffectLayer (Task=39#0)
Region TransparentRegion (this=0 count=0)
Region VisibleRegion (this=0 count=0)
Region SurfaceDamageRegion (this=0 count=0)
layerStack= 0, z= 0, pos=(0,0), size=( 0, 0), crop=[ 0, 0, -1, -1], cornerRadius=0.000000, isProtected=0, isOpaque=1, invalidate=0, dataspace=Default, defaultPixelFormat=Unknown/None, backgroundBlurRadius=0, color=(-1.000,-1.000,-1.000,1.000), flags=0x00000000, tr=[0.00, 0.00][0.00, 0.00]
parent=Task=1#0
zOrderRelativeOf=none
activeBuffer=[ 0x 0: 0,Unknown/None], tr=[0.00, 0.00][0.00, 0.00] queued-frames=0, mRefreshPending=0, metadata={taskId:39}, cornerRadiusCrop=[0.00, 0.00, 0.00, 0.00], shadowRadius=0.000,
+ ContainerLayer (ActivityRecord{2e726c1 u0 com.wetao.elauncher/.ui.main.MainActivity#0)
Region TransparentRegion (this=0 count=0)
Region VisibleRegion (this=0 count=0)
Region SurfaceDamageRegion (this=0 count=0)
layerStack= 0, z= 0, pos=(0,0), size=( 0, 0), crop=[ 0, 0, -1, -1], cornerRadius=0.000000, isProtected=0, isOpaque=0, invalidate=1, dataspace=Default, defaultPixelFormat=Unknown/None, backgroundBlurRadius=0, color=(0.000,0.000,0.000,1.000), flags=0x00000000, tr=[0.00, 0.00][0.00, 0.00]
parent=Task=39#0
zOrderRelativeOf=none
activeBuffer=[ 0x 0: 0,Unknown/None], tr=[0.00, 0.00][0.00, 0.00] queued-frames=0, mRefreshPending=0, metadata={}, cornerRadiusCrop=[0.00, 0.00, 0.00, 0.00], shadowRadius=0.000,
+ ContainerLayer (75e9b58 com.wetao.elauncher/com.wetao.elauncher.ui.main.MainActivity#0)
Region TransparentRegion (this=0 count=0)
Region VisibleRegion (this=0 count=0)
Region SurfaceDamageRegion (this=0 count=0)
layerStack= 0, z= 0, pos=(0,0), size=( 0, 0), crop=[ 0, 0, -1, -1], cornerRadius=0.000000, isProtected=0, isOpaque=0, invalidate=1, dataspace=Default, defaultPixelFormat=Unknown/None, backgroundBlurRadius=0, color=(0.000,0.000,0.000,1.000), flags=0x00000000, tr=[0.00, 0.00][0.00, 0.00]
parent=ActivityRecord{2e726c1 u0 com.wetao.elauncher/.ui.main.MainActivity#0
zOrderRelativeOf=none
activeBuffer=[ 0x 0: 0,Unknown/None], tr=[0.00, 0.00][0.00, 0.00] queued-frames=0, mRefreshPending=0, metadata={}, cornerRadiusCrop=[0.00, 0.00, 0.00, 0.00], shadowRadius=0.000,
+ BufferQueueLayer (com.wetao.elauncher/com.wetao.elauncher.ui.main.MainActivity#0)
Region TransparentRegion (this=0 count=0)
Region VisibleRegion (this=0 count=1)
[ 0, 0, 480, 800]
Region SurfaceDamageRegion (this=0 count=0)
layerStack= 0, z= 0, pos=(0,0), size=( 480, 800), crop=[ 0, 0, 480, 800], cornerRadius=0.000000, isProtected=0, isOpaque=1, invalidate=0, dataspace=Default, defaultPixelFormat=RGBA_8888, backgroundBlurRadius=0, color=(0.000,0.000,0.000,1.000), flags=0x00000002, tr=[0.00, 0.00][0.00, 0.00]
parent=75e9b58 com.wetao.elauncher/com.wetao.elauncher.ui.main.MainActivity#0
zOrderRelativeOf=none
activeBuffer=[ 480x 800: 0,RGBA_8888], tr=[0.00, 0.00][0.00, 0.00] queued-frames=0, mRefreshPending=0, metadata={windowType:1, ownerUID:1000}, cornerRadiusCrop=[0.00, 0.00, 0.00, 0.00], shadowRadius=0.000,
+ ContainerLayer (ImeContainer#0)
Region TransparentRegion (this=0 count=0)
Region VisibleRegion (this=0 count=0)
Region SurfaceDamageRegion (this=0 count=0)
layerStack= 0, z= 1, pos=(0,0), size=( 0, 0), crop=[ 0, 0, -1, -1], cornerRadius=0.000000, isProtected=0, isOpaque=0, invalidate=1, dataspace=Default, defaultPixelFormat=Unknown/None, backgroundBlurRadius=0, color=(0.000,0.000,0.000,1.000), flags=0x00000000, tr=[0.00, 0.00][0.00, 0.00]
parent=ActivityRecord{2e726c1 u0 com.wetao.elauncher/.ui.main.MainActivity#0
zOrderRelativeOf=75e9b58 com.wetao.elauncher/com.wetao.elauncher.ui.main.MainActivity#0
activeBuffer=[ 0x 0: 0,Unknown/None], tr=[0.00, 0.00][0.00, 0.00] queued-frames=0, mRefreshPending=0, metadata={}, cornerRadiusCrop=[0.00, 0.00, 0.00, 0.00], shadowRadius=0.000,
+ ContainerLayer (WindowToken{31fa5ac android.os.Binder@654e75f}#0)
Region TransparentRegion (this=0 count=0)
Region VisibleRegion (this=0 count=0)
Region SurfaceDamageRegion (this=0 count=0)
layerStack= 0, z= 0, pos=(0,0), size=( 0, 0), crop=[ 0, 0, -1, -1], cornerRadius=0.000000, isProtected=0, isOpaque=0, invalidate=1, dataspace=Default, defaultPixelFormat=Unknown/None, backgroundBlurRadius=0, color=(0.000,0.000,0.000,1.000), flags=0x00000000, tr=[0.00, 0.00][0.00, 0.00]
parent=ImeContainer#0
zOrderRelativeOf=none
activeBuffer=[ 0x 0: 0,Unknown/None], tr=[0.00, 0.00][0.00, 0.00] queued-frames=0, mRefreshPending=0, metadata={}, cornerRadiusCrop=[0.00, 0.00, 0.00, 0.00], shadowRadius=0.000,
+ EffectLayer (Surface(name=db128f6 InputMethod)/@0xf78c5cd - animation-leash#1)
Region TransparentRegion (this=0 count=0)
Region VisibleRegion (this=0 count=0)
Region SurfaceDamageRegion (this=0 count=0)
layerStack= 0, z= 0, pos=(0,800), size=( 0, 0), crop=[ 0, 0, 0, 0], cornerRadius=0.000000, isProtected=0, isOpaque=1, invalidate=0, dataspace=Default, defaultPixelFormat=Unknown/None, backgroundBlurRadius=0, color=(-1.000,-1.000,-1.000,1.000), flags=0x00000001, tr=[0.00, 0.00][0.00, 0.00]
parent=WindowToken{31fa5ac android.os.Binder@654e75f}#0
zOrderRelativeOf=none
activeBuffer=[ 0x 0: 0,Unknown/None], tr=[0.00, 0.00][0.00, 0.00] queued-frames=0, mRefreshPending=0, metadata={}, cornerRadiusCrop=[0.00, 0.00, 0.00, 0.00], shadowRadius=0.000,
+ ContainerLayer (db128f6 InputMethod#0)
Region TransparentRegion (this=0 count=0)
Region VisibleRegion (this=0 count=0)
Region SurfaceDamageRegion (this=0 count=0)
layerStack= 0, z= 0, pos=(0,800), size=( 0, 0), crop=[ 0, 0, -1, -1], cornerRadius=0.000000, isProtected=0, isOpaque=0, invalidate=1, dataspace=Default, defaultPixelFormat=Unknown/None, backgroundBlurRadius=0, color=(0.000,0.000,0.000,1.000), flags=0x00000000, tr=[0.00, 0.00][0.00, 0.00]
parent=Surface(name=db128f6 InputMethod)/@0xf78c5cd - animation-leash#1
zOrderRelativeOf=none
activeBuffer=[ 0x 0: 0,Unknown/None], tr=[0.00, 0.00][0.00, 0.00] queued-frames=0, mRefreshPending=0, metadata={}, cornerRadiusCrop=[0.00, 0.00, 0.00, 0.00], shadowRadius=0.000,
+ ContainerLayer (homeAnimationLayer#0)
Region TransparentRegion (this=0 count=0)
Region VisibleRegion (this=0 count=0)
Region SurfaceDamageRegion (this=0 count=0)
layerStack= 0, z= 1, pos=(0,0), size=( 0, 0), crop=[ 0, 0, -1, -1], cornerRadius=0.000000, isProtected=0, isOpaque=0, invalidate=1, dataspace=Default, defaultPixelFormat=Unknown/None, backgroundBlurRadius=0, color=(0.000,0.000,0.000,1.000), flags=0x00000000, tr=[0.00, 0.00][0.00, 0.00]
parent=DefaultTaskDisplayArea#0
zOrderRelativeOf=none
activeBuffer=[ 0x 0: 0,Unknown/None], tr=[0.00, 0.00][0.00, 0.00] queued-frames=0, mRefreshPending=0, metadata={}, cornerRadiusCrop=[0.00, 0.00, 0.00, 0.00], shadowRadius=0.000,
+ ContainerLayer (splitScreenDividerAnchor#0)
Region TransparentRegion (this=0 count=0)
Region VisibleRegion (this=0 count=0)
Region SurfaceDamageRegion (this=0 count=0)
layerStack= 0, z= 2, pos=(0,0), size=( 0, 0), crop=[ 0, 0, -1, -1], cornerRadius=0.000000, isProtected=0, isOpaque=0, invalidate=1, dataspace=Default, defaultPixelFormat=Unknown/None, backgroundBlurRadius=0, color=(0.000,0.000,0.000,1.000), flags=0x00000000, tr=[0.00, 0.00][0.00, 0.00]
parent=DefaultTaskDisplayArea#0
zOrderRelativeOf=none
activeBuffer=[ 0x 0: 0,Unknown/None], tr=[0.00, 0.00][0.00, 0.00] queued-frames=0, mRefreshPending=0, metadata={}, cornerRadiusCrop=[0.00, 0.00, 0.00, 0.00], shadowRadius=0.000,
+ ContainerLayer (animationLayer#0)
Region TransparentRegion (this=0 count=0)
Region VisibleRegion (this=0 count=0)
Region SurfaceDamageRegion (this=0 count=0)
layerStack= 0, z= 3, pos=(0,0), size=( 0, 0), crop=[ 0, 0, -1, -1], cornerRadius=0.000000, isProtected=0, isOpaque=0, invalidate=1, dataspace=Default, defaultPixelFormat=Unknown/None, backgroundBlurRadius=0, color=(0.000,0.000,0.000,1.000), flags=0x00000000, tr=[0.00, 0.00][0.00, 0.00]
parent=DefaultTaskDisplayArea#0
zOrderRelativeOf=none
activeBuffer=[ 0x 0: 0,Unknown/None], tr=[0.00, 0.00][0.00, 0.00] queued-frames=0, mRefreshPending=0, metadata={}, cornerRadiusCrop=[0.00, 0.00, 0.00, 0.00], shadowRadius=0.000,
+ ContainerLayer (boostedAnimationLayer#0)
Region TransparentRegion (this=0 count=0)
Region VisibleRegion (this=0 count=0)
Region SurfaceDamageRegion (this=0 count=0)
layerStack= 0, z= 4, pos=(0,0), size=( 0, 0), crop=[ 0, 0, -1, -1], cornerRadius=0.000000, isProtected=0, isOpaque=0, invalidate=1, dataspace=Default, defaultPixelFormat=Unknown/None, backgroundBlurRadius=0, color=(0.000,0.000,0.000,1.000), flags=0x00000000, tr=[0.00, 0.00][0.00, 0.00]
parent=DefaultTaskDisplayArea#0
zOrderRelativeOf=none
activeBuffer=[ 0x 0: 0,Unknown/None], tr=[0.00, 0.00][0.00, 0.00] queued-frames=0, mRefreshPending=0, metadata={}, cornerRadiusCrop=[0.00, 0.00, 0.00, 0.00], shadowRadius=0.000,
+ ContainerLayer (Leaf:3:14#0)
Region TransparentRegion (this=0 count=0)
Region VisibleRegion (this=0 count=0)
Region SurfaceDamageRegion (this=0 count=0)
layerStack= 0, z= 3, pos=(0,0), size=( 0, 0), crop=[ 0, 0, -1, -1], cornerRadius=0.000000, isProtected=0, isOpaque=0, invalidate=1, dataspace=Default, defaultPixelFormat=Unknown/None, backgroundBlurRadius=0, color=(0.000,0.000,0.000,1.000), flags=0x00000000, tr=[0.00, 0.00][0.00, 0.00]
parent=DisplayArea.Root#0
zOrderRelativeOf=none
activeBuffer=[ 0x 0: 0,Unknown/None], tr=[0.00, 0.00][0.00, 0.00] queued-frames=0, mRefreshPending=0, metadata={}, cornerRadiusCrop=[0.00, 0.00, 0.00, 0.00], shadowRadius=0.000,
+ ContainerLayer (WindowToken{6897632 android.os.BinderProxy@d99e394}#0)
Region TransparentRegion (this=0 count=0)
Region VisibleRegion (this=0 count=0)
Region SurfaceDamageRegion (this=0 count=0)
layerStack= 0, z= 0, pos=(0,0), size=( 0, 0), crop=[ 0, 0, -1, -1], cornerRadius=0.000000, isProtected=0, isOpaque=0, invalidate=1, dataspace=Default, defaultPixelFormat=Unknown/None, backgroundBlurRadius=0, color=(0.000,0.000,0.000,1.000), flags=0x00000000, tr=[0.00, 0.00][0.00, 0.00]
parent=Leaf:3:14#0
zOrderRelativeOf=none
activeBuffer=[ 0x 0: 0,Unknown/None], tr=[0.00, 0.00][0.00, 0.00] queued-frames=0, mRefreshPending=0, metadata={}, cornerRadiusCrop=[0.00, 0.00, 0.00, 0.00], shadowRadius=0.000,
+ ContainerLayer (736bf83 AssistPreviewPanel#0)
Region TransparentRegion (this=0 count=0)
Region VisibleRegion (this=0 count=0)
Region SurfaceDamageRegion (this=0 count=0)
layerStack= 0, z= 0, pos=(0,800), size=( 0, 0), crop=[ 0, 0, -1, -1], cornerRadius=0.000000, isProtected=0, isOpaque=0, invalidate=1, dataspace=Default, defaultPixelFormat=Unknown/None, backgroundBlurRadius=0, color=(0.000,0.000,0.000,1.000), flags=0x00000000, tr=[0.00, 0.00][0.00, 0.00]
parent=WindowToken{6897632 android.os.BinderProxy@d99e394}#0
zOrderRelativeOf=none
activeBuffer=[ 0x 0: 0,Unknown/None], tr=[0.00, 0.00][0.00, 0.00] queued-frames=0, mRefreshPending=0, metadata={}, cornerRadiusCrop=[0.00, 0.00, 0.00, 0.00], shadowRadius=0.000,
+ ContainerLayer (Leaf:17:34#0)
Region TransparentRegion (this=0 count=0)
Region VisibleRegion (this=0 count=0)
Region SurfaceDamageRegion (this=0 count=0)
layerStack= 0, z= 5, pos=(0,0), size=( 0, 0), crop=[ 0, 0, -1, -1], cornerRadius=0.000000, isProtected=0, isOpaque=0, invalidate=1, dataspace=Default, defaultPixelFormat=Unknown/None, backgroundBlurRadius=0, color=(0.000,0.000,0.000,1.000), flags=0x00000000, tr=[0.00, 0.00][0.00, 0.00]
parent=DisplayArea.Root#0
zOrderRelativeOf=none
activeBuffer=[ 0x 0: 0,Unknown/None], tr=[0.00, 0.00][0.00, 0.00] queued-frames=0, mRefreshPending=0, metadata={}, cornerRadiusCrop=[0.00, 0.00, 0.00, 0.00], shadowRadius=0.000,
+ ContainerLayer (WindowToken{ecd84d5 android.os.BinderProxy@c932abf}#0)
Region TransparentRegion (this=0 count=0)
Region VisibleRegion (this=0 count=0)
Region SurfaceDamageRegion (this=0 count=0)
layerStack= 0, z= 0, pos=(0,0), size=( 0, 0), crop=[ 0, 0, -1, -1], cornerRadius=0.000000, isProtected=0, isOpaque=0, invalidate=1, dataspace=Default, defaultPixelFormat=Unknown/None, backgroundBlurRadius=0, color=(0.000,0.000,0.000,1.000), flags=0x00000000, tr=[0.00, 0.00][0.00, 0.00]
parent=Leaf:17:34#0
zOrderRelativeOf=none
activeBuffer=[ 0x 0: 0,Unknown/None], tr=[0.00, 0.00][0.00, 0.00] queued-frames=0, mRefreshPending=0, metadata={}, cornerRadiusCrop=[0.00, 0.00, 0.00, 0.00], shadowRadius=0.000,
+ EffectLayer (Surface(name=db8a4ea StatusBar)/@0xf5a24d1 - animation-leash#0)
Region TransparentRegion (this=0 count=0)
Region VisibleRegion (this=0 count=0)
Region SurfaceDamageRegion (this=0 count=0)
layerStack= 0, z= 0, pos=(0,0), size=( 0, 0), crop=[ 0, 0, 0, 0], cornerRadius=0.000000, isProtected=0, isOpaque=1, invalidate=0, dataspace=Default, defaultPixelFormat=Unknown/None, backgroundBlurRadius=0, color=(-1.000,-1.000,-1.000,1.000), flags=0x00000000, tr=[0.00, 0.00][0.00, 0.00]
parent=WindowToken{ecd84d5 android.os.BinderProxy@c932abf}#0
zOrderRelativeOf=none
activeBuffer=[ 0x 0: 0,Unknown/None], tr=[0.00, 0.00][0.00, 0.00] queued-frames=0, mRefreshPending=0, metadata={}, cornerRadiusCrop=[0.00, 0.00, 0.00, 0.00], shadowRadius=0.000,
+ ContainerLayer (db8a4ea StatusBar#0)
Region TransparentRegion (this=0 count=0)
Region VisibleRegion (this=0 count=0)
Region SurfaceDamageRegion (this=0 count=0)
layerStack= 0, z= 0, pos=(0,0), size=( 0, 0), crop=[ 0, 0, -1, -1], cornerRadius=0.000000, isProtected=0, isOpaque=0, invalidate=1, dataspace=Default, defaultPixelFormat=Unknown/None, backgroundBlurRadius=0, color=(0.000,0.000,0.000,1.000), flags=0x00000000, tr=[0.00, 0.00][0.00, 0.00]
parent=Surface(name=db8a4ea StatusBar)/@0xf5a24d1 - animation-leash#0
zOrderRelativeOf=none
activeBuffer=[ 0x 0: 0,Unknown/None], tr=[0.00, 0.00][0.00, 0.00] queued-frames=0, mRefreshPending=0, metadata={}, cornerRadiusCrop=[0.00, 0.00, 0.00, 0.00], shadowRadius=0.000,
+ BufferQueueLayer (StatusBar#0)
Region TransparentRegion (this=0 count=0)
Region VisibleRegion (this=0 count=1)
[ 0, 0, 480, 52]
Region SurfaceDamageRegion (this=0 count=0)
layerStack= 0, z= 0, pos=(0,0), size=( 480, 52), crop=[ 0, 0, 480, 52], cornerRadius=0.000000, isProtected=0, isOpaque=0, invalidate=0, dataspace=Default, defaultPixelFormat=RGBA_8888, backgroundBlurRadius=0, color=(0.000,0.000,0.000,1.000), flags=0x00000000, tr=[0.00, 0.00][0.00, 0.00]
parent=db8a4ea StatusBar#0
zOrderRelativeOf=none
activeBuffer=[ 480x 52: 0,RGBA_8888], tr=[0.00, 0.00][0.00, 0.00] queued-frames=0, mRefreshPending=0, metadata={windowType:2000, ownerUID:10099}, cornerRadiusCrop=[0.00, 0.00, 0.00, 0.00], shadowRadius=0.000,
+ ContainerLayer (WindowToken{3dda360 android.os.BinderProxy@fa7f592}#0)
Region TransparentRegion (this=0 count=0)
Region VisibleRegion (this=0 count=0)
Region SurfaceDamageRegion (this=0 count=0)
layerStack= 0, z= 1, pos=(0,0), size=( 0, 0), crop=[ 0, 0, -1, -1], cornerRadius=0.000000, isProtected=0, isOpaque=0, invalidate=1, dataspace=Default, defaultPixelFormat=Unknown/None, backgroundBlurRadius=0, color=(0.000,0.000,0.000,1.000), flags=0x00000000, tr=[0.00, 0.00][0.00, 0.00]
parent=Leaf:17:34#0
zOrderRelativeOf=none
activeBuffer=[ 0x 0: 0,Unknown/None], tr=[0.00, 0.00][0.00, 0.00] queued-frames=0, mRefreshPending=0, metadata={}, cornerRadiusCrop=[0.00, 0.00, 0.00, 0.00], shadowRadius=0.000,
+ ContainerLayer (9660019 NotificationShade#0)
Region TransparentRegion (this=0 count=0)
Region VisibleRegion (this=0 count=0)
Region SurfaceDamageRegion (this=0 count=0)
layerStack= 0, z= 0, pos=(0,0), size=( 0, 0), crop=[ 0, 0, -1, -1], cornerRadius=0.000000, isProtected=0, isOpaque=0, invalidate=1, dataspace=Default, defaultPixelFormat=Unknown/None, backgroundBlurRadius=0, color=(0.000,0.000,0.000,1.000), flags=0x00000000, tr=[0.00, 0.00][0.00, 0.00]
parent=WindowToken{3dda360 android.os.BinderProxy@fa7f592}#0
zOrderRelativeOf=none
activeBuffer=[ 0x 0: 0,Unknown/None], tr=[0.00, 0.00][0.00, 0.00] queued-frames=0, mRefreshPending=0, metadata={}, cornerRadiusCrop=[0.00, 0.00, 0.00, 0.00], shadowRadius=0.000,
+ ContainerLayer (WindowToken{11bd0df android.os.BinderProxy@f6b7139}#0)
Region TransparentRegion (this=0 count=0)
Region VisibleRegion (this=0 count=0)
Region SurfaceDamageRegion (this=0 count=0)
layerStack= 0, z= 2, pos=(0,0), size=( 0, 0), crop=[ 0, 0, -1, -1], cornerRadius=0.000000, isProtected=0, isOpaque=0, invalidate=1, dataspace=Default, defaultPixelFormat=Unknown/None, backgroundBlurRadius=0, color=(0.000,0.000,0.000,1.000), flags=0x00000000, tr=[0.00, 0.00][0.00, 0.00]
parent=Leaf:17:34#0
zOrderRelativeOf=none
activeBuffer=[ 0x 0: 0,Unknown/None], tr=[0.00, 0.00][0.00, 0.00] queued-frames=0, mRefreshPending=0, metadata={}, cornerRadiusCrop=[0.00, 0.00, 0.00, 0.00], shadowRadius=0.000,
+ EffectLayer (Surface(name=df6112c NavigationBar0)/@0xb3f8b36 - animation-leash#0)
Region TransparentRegion (this=0 count=0)
Region VisibleRegion (this=0 count=0)
Region SurfaceDamageRegion (this=0 count=0)
layerStack= 0, z= 0, pos=(0,800), size=( 0, 0), crop=[ 0, 0, 0, 0], cornerRadius=0.000000, isProtected=0, isOpaque=1, invalidate=0, dataspace=Default, defaultPixelFormat=Unknown/None, backgroundBlurRadius=0, color=(-1.000,-1.000,-1.000,1.000), flags=0x00000000, tr=[0.00, 0.00][0.00, 0.00]
parent=WindowToken{11bd0df android.os.BinderProxy@f6b7139}#0
zOrderRelativeOf=none
activeBuffer=[ 0x 0: 0,Unknown/None], tr=[0.00, 0.00][0.00, 0.00] queued-frames=0, mRefreshPending=0, metadata={}, cornerRadiusCrop=[0.00, 0.00, 0.00, 0.00], shadowRadius=0.000,
+ ContainerLayer (df6112c NavigationBar0#0)
Region TransparentRegion (this=0 count=0)
Region VisibleRegion (this=0 count=0)
Region SurfaceDamageRegion (this=0 count=0)
layerStack= 0, z= 0, pos=(0,800), size=( 0, 0), crop=[ 0, 0, -1, -1], cornerRadius=0.000000, isProtected=0, isOpaque=0, invalidate=1, dataspace=Default, defaultPixelFormat=Unknown/None, backgroundBlurRadius=0, color=(0.000,0.000,0.000,1.000), flags=0x00000000, tr=[0.00, 0.00][0.00, 0.00]
parent=Surface(name=df6112c NavigationBar0)/@0xb3f8b36 - animation-leash#0
zOrderRelativeOf=none
activeBuffer=[ 0x 0: 0,Unknown/None], tr=[0.00, 0.00][0.00, 0.00] queued-frames=0, mRefreshPending=0, metadata={}, cornerRadiusCrop=[0.00, 0.00, 0.00, 0.00], shadowRadius=0.000,
+ BufferQueueLayer (NavigationBar0#0)
Region TransparentRegion (this=0 count=0)
Region VisibleRegion (this=0 count=0)
Region SurfaceDamageRegion (this=0 count=0)
layerStack= 0, z= 0, pos=(0,800), size=( 480, 1), crop=[ 0, 0, -1, -1], cornerRadius=0.000000, isProtected=0, isOpaque=0, invalidate=0, dataspace=Default, defaultPixelFormat=Unknown/None, backgroundBlurRadius=0, color=(0.000,0.000,0.000,1.000), flags=0x00000001, tr=[0.00, 0.00][0.00, 0.00]
parent=df6112c NavigationBar0#0
zOrderRelativeOf=none
activeBuffer=[ 0x 0: 0,Unknown/None], tr=[0.00, 0.00][0.00, 0.00] queued-frames=0, mRefreshPending=0, metadata={windowType:2019, ownerUID:10099}, cornerRadiusCrop=[0.00, 0.00, 0.00, 0.00], shadowRadius=0.000,
+ ContainerLayer (WindowToken{664242d android.os.BinderProxy@9b43b44}#0)
Region TransparentRegion (this=0 count=0)
Region VisibleRegion (this=0 count=0)
Region SurfaceDamageRegion (this=0 count=0)
layerStack= 0, z= 3, pos=(0,0), size=( 0, 0), crop=[ 0, 0, -1, -1], cornerRadius=0.000000, isProtected=0, isOpaque=0, invalidate=1, dataspace=Default, defaultPixelFormat=Unknown/None, backgroundBlurRadius=0, color=(0.000,0.000,0.000,1.000), flags=0x00000000, tr=[0.00, 0.00][0.00, 0.00]
parent=Leaf:17:34#0
zOrderRelativeOf=none
activeBuffer=[ 0x 0: 0,Unknown/None], tr=[0.00, 0.00][0.00, 0.00] queued-frames=0, mRefreshPending=0, metadata={}, cornerRadiusCrop=[0.00, 0.00, 0.00, 0.00], shadowRadius=0.000,
+ ContainerLayer (3774d62 pip-dismiss-overlay#0)
Region TransparentRegion (this=0 count=0)
Region VisibleRegion (this=0 count=0)
Region SurfaceDamageRegion (this=0 count=0)
layerStack= 0, z= 0, pos=(0,458), size=( 0, 0), crop=[ 0, 0, -1, -1], cornerRadius=0.000000, isProtected=0, isOpaque=0, invalidate=1, dataspace=Default, defaultPixelFormat=Unknown/None, backgroundBlurRadius=0, color=(0.000,0.000,0.000,1.000), flags=0x00000000, tr=[0.00, 0.00][0.00, 0.00]
parent=WindowToken{664242d android.os.BinderProxy@9b43b44}#0
zOrderRelativeOf=none
activeBuffer=[ 0x 0: 0,Unknown/None], tr=[0.00, 0.00][0.00, 0.00] queued-frames=0, mRefreshPending=0, metadata={}, cornerRadiusCrop=[0.00, 0.00, 0.00, 0.00], shadowRadius=0.000,
+ ContainerLayer (WindowToken{b1e5660 android.os.BinderProxy@419da63}#0)
Region TransparentRegion (this=0 count=0)
Region VisibleRegion (this=0 count=0)
Region SurfaceDamageRegion (this=0 count=0)
layerStack= 0, z= 4, pos=(0,0), size=( 0, 0), crop=[ 0, 0, -1, -1], cornerRadius=0.000000, isProtected=0, isOpaque=0, invalidate=1, dataspace=Default, defaultPixelFormat=Unknown/None, backgroundBlurRadius=0, color=(0.000,0.000,0.000,1.000), flags=0x00000000, tr=[0.00, 0.00][0.00, 0.00]
parent=Leaf:17:34#0
zOrderRelativeOf=none
activeBuffer=[ 0x 0: 0,Unknown/None], tr=[0.00, 0.00][0.00, 0.00] queued-frames=0, mRefreshPending=0, metadata={}, cornerRadiusCrop=[0.00, 0.00, 0.00, 0.00], shadowRadius=0.000,
+ ContainerLayer (87c3719 EdgeBackGestureHandler0#0)
Region TransparentRegion (this=0 count=0)
Region VisibleRegion (this=0 count=0)
Region SurfaceDamageRegion (this=0 count=0)
layerStack= 0, z= 0, pos=(240,400), size=( 0, 0), crop=[ 0, 0, -1, -1], cornerRadius=0.000000, isProtected=0, isOpaque=0, invalidate=1, dataspace=Default, defaultPixelFormat=Unknown/None, backgroundBlurRadius=0, color=(0.000,0.000,0.000,1.000), flags=0x00000000, tr=[0.00, 0.00][0.00, 0.00]
parent=WindowToken{b1e5660 android.os.BinderProxy@419da63}#0
zOrderRelativeOf=none
activeBuffer=[ 0x 0: 0,Unknown/None], tr=[0.00, 0.00][0.00, 0.00] queued-frames=0, mRefreshPending=0, metadata={}, cornerRadiusCrop=[0.00, 0.00, 0.00, 0.00], shadowRadius=0.000,
+ ContainerLayer (WindowToken{a249178 android.os.BinderProxy@e2632db}#0)
Region TransparentRegion (this=0 count=0)
Region VisibleRegion (this=0 count=0)
Region SurfaceDamageRegion (this=0 count=0)
layerStack= 0, z= 5, pos=(0,0), size=( 0, 0), crop=[ 0, 0, -1, -1], cornerRadius=0.000000, isProtected=0, isOpaque=0, invalidate=1, dataspace=Default, defaultPixelFormat=Unknown/None, backgroundBlurRadius=0, color=(0.000,0.000,0.000,1.000), flags=0x00000000, tr=[0.00, 0.00][0.00, 0.00]
parent=Leaf:17:34#0
zOrderRelativeOf=none
activeBuffer=[ 0x 0: 0,Unknown/None], tr=[0.00, 0.00][0.00, 0.00] queued-frames=0, mRefreshPending=0, metadata={}, cornerRadiusCrop=[0.00, 0.00, 0.00, 0.00], shadowRadius=0.000,
+ ContainerLayer (b4b051 SecondaryHomeHandle0#0)
Region TransparentRegion (this=0 count=0)
Region VisibleRegion (this=0 count=0)
Region SurfaceDamageRegion (this=0 count=0)
layerStack= 0, z= 0, pos=(240,400), size=( 0, 0), crop=[ 0, 0, -1, -1], cornerRadius=0.000000, isProtected=0, isOpaque=0, invalidate=1, dataspace=Default, defaultPixelFormat=Unknown/None, backgroundBlurRadius=0, color=(0.000,0.000,0.000,1.000), flags=0x00000000, tr=[0.00, 0.00][0.00, 0.00]
parent=WindowToken{a249178 android.os.BinderProxy@e2632db}#0
zOrderRelativeOf=none
activeBuffer=[ 0x 0: 0,Unknown/None], tr=[0.00, 0.00][0.00, 0.00] queued-frames=0, mRefreshPending=0, metadata={}, cornerRadiusCrop=[0.00, 0.00, 0.00, 0.00], shadowRadius=0.000,
+ ContainerLayer (mOverlayContainers#0)
Region TransparentRegion (this=0 count=0)
Region VisibleRegion (this=0 count=0)
Region SurfaceDamageRegion (this=0 count=0)
layerStack= 0, z= 1, pos=(0,0), size=( 0, 0), crop=[ 0, 0, -1, -1], cornerRadius=0.000000, isProtected=0, isOpaque=0, invalidate=1, dataspace=Default, defaultPixelFormat=Unknown/None, backgroundBlurRadius=0, color=(0.000,0.000,0.000,1.000), flags=0x00000000, tr=[0.00, 0.00][0.00, 0.00]
parent=Root#0
zOrderRelativeOf=none
activeBuffer=[ 0x 0: 0,Unknown/None], tr=[0.00, 0.00][0.00, 0.00] queued-frames=0, mRefreshPending=0, metadata={}, cornerRadiusCrop=[0.00, 0.00, 0.00, 0.00], shadowRadius=0.000,
Offscreen Layers:
Layer Surface(name=db128f6 InputMethod)/@0xf78c5cd - animation-leash#0 (EffectLayer) pid:389 uid:1000
Filesystem Size Used Avail Use% Mounted on
tmpfs 984M 824K 984M 1% /dev
tmpfs 984M 0 984M 0% /mnt
/dev/block/mmcblk2p11 11M 144K 11M 2% /metadata
/dev/block/dm-0 789M 787M 0 100% /
/dev/block/dm-2 166M 166M 0 100% /vendor
/dev/block/dm-4 2.9M 2.9M 0 100% /odm
/dev/block/dm-3 83M 83M 0 100% /product
/dev/block/dm-1 44M 44M 0 100% /system_ext
tmpfs 984M 0 984M 0% /apex
/dev/block/mmcblk2p10 356M 204K 344M 1% /cache
/dev/block/dm-5 25G 678M 24G 3% /data
/dev/fuse 25G 678M 24G 3% /storage/emulated
Linux localhost 4.19.232 #106 SMP PREEMPT Mon Aug 17 15:20:40 CST 2026 armv8l
USB MANAGER STATE (dumpsys usb):
{
device_manager={
handler={
current_functions=MTP
current_functions_applied=true
screen_unlocked_functions=MTP
screen_locked=false
connected=true
configured=true
host_connected=false
source_power=false
sink_power=false
usb_charging=true
hide_usb_notification=false
audio_accessory_connected=false
kernel_state=CONFIGURED
}
}
host_manager={
num_connects=0
}
port_manager={
is_simulation_active=false
}
alsa_manager={
cards_parser=-1
}
settings_manager={
user_settings={
user_id=0
device_attached_activities={
activity={
package_name=com.android.mtp
class_name=com.android.mtp.ReceiverActivity
}
filters=[
{
vendor_id=-1
product_id=-1
class=255
subclass=255
protocol=0
manufacturer_name=null
product_name=null
serial_number=null
}
{
vendor_id=-1
product_id=-1
class=6
subclass=1
protocol=1
manufacturer_name=null
product_name=null
serial_number=null
}
]
}
}
profile_group_settings={
parent_user_id=0
}
}
permissions_manager={
user_permissions={
user_id=0
}
}
}
add device 1: /dev/input/event1
bus: 0019
vendor 0000
product 0000
version 0000
name: "quot;rk805 pwrkey"quot;
location: "quot;rk805_pwrkey/input0"quot;
id: "quot;"quot;
version: 1.0.1
events:
KEY (0001): 0074
input props:
gt;
add device 2: /dev/input/event3
bus: 0019
vendor 0001
product 0001
version 0100
name: "quot;adc-keys"quot;
location: "quot;adc-keys/input0"quot;
id: "quot;"quot;
version: 1.0.1
events:
KEY (0001): 0072 0073
input props:
gt;
add device 3: /dev/input/event2
bus: 0018
vendor 0000
product 0000
version 0000
name: "quot;gslX680-d708"quot;
location: "quot;"quot;
id: "quot;"quot;
version: 1.0.1
events:
KEY (0001): 0068 006d 009e 00d9
ABS (0003): 002f : value 1, min 0, max 10, fuzz 0, flat 0, resolution 0
0030 : value 0, min 0, max 255, fuzz 0, flat 0, resolution 0
0032 : value 0, min 0, max 200, fuzz 0, flat 0, resolution 0
0035 : value 0, min 0, max 480, fuzz 0, flat 0, resolution 0
0036 : value 0, min 0, max 800, fuzz 0, flat 0, resolution 0
0039 : value 0, min 0, max 65535, fuzz 0, flat 0, resolution 0
input props:
INPUT_PROP_DIRECT
add device 4: /dev/input/event0
bus: 0000
vendor 0000
product 0000
version 0000
name: "quot;rk817-charger"quot;
location: "quot;rk817-charger"quot;
id: "quot;"quot;
version: 1.0.1
events:
KEY (0001): 008f
input props:
gt;
Kodi Kronicles!
Taking a step away from eink for a moment I took some time this week to write something for myself, a local watch journal I'd been thinking about for awhile now. It has taken shape as 'Kodi Kronicles' a small golang web application that sits on your network, takes notes on what you watch via Kodi and keeps a neat, searchable or at a glance heat mapped log of your kodi media consumption.
Sticky MicroNotes — Notes That Stick!
The Seeed reTerminal Sticky is a new cute little eink slab with magnets (4 of them) built into the back, snap it to your fridge, a filing cabinet, wherever metal lives. Out of the box it wants to talk to a phone app. I wanted it to talk to a keyboard instead. Meet Sticky MicroNotes, a writing firmware port that turns it into a tiny writer deck-esque note pad device.
It's a port of MicroSlate, rebuilt for the reTerminal Sticky specifically. Pair a Bluetooth keyboard, start typing, notes save as plain .txt files on a microSD card. No app, no account, just a keyboard, a screen and a text file.
- Pairs BLE keyboards; stores up to 4, auto-reconnects on boot.
- Three writing modes: Scroll, Typewriter (single centered line), and Pagination; cycle with Tab.
- Auto-saves after 10s idle or every 2 minutes while typing, plus a write-verify
.bakrotation so a bad write never eats your last good draft. - Clean mode strips the editor chrome down to just your words.
- Wi-Fi transfer at
http://sticky.local— no cable, drag files in from your phone or laptop over your network. - Dark mode, portrait/landscape/inverted orientation, optional gyro auto-rotate.
Nothing about it tries to be clever. Notes are just text files named after their titles, sitting in /notes/ on your SD card, readable on literally anything. Grocery list on the fridge, morning pages before coffee, a stray idea you don't want to lose to your phone's notification hellscape — it's all just there, on a screen that sips power and never asks you to log in.
Try it out today!
x4ePapers v1.4 — Tag, Share & Install!
x4ePapers has quietly turned into a much bigger project than the little wallpaper dump it started as, so it felt like time for a proper update post. No single flashy feature this round but more a pile of smaller things that add up to a large gallery that's more pleasant to dig through now, instead of just scrolling and hoping many of you requested tags, I've given you all the tags!
Reaching the previous support goal helped me move all the iamges onto a proper CDN-backed home behind the scenes, which mostly just means: it's faster, it can hold a lot more wallpapers and it'll keep scaling as the collection grows. Not exciting to look at, but everything else below was only really possible after moving the storage burden off the tiny vps it was on which also means means this updates comes with another 37,977 wallpapers and proper resolution scalling for the x3 not just halfassing the old x4 images.
- Every wallpaper is now tagged — subject, style, mood, etc. Tap into the tag cloud up top and browse by whatever you're actually in the mood for, instead of shuffling endlessly.
- Click a wallpaper to open the preview and see its tags which are clickable so you can jump straight from one image to everything else with similar vibes.
- There's now a share button on every card, it grabs a direct link to that wallpaper so you can send someone directly to an image in the gallery.
- An "anime" toggle sits next to the tag cloud, off by default — flip it on if that's your thing, leave it off if it's not.
- x4ePapers can now be installed as an app on your phone or desktop with a proper icon, opens in its own window, no browser fluff. Look for the install prompt in the lower left next time you visit.
None of this changes what x4ePapers actually is, it's still a straightforward wallpaper library for the X3/4, still free, still no accounts or junk ads. Just easier to actually find the wallpaper you want in a library that keeps growing.
If you want to see it keep growing and the tags to get better, there's now a small support link tucked in the corner too. Completely optional, appreciated either way. Enjoy the new features!
The tags aren't hand-typed, every image gets run through an open-source vision model locally on my own ancient workstation (which is very sadly without a gpu), which scores it against a growing vocabulary of subjects, styles, and moods and keeps whatever actually fits. I find images, feed them to the tagger, it writes tag manifests and preps the images ready to feed to the main app, good times.
Worth a mention for the curious: color/mood tags (like "warm" or "vibrant") were deliberately left out of the vocabulary. Every wallpaper gets converted to grayscale for e-ink screens anyway, so tagging by color would just be describing something you'd never actually see on the device. Brightness and contrast tags stuck around, since those do carry through.
With support the next upgrade would be to jump from the current 62% to 79%+ tagging acuuracy, but this will take a lot of cpu cycles, maybe weeks on my current workstation.
RdLtr — Save Now, Read Later
Remember x4Later, that quick article-to-EPUB converter I threw together back in January? Turns out it wanted to grow up. Meet RdLtr — same core idea, but properly fleshed out this time, with that "seamless uploads to device, via wifi?" TODO from the original post finally ticked off.
The idea is simple: find something worth reading, paste the link into RdLtr, get back a clean, lightweight EPUB — stripped of ads, popups, and whatever else the modern web insists on bolting onto a page these days. High contrast, sized for your device, easy reading.
- Paste a link, get an EPUB back in seconds.
- Optional images, kept grayscale and properly sized.
- Install it as an app on your phone and share directly from any browser.
- Hit a wall? RdLtr was built for r/longform readers, supporting archive links was key.
- Point your e-reader's OPDS library feature at your own personal link — no cables, no 3rd party syncing software.
OPDS is the part I'm most pleased with. RdLtr runs its own library server in the background — you get your own shelf and everything you've saved is just... there. Add an article from your phone on the bus, it's waiting on your e-reader by the time you're home.
It's free and it lives at: rdltr.link
Give it a spin, let me know if something breaks. Happy reading!
Small list of the best OPDS supporting readers I've tested ...
LowIO Wiki Beta One
LowIO Wiki is a purpose-built firmware for the Xteink X4 that boots straight into and offline Wikipedia library. β1 is the first public build meant for you to test, break and request new features, not just a simple demo.
It is forked from the Crossink/Almanac stack, stripped down so your device is a dedicated encyclopedia.
What β1 does so far ...
- Boot and Home: The device boots directly to where you left off, Home has two options. Wikis, a selector for your article databases, and Settings keeping things simple. Selecting Resume drops you back into your last article.
- CDB Packs: Drop any
{arbitrary name}.cdbfiles directly onto the SD root. The Wikis selector automatically enumerates them. Open one, or hold Open to set it as your default. No rigid naming conventions or manifests required. - Reading Experience: Enjoy next/previous article navigation, random rolls, and a title index search. Hold Home to cycle body font sizes. Long articles cap out at roughly 30,000 characters at the moment.
- Images: If your pack includes lead images, place the
wiki_img/directory in the SD root to display them under the article title. - Settings: A single page covers your sleep screen (dark, light, or custom), battery percentage, refresh interval, sunlight fade fix, sleep timeout, and language. No Wi‑Fi toggles, themes, or extra reader clutter.
SD card structure
Stick these files on the root of your SD card:
- DeepWiki.cdb
- top50k.cdb
- wiki_img.zip (unpack to root as
/wiki_img/for optional lead BMPs)
These CDB packs are built from English Wikipedia dumps: pageview-ranked titles, cleaned wikitext. DeepWiki is 600 or so interesting articles over a range of topics. Provided databases for this beta are by no means the whole of wikipedia, I will explore this later.
How to flash
- Grab lowio-wiki-beta1_x4.bin.
- Head to crosspointreader.com/#flash-tools, select Xteink X4, and choose Custom.bin
- Follow on screen instructions ...
β1 limits
- 30k Character Limit: Longer pages are currently truncated, I've tested upto 52k with some stability, full articles will be supported next.
- Single Language: Packs shipped so far are English-only, tools to create your own packs will be available later.
- No In-Firmware Downloads: Packs and images must be pre-compiled on a PC. I may host a cdb library later and incorporate ota downloads/updates.
- Isolated Index: The index searches the currently open
.cdb, not a unified master index of every file on the card. - Lead Images Only: Images are currently limited to article lead images.
Why ship it now?
The core reader stable: open a pack, flip pages, jump to next/random, search, pull up the index, resume your place, and switch .cdbs. That's the basics for the beta, I need your testing and feedback, have at it!
What is next?
Longer articles, wider image coverage*, image toggle on device to unify packs, larger ranked dumps and more flexible search are all on the roadmap for β2 and beyond.
Let's not forget ...
A huge thank you to Sparkadium for the initial wiki groundwork and a kick up the ass to dive in, improve and make it my own.
Streaming direct from the r36s!
Testing testing ... this was a random thought at gone 1AM last night, "the r36s is bascially a linux box, ffmpeg streaming?"
I use ffmpeg at least a few times a week and it plays a large role in my automated media stack at home, I love working with it so I wrote a rough C wrapper and dropped it on my knock off r36s (512MB Ram) 3rd time lucky after some config tweaks and here we are! There's still work to do and I suspect it'll be even smoother on the 1GB models or the r36xx with built in WiFi not running ArkOS For Clones.
Repurposing an Orico SD Card Case
Little luggage for your e-reader! I repurposed an Orico SD Card Case for my Xteink X4, for $8 you can't go far wrong. Grab yours! (affil)
Slap some stickers on it and now you can throw your reader in your bag and not worry about that delicate screen!
An r36xx Server, CRT-ish, Media Player Thing...
This has been a long time coming, after my first post to this blog I played around with a few ideas of what to serve from the r36xx. I landed on this, a single page r36s emulator-thing, because the r36s is an emulator ... or something.
This page is served from a real r36xx running armbian/nginx/tailscale sat on my windowsill connected to a USB-UPS.
The video files are fragmented/indexed so channel loading/switching feels instant instead of waiting, this was one of the biggest challenges to do without cloudflare cache (which would bork range requests) I went through a few encode options to make sure everything loaded as fast as possible on any device, browser or connection and finished up by highly optimizing nginx, the images, code and then moved everything into RAM for maximum performance and less wear on the SD card.
I'll leave the rest of the features for you to discover, press some buttons, have fun.
Blog Article Editor
Over the years I have typically used nano/Geany to bash out code for my site, blogs, etc. this is sometimes a pain in the ass or generally inconvenient so I wrote this little editor that outputs pre-formatted HTML for my blog articles, good times.
Why? Because I was never a fan of micro-blogging platforms or all-in-ones like WordPress and I usually learn something doing it all myself.
Xteink // (Un)Official Media
A new gallery for the official xteink user wallpapers.
Xteink hosts its own user submitted wallpaper gallery via its cloud app, some of us don't (want to) use this app so a cool guy called Megabit_Omega decided to write a tool to download and sync (automated daily updates) all of this media, he then came to me for a place to host it and so I built this lovely new gallery, enjoy.
Some notes; most of this media was uploaded by Chinese citzens to their localized platform, keep this in mind when viewing through a western lens. I do not support and therefore will not take part in censorship for a global audience. Buddha, Spongebob, Mao, Pooh and a man with a little mustache may reside in the gallery, but you don't have to use any of them on your device if you don't want, use this cute pair of pussies instead ₍˄·͈༝·͈˄₎
x4ePapers X3 Support
Changes in v1.3 (x3 update)
- Download button split into X4 and X3.
- X3 variant scales to 528x792 on the fly.
- Selected Dither and Invert modifiers apply to output before scaling.
- Downloaded files are named with _x4 and _x3 suffixes respectively.
The X3 uses a slightly wider and shorter resolution than the X4 (528x792 vs 480x800). The scaling is done server-side on demand, so no separate image library is needed. As with the X4, the dither and invert toggles apply before the rescale, so what you see in the preview is what you get on the device.
x4 Pokédex Wallpapers
u/basvanderploeg made an awesome generator for Pokédex wallpapers formatted for the xteink x4, I wrote a scraper to catch them all and offer them for download, good times!
| Generation | About Cards | Stats Cards |
|---|---|---|
| Gen 1 Kanto | Download | Download |
| Gen 2 Johto | Download | Download |
| Gen 3 Hoenn | Download | Download |
| Gen 4 Sinnoh | Download | Download |
| Gen 5 Unova | Download | Download |
| Gen 6 Kalos | Download | Download |
| Gen 7 Alola | Download | Download |
| Gen 8 Galar | Download | Download |
| Gen 9 Paldea | Download | Download |
> github/scrp-basvanderploeg.nl
x4Later v1.0
Just a quicky post announcing x4Later, a web article to EPUB converter.
> x4later.lowio.xyzTODO: Seamless uploads to device, via crosspoint/wifi? Bluetooth? We will see, the idea is to have options for web → device workflow.
x4ePapers v1.2
Changes in version v1.2
- Added dither toggle!
- Inverted color previews are now done in CSS.
- Modified images are now cached in ram for 24 hours.
- WEBP previews compressed by 8% to save on bandwidth.
- Invert/Dither modifiers are now on-demand to save on storage.
- Directory walk logic rewritten to speed up page loads allowing for a larger image collection.
Settings for dithering are the same used in the Crosspoint firmware for book covers, as of writing Crosspoint doesn't apply dithering to wallpapers/sleep screens where as the stock fw does. Test to see what works for you.
x4ePapers Goes Live!
A month ago procrastinating on reddit I saw a comment mentioning this wonderful little device, the xteink x4. I fell in love with the device and then the community r/xteinkereader
Rallying around this device a bunch of very fine folk have given us custom firmware and many tools to make life with this beautiful piece of hardware that much better, I wanted to give back too so I have written a wallpaper/sleep screen tool and discovery site.
The plan was to have a site where you could potentially browse for as long as you want finding and curating the perfect collection of wallpapers for your device. So I built an asset pipeline in Go to ingest images, convert them to the format recommended for the x4 and display them as cleanly as possible while offering both original grayscale and an inverted option + one click downloads.
As this project is geared toward random discovery each page load gives you a fresh set of images or you can just keep scrolling and load more as you go. You can also tap an image for a closer look, happy tinkering, wallpaper collecting and most of all reading!
> x4epapers.lowio.xyz
Note that in gallery view and tap to preview the images are lower resolution webp to keep page loads snappy, hit download to get the full resolution x4 ready bmp files.
To-do: gather feedback, review image formats, optimize for performance at scale.
> r/xteinkereader Release Thread
The R36S As A Server
I recently picked up a cheap retro emulation handheld, my 3rd.. I told myself I'd do something else with this one, other than flash the latest r/SBCGaming OS recommendation, load it with 50,000 roms I'll never play and let it collect dust on my shelf. So let's turn it into a portable server.
Some Specs — SoC: Rockchip RK3326, CPU: Cortex-A35, GPU: Mali-G31 MP2, RAM: 1GB DDR3L, DSP: 3.5" 640×480 IPS, NIC: 2.4GHz, BAT: 3000mAh.
Think Raspberry Pi 3 with a screen, battery & USB-C in a nice case all for $35 delivered.
Enter Armbian!
Much of the heavy lifting has already been done here, (the r/R36S community have even built Android for the platform!) so I flashed armbian-r36s-bookworm-xfce to a new mSD card, got lucky having a "panel 4" device and a few minutes later land in a fresh xfce environment!
Navigate the on-screen keyboard, enable ssh, a little apt-get, nginx is installed and ready to serve some pages. Now to build something fun for the community....
Additional logs: Running stable on RC5 build. Power consumption profiles idling under Nginx optimization sits roughly around ~140mA. Headless modifications can be configured safely via standard configuration files.
Stay tuned!!
Initial Commit
Low[Flow]IO goes live. This space will serve as a slightly curated digital garden for my projects, ramblings, tangents & deep-dives into tech.