Hello,

Obviously, I'm hitting a bug but it's different from what I was
thinking. If Google folks could comment, it would be great.

I'm trying to operate Ice Cream Sandwich with a keyboard only: no touch,
no mouse. In the settings application, I can't turn on/off Wi-Fi with
the "Switch Widget" (I wrongly name it toggle in my previous post) by
using only a keyboard. The switch widget is handled here:
frameworks/base/core/java/android/widget/Switch.java

After further investigations (while I was playing around with the "Data
usage" pan which has another switch widget), I figured out that if you
press enter on a switch widget which has the focus, it does toggle.
Great! But I still can't toggle the Wi-Fi switch widget with the "Enter"
key in the left bar of the Settings App. I figured out that when I press
"enter" while selecting the "Wi-Fi" row, the "enter" event is captured
by the row itself and the switch widget actually never gets the focus.
This is my problem and this is a bug.

So now, I'm back to packages/apps/Settings trying to figure out why a
row, which is actually a "header item in PreferenceActivity", doesn't
behave the right way.

The situation is tricky because a header can be selected or highlighted.
But when you have a touch or mouse, highlighting means selecting. And
obviously, you don't want to toggle the switch if you highlight=select
the header with your finger.

I still think that the insufficient keyboard behavior is still fixable
without altering the mouse/touch behavior which currently makes sense.

Right now, the behavior is "If an enter key is pressed, a highlighted
header becomes selected". The behavior to add is: "if a header is
selected and highlighted header = selected header and the enter key is
pressed, pass the event to the switch",

Grégoire


PS: BTW, there is a second bug. In the Data usage pan, if you toggle the
on/off switch and you reply cancel to "Disable mobile data?" pop-up
question, the toggle goes from on to off even if you cancel the request.


On Mon, 2012-01-16 at 00:31 -0800, Gregoire Gentil wrote:
> Hello,
> 
> ICS is really outstanding and very polished but the UI can't be fully
> controlled by a keyboard/D-pad without a touchscreen or a mouse. I'm
> thinking about the on/off toggle widget that you can find for instance
> in the settings panel for wifi and bluetooth. I don't think that you
> can switch the toggle with just a keyboard or a d-pad. Can you? Any
> comment from Google or am I missing a magic accelerator key?
> 
> Grégoire


-- 
unsubscribe: [email protected]
website: http://groups.google.com/group/android-porting

Reply via email to