From 5979f9f855a1901541c4ed4773482008fb3ce3fb Mon Sep 17 00:00:00 2001 From: NiLuJe Date: Fri, 16 Oct 2015 02:40:03 +0200 Subject: [PATCH] Better and more complete status bar handling. When runnning from KUAL on FW >= 5.6.5 --- platform/kindle/koreader.sh | 38 ++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/platform/kindle/koreader.sh b/platform/kindle/koreader.sh index 32896dca7..b6b6bbad1 100755 --- a/platform/kindle/koreader.sh +++ b/platform/kindle/koreader.sh @@ -177,12 +177,18 @@ fi if [ "${STOP_FRAMEWORK}" == "no" -a "${INIT_TYPE}" == "upstart" ] ; then count=$(lipc-get-prop -eiq com.github.koreader.kpvbooklet.timer count) if [ "$count" == "" -o "$count" == "0" ] ; then - #logmsg "Disabling pillow . . ." - #lipc-set-prop com.lab126.pillow disableEnablePillow disable - logmsg "Hiding the status bar . . ." - # NOTE: One more great find from eureka (http://www.mobileread.com/forums/showpost.php?p=2454141&postcount=34) - lipc-set-prop com.lab126.pillow interrogatePillow '{"pillowId": "default_status_bar", "function": "nativeBridge.hideMe();"}' - PILLOW_DISABLED="yes" + # NOTE: We want to disable the status bar (at the very least). Unfortunately, the soft hide/unhide method doesn't work properly anymore since FW 5.6.5... + if [ "$(printf "%.3s" $(grep '^Kindle 5' /etc/prettyversion.txt 2>&1 | sed -n -r 's/^(Kindle)([[:blank:]]*)([[:digit:].]*)(.*?)$/\3/p' | tr -d '.'))" -ge "565" ] ; then + # FIXME: So we resort to killing pillow completely on FW >= 5.6.5... + logmsg "Disabling pillow . . ." + lipc-set-prop com.lab126.pillow disableEnablePillow disable + PILLOW_HARD_DISABLED="yes" + else + logmsg "Hiding the status bar . . ." + # NOTE: One more great find from eureka (http://www.mobileread.com/forums/showpost.php?p=2454141&postcount=34) + lipc-set-prop com.lab126.pillow interrogatePillow '{"pillowId": "default_status_bar", "function": "nativeBridge.hideMe();"}' + PILLOW_SOFT_DISABLED="yes" + fi if [ "${NO_SLEEP}" == "no" ] ; then # NOTE: Leave the framework time to refresh the screen, so we don't start before it has finished redrawing after collapsing the title bar usleep 250000 @@ -253,22 +259,16 @@ if [ "${STOP_FRAMEWORK}" == "yes" ] ; then fi fi -# display chrome bar (upstart & framework up only) +# Display chrome bar if need be (upstart & framework up only) if [ "${STOP_FRAMEWORK}" == "no" -a "${INIT_TYPE}" == "upstart" ] ; then - # Only if we actually killed it... - if [ "${PILLOW_DISABLED}" == "yes" ] ; then - #logmsg "Enabling pillow . . ." - #lipc-set-prop com.lab126.pillow disableEnablePillow enable + # Depending on the FW version, we may have handled things in two different manners... + if [ "${PILLOW_HARD_DISABLED}" == "yes" ] ; then + logmsg "Enabling pillow . . ." + lipc-set-prop com.lab126.pillow disableEnablePillow enable + fi + if [ "${PILLOW_SOFT_DISABLED}" == "yes" ] ; then logmsg "Restoring the status bar . . ." lipc-set-prop com.lab126.pillow interrogatePillow '{"pillowId": "default_status_bar", "function": "nativeBridge.showMe();"}' - # And now we want to poke something to refresh the UI... - if [ "$(printf "%.3s" $(grep '^Kindle 5' /etc/prettyversion.txt 2>&1 | sed -n -r 's/^(Kindle)([[:blank:]]*)([[:digit:].]*)(.*?)$/\3/p' | tr -d '.'))" -ge "565" ] ; then - # FIXME: The old search_bar method doesn't seem to work anymore since FW 5.6.5... Get at least the homescreen back. We're still missing the men :/. - lipc-set-prop com.lab126.appmgrd start app://com.lab126.booklet.home - else - # Poke the search bar too, so that we get a proper refresh ;) - lipc-set-prop com.lab126.pillow interrogatePillow '{"pillowId": "search_bar", "function": "nativeBridge.hideMe(); nativeBridge.showMe();"}' - fi fi fi