Closed Bug 602976 Opened 9 years ago Closed 9 years ago

Implement full screen mode for Android

Categories

(Core :: Widget: Android, defect)

All
Android
defect
Not set

Tracking

()

RESOLVED FIXED
Tracking Status
fennec 2.0b3+ ---

People

(Reporter: mbrubeck, Assigned: mwu)

References

Details

(Whiteboard: [fennec-checkin-postb2][has-patch])

Attachments

(2 files, 1 obsolete file)

For bug 590715 we will need a way to toggle full screen mode on Android (i.e. hide the system alert bar).
tracking-fennec: --- → ?
Assignee: nobody → blassey.bugs
tracking-fennec: ? → 2.0b2+
Assignee: blassey.bugs → mwu
Attached patch Handle fullscreen mode (WIP) (obsolete) — Splinter Review
Currently causes a regression in rotation, but it should work otherwise.
tracking-fennec: 2.0b2+ → 2.0b3+
Attachment #483278 - Flags: review?(blassey.bugs)
Comment on attachment 483278 [details] [diff] [review]
Handle fullscreen mode (WIP)

No. Not ready.
Attachment #483278 - Flags: review?(blassey.bugs)
Apparently a side benefit of this is that it will fix these issues:

1. vkb up, users starts to pan awesomelist, vkb disappears but feels slow compared to the market app
2. vkb up, user taps search button, vkb disappears but feels slow

If someone thinks that these _won't_ get cleared up by this bug, please let me know!
(In reply to comment #4)
> Apparently a side benefit of this is that it will fix these issues:
> 
> 1. vkb up, users starts to pan awesomelist, vkb disappears but feels slow
> compared to the market app
> 2. vkb up, user taps search button, vkb disappears but feels slow
> 
> If someone thinks that these _won't_ get cleared up by this bug, please let me
> know!

After further testing, it turns out this patch only fixes those issues in fullscreen mode by never resizing our window. If we have a separate bug for that issue, I'll take it and investigate further.
In order to remove the system bar, we need to reconfigure our activity. This patch makes it possible for our activity to be recreated. Also, new code was added to allow surfaceChanged to wait for a draw before returning, in order to avoid a flash of black while rotating. The actual reconfiguration is done by forcing a series of rotations which the user never sees but causes our activity to be recreated. The synchronous redraw is currently only done for the 2d drawing path. 3d path probably needs something too.
Attachment #483278 - Attachment is obsolete: true
Attachment #487774 - Flags: review?(vladimir)
Comment on attachment 487774 [details] [diff] [review]
Handle fullscreen mode, v2

neat..

this worries me a little:

>+        // force a reconfiguration to hide/show the system bar
>+        GeckoApp.mAppContext.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
>+        GeckoApp.mAppContext.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
>+        GeckoApp.mAppContext.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_USER);

because there can be people who unlock all 4 orientations, in which case we could potentially do 3 rotations here instead of jsut one "away" and one "back".  Might not be worth worrying about.
Attachment #487774 - Flags: review?(vladimir) → review+
(In reply to comment #7)
> >+        // force a reconfiguration to hide/show the system bar
> >+        GeckoApp.mAppContext.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
> >+        GeckoApp.mAppContext.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
> >+        GeckoApp.mAppContext.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_USER);
> 
> because there can be people who unlock all 4 orientations, in which case we
> could potentially do 3 rotations here instead of jsut one "away" and one
> "back".  Might not be worth worrying about.

I think the window manager is smart about not going too crazy.. at least on the devices I've tested so far. It would be nice if we could just check what the current orientation is and switch away from it and back.
Whiteboard: [fennec-checkin-postb2][has-patch]
This prevents us from accidentally going into offline mode while our activity is being reset.
Attachment #489068 - Flags: review?(blassey.bugs)
Attachment #489068 - Flags: review?(blassey.bugs) → review+
http://hg.mozilla.org/mozilla-central/rev/cf55a728ea5c
http://hg.mozilla.org/mozilla-central/rev/17bb9e21dfe1
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.