Details
-
Type: Bug
-
Status: Resolved
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: 1.1 Final
-
Fix Version/s: 1.3 Beta
-
Component/s: Containers
-
Labels:None
-
Environment:n/a
Description
The positioning of the container's svg progress icon/bar is problematic. Being placed in the top right corner prevents developers from using a button or link in the top right hand corner, which is a common mobile layout pattern.
-
Hide
- ICEmobileContainer-debug.apk
- 521 kB
- Steve Maryka
-
- assets/icefaces/native-interface.js 12 kB
- res/drawable/launcher_icon.png 2 kB
- res/drawable/share_via_barcode.png 3 kB
- res/drawable/shopper_icon.png 2 kB
- res/layout/auth_dialog.xml 1 kB
- res/layout/bookmark_picker_list_item.xml 0.8 kB
- res/layout/capture.xml 6 kB
- res/layout/encode.xml 1 kB
- res/layout/help.xml 1 kB
- res/layout/main.xml 0.8 kB
- res/layout/network.xml 0.7 kB
- res/layout/search_book_contents.xml 1 kB
- res/.../search_book_contents_header.xml 0.6 kB
- res/.../search_book_contents_list_item.xml 1 kB
- res/layout/share.xml 2 kB
- res/menu/dev_menu.xml 0.9 kB
- res/raw/beep.ogg 6 kB
- res/xml/preferences.xml 2 kB
- AndroidManifest.xml 7 kB
- resources.arsc 18 kB
- res/drawable-hdpi/c2dm_icon.png 0.3 kB
- res/drawable-hdpi/clear_cookies.png 5 kB
- res/drawable-hdpi/ic_menu_back.png 2 kB
- res/drawable-hdpi/ic_menu_forward.png 2 kB
- res/drawable-hdpi/ic_menu_manage.png 2 kB
- res/drawable-hdpi/ic_menu_refresh.png 3 kB
- res/drawable-hdpi/ic_menu_stop.png 2 kB
- res/drawable-hdpi/icon.png 4 kB
- res/drawable-hdpi/launcher_icon.png 4 kB
- res/drawable-hdpi/shopper_icon.png 3 kB
Activity
- All
- Comments
- History
- Activity
- Remote Attachments
- Subversion
The attached APK contains a prototype of a status bar overlay for Android container. It seems pretty effective, but there are some obvious questions:
Where should we put it? Should its position be configurable from the page?
I tried making it disappear after the page loaded, but that seemed more distracting.
I have not checked anything in at this point, as we should decide where to go with this.
Android implementation complete, so passing along for iOS work. Android uses an overlay progress bar at the bottom of the header area to show progress for all network interactions.
Changes are checked in to r34370.
iOS implementation is complete, making use of a thin progress bar just below the status icons. To override this implementation and customize via ice.progress, return true from a custom ice.progress implementation.
Blackberry OS6 version will not be completed.
- Navigation and connection management in the existing container are handled through the BrowserFieldConnectionManager and BrowserFieldCookieManager classes. These objects do not expose any IO stream for the purposes of duplicating the Android writing or reading input stream.
- It is possible to duplicate this structure if you take over handling the socket connections, but that exposes you to the inane world of Blackberry connection management which is beyond the scope of this container.
A document describing this world can be found here: http://supportforums.blackberry.com/t5/Java-Development/Different-ways-to-make-an-HTTP-or-socket-connection/ta-p/445879
- There is a BrowserField onDocumentProgress callback, but it is poorly behaved in an Ajax environment. Progress events are received, but no onDocumentLoaded event to conclude the download is received. If an updated region contains multiple resources, the progress events are impossible to consolidate into any meaningful 'update'
Worth considering for 1.3 if time permits.