Closed
Bug 696282
Opened 12 years ago
Closed 12 years ago
Implement native toast alert support
Categories
(Firefox for Android Graveyard :: General, defect, P3)
Tracking
(firefox11 fixed, fennec11+)
VERIFIED
FIXED
People
(Reporter: fabrice, Assigned: ju.vermet)
References
Details
(Whiteboard: [QA+])
Attachments
(1 file, 1 obsolete file)
5.47 KB,
patch
|
mfinkle
:
review+
|
Details | Diff | Splinter Review |
We used to have two alert types: - actionable ones, that map to Status Bar Notifications (http://developer.android.com/guide/topics/ui/notifiers/notifications.html) - simple toasters, that map to Toast Notifications (http://developer.android.com/guide/topics/ui/notifiers/toasts.html)
Comment 1•12 years ago
|
||
We already support Status Bar notifications. We also have a "toaster" alertsservice, but it's XUL. Lets switch it over to use native toast by passing a JSON message from the JS component to the Java UI.
Summary: Implement nsIAlertsService → Implement native toaster nsIAlertsService
![]() |
||
Updated•12 years ago
|
Whiteboard: [QA+]
Updated•12 years ago
|
Assignee: nobody → wjohnston
Priority: -- → P3
Reporter | ||
Updated•12 years ago
|
Assignee: wjohnston → ju.vermet
Assignee | ||
Comment 2•12 years ago
|
||
This is a first implementation with two parameters : - A JSONObject called "message" just contain a string called "content" - A boolean to set the duration. If true, long, if false, short
Comment 3•12 years ago
|
||
Awesome. Thanks Julien. I think you're digging at this a bit already, but what we'll probably want is a method like this, except maybe taking a String and a Bool. Then we'll register a message listener, similar to the ones in embedding/android/GeckoApp.java (look for "registerGeckoEventListener", and note we'll also want to unregister the listener at close) that watches for "Toast" messages coming from Javascript. I think we should try to contain all the JSON conversions to that method. So in the listener, we'll look at the JSON we get, pull out the message text and the "length" boolean (I think for the sake readability, we might be better making this a string with values "long" or "short"?), and then fire them over to the real "showToast" method. Thanks again. Ask away if any of that doesn't make sense.
Reporter | ||
Comment 4•12 years ago
|
||
Thanks for the patch Julien - let's build on top of this. We want to call this from JS. It used to be an XPCOM component but let's start by just adding this to the NativeWindow object in browser.js around http://hg.mozilla.org/projects/birch/file/1f61c869b696/mobile/chrome/content/browser.js#l406 : NativeWindow.toaster.show(aMessage, aLong) Message type will be Toaster:Show, and this message must then be handled in Gecko.app: registration: http://hg.mozilla.org/projects/birch/file/1f61c869b696/embedding/android/GeckoApp.java#l1087 handling : http://hg.mozilla.org/projects/birch/file/1f61c869b696/embedding/android/GeckoApp.java#l618 unregistration: http://hg.mozilla.org/projects/birch/file/1f61c869b696/embedding/android/GeckoApp.java#l1284
Assignee | ||
Comment 5•12 years ago
|
||
As suggested by wesj, I used a string to set the toast duration and the JSON conversion is now done in "handleMessage". If the duration is "long", a long toast is shown. If anything else is defined, a short toast is shown. A toast can be shown by calling the JS function "NativeWindow.toaster.show("myToast", "long");"
Attachment #569539 -
Attachment is obsolete: true
Comment 6•12 years ago
|
||
Comment on attachment 569581 [details] [diff] [review] Patch v2 Very nice Julien! This looks exactly like what we want. I'm going to do a few things to the patch before I land it: 1. Switch to 4-space indents, no Tabs 2. Use | } else if (...) { | format 3. Change the "length" param to "duration" - since that is what Android calls it Thanks a lot for the patch
Attachment #569581 -
Flags: review+
Comment 7•12 years ago
|
||
https://hg.mozilla.org/projects/birch/rev/41404c189adc I also tweak: * "Toaster" -> "Toast" since Android calls it that too. * Some other spacing issues _not_ in the patch itself (just OCD)
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Summary: Implement native toaster nsIAlertsService → Implement native toast alert support
Comment 8•12 years ago
|
||
Saving a page as PDF two alerts appeared: Status Bar Notification and Toast Notification. Marking this as verified fixed. Build: Mozilla /5.0 (Android;Linux armv7l;rv:11.0a1) Gecko/20111128 Firefox/11.0a1 Fennec/11.0a1 Device: LG Optimus 2X (Android 2.2)
Status: RESOLVED → VERIFIED
Updated•12 years ago
|
tracking-fennec: --- → 11+
Updated•12 years ago
|
status-firefox11:
--- → fixed
Updated•3 years ago
|
Product: Firefox for Android → Firefox for Android Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•