ASUI can still get stuck in an infinite focus in/out event loop and consume all cpu and memory. But now ASUI will detect this loop and kill itself.
Renamed that "unlocked" window to "asui net" so everyone knows it belongs to ASUI. That window will also close after the screen has been on for more than one second. Let me know if it still gets stuck open.
Edit 1:
@ tso, didn't see your last two comments before I posted this, looking into it now.
Edit 2:
The blank window wasn't being closed when headphones were plugged in or removed, it is now. Looks like the power button is caused by a race condition. You are pressing it before ASUI receives the signals that the screen has turned off. This means the blank window hasn't been opened yet so ASUI doesn't see it and processes the power button, I assume it opens ASUI? Fixed it so the blank window won't open if ASUI is open, and the one second timeout should catch all other conditions.
yep, i was starting to suspect a race condition as i was also able to get the window if i tapped the screen within time. but then taps passed thru to the ui. And no, asui would not display as the window seemed to get in the way of that.
fix: removed all dbus_free calls so ASUI should no longer crash when upgraded with appman
fix: replaced the blank window hack with code to lock the keys (fixes a bug where blank window would remain open when unlocked)
fix: ASUI will terminate itself if stuck in a runaway event loop (focus in/out bug)
fix: close blank window if screen has been on for more than one second
fix: close blank window on power button press
fix: close blank window on headphone connect/disconnect
fix: close blank window on lock button press
fix: open blank window if ASUI is started while screen is off
fix: grab pointer so it can't be stolen away by another application (such as application manager)
renamed blank window from "UNLOCKED" to "ASUI NET"
removed the startup sleep when system is loaded
SIGINT, SIGTERM and SIGSEGV signal handlers to clean up and log termination reason
debug binary produces a new timestamped log file each time ASUI starts
continuously poll all initial dbus values until each one has responded (mce, bme, bluez, icd2)
process viewer now highlights other known services in light blue
brightness level moved to /apps/asui_state/, will cause brightness to reset on first run
theme button in brightness widget (ALS, black, white)
added the /usr/bin/asui script to handle release, test and debug builds
added a blue arrow in the bluetooth widget to indicate its swipe feature
Underlined items are new since last test binary.
The new asui script should help more people run test builds by automating the process. Type the asui command as root to see the full list of supported actions. To perform an action you just call asui with the 1-2 letter action, such as asui u to upgrade ASUI to the next release instead of using application manager. You can download a test build, run it and then replace the service with it if it works. If you then find out it doesn't really work that well you can restore the last release binary.
Syntax: asui <command>
s : start the service
k : stop the service (kill)
dt : download the latest test binary
rt : run the test binary
it : install the test binary (this will start and stop the service)
dd : download the latest debug binary
rd : run the debug binary
id : install the debug binary (this will start and stop the service)
r : restore the last release binary (this will start and stop the service)
u : upgrade binary to the latest stable release package
uu : upgrade this script to latest test release
I also cleaned up the about page and created a separate page for the widgets.
managed to get a "asui net" window with the latest version. But this time it showed up because i pressed the power button (possibly double pressed as asui did not show straight after the backlight came on) after the N800 had been idling for a while. And it do not seem to go away even after sitting for a minute or more with the backlight on.
funny thing is, i hear the screen press sound playing. But none of the UI reacts. Not even when it open up telescope (something i would think overrides the window).
It may be that pushing the power button to soon after any wakeup event will somehow lock the "asui net" window in place. especially if the device have been idle for some time.
It may be that pushing the power button to soon after any wakeup event will somehow lock the "asui net" window in place. especially if the device have been idle for some time.
Can you install the debug binary as service and then send me the log file after it happens?
And will the hardware lock button remove the blank window when it happens?