--- a/configure.in
+++ b/configure.in
@@ -3844,16 +3844,17 @@ MOZ_USE_NATIVE_POPUP_WINDOWS=
MOZ_ANDROID_HISTORY=
MOZ_WEBSMS_BACKEND=
MOZ_ANDROID_BEAM=
MOZ_LOCALE_SWITCHER=
MOZ_ANDROID_SEARCH_ACTIVITY=
MOZ_ANDROID_DOWNLOADS_INTEGRATION=
MOZ_ANDROID_MLS_STUMBLER=
MOZ_ANDROID_SHARE_OVERLAY=
+MOZ_ANDROID_NEW_TABLET_UI=
ACCESSIBILITY=1
MOZ_TIME_MANAGER=
MOZ_PAY=
MOZ_AUDIO_CHANNEL_MANAGER=
NSS_NO_LIBPKIX=
MOZ_CONTENT_SANDBOX=
MOZ_GMP_SANDBOX=
MOZ_SANDBOX=1
@@ -4904,16 +4905,24 @@ fi
dnl ========================================================
dnl = Include share overlay on Android
dnl ========================================================
if test -n "$MOZ_ANDROID_SHARE_OVERLAY"; then
AC_DEFINE(MOZ_ANDROID_SHARE_OVERLAY)
fi
dnl ========================================================
+dnl = Include New Tablet UI on Android
+dnl = Temporary build flag to allow development in Nightly
+dnl ========================================================
+if test -n "$MOZ_ANDROID_NEW_TABLET_UI"; then
+ AC_DEFINE(MOZ_ANDROID_NEW_TABLET_UI)
+fi
+
+dnl ========================================================
dnl = Enable IPDL's "expensive" unit tests
dnl ========================================================
MOZ_IPDL_TESTS=
MOZ_ARG_ENABLE_BOOL(ipdl-tests,
[ --enable-ipdl-tests Enable expensive IPDL tests],
MOZ_IPDL_TESTS=1,
MOZ_IPDL_TESTS=)
@@ -8512,16 +8521,17 @@ AC_SUBST(MOZ_METRO)
AC_SUBST(MOZ_ANDROID_HISTORY)
AC_SUBST(MOZ_WEBSMS_BACKEND)
AC_SUBST(MOZ_ANDROID_BEAM)
AC_SUBST(MOZ_LOCALE_SWITCHER)
AC_SUBST(MOZ_DISABLE_GECKOVIEW)
AC_SUBST(MOZ_ANDROID_SEARCH_ACTIVITY)
AC_SUBST(MOZ_ANDROID_SHARE_OVERLAY)
+AC_SUBST(MOZ_ANDROID_NEW_TABLET_UI)
AC_SUBST(MOZ_ANDROID_MLS_STUMBLER)
AC_SUBST(MOZ_ANDROID_DOWNLOADS_INTEGRATION)
AC_SUBST(ENABLE_STRIP)
AC_SUBST(PKG_SKIP_STRIP)
AC_SUBST(STRIP_FLAGS)
AC_SUBST(USE_ELF_HACK)
AC_SUBST(INCREMENTAL_LINKER)
AC_SUBST(MOZ_COMPONENTS_VERSION_SCRIPT_LDFLAGS)
--- a/mobile/android/base/moz.build
+++ b/mobile/android/base/moz.build
@@ -395,20 +395,16 @@ gbjar.sources += [
'tabs/RemoteTabsSetupPanel.java',
'tabs/RemoteTabsVerificationPanel.java',
'tabs/TabCurve.java',
'tabs/TabsGridLayout.java',
'tabs/TabsLayoutAdapter.java',
'tabs/TabsLayoutItemView.java',
'tabs/TabsListLayout.java',
'tabs/TabsPanel.java',
- 'tabs/TabStrip.java',
- 'tabs/TabStripAdapter.java',
- 'tabs/TabStripItemView.java',
- 'tabs/TabStripView.java',
'TabsAccessor.java',
'Telemetry.java',
'TelemetryContract.java',
'TextSelection.java',
'TextSelectionHandle.java',
'ThumbnailHelper.java',
'toolbar/AutocompleteHandler.java',
'toolbar/BackButton.java',
@@ -508,16 +504,30 @@ if CONFIG['MOZ_ANDROID_SHARE_OVERLAY']:
'overlays/ui/OverlayDialogButton.java',
'overlays/ui/OverlayToastHelper.java',
'overlays/ui/SendTabDeviceListArrayAdapter.java',
'overlays/ui/SendTabList.java',
'overlays/ui/SendTabTargetSelectedListener.java',
'overlays/ui/ShareDialog.java',
]
+if (CONFIG['MOZ_ANDROID_MAX_SDK_VERSION']):
+ max_sdk_version = int(CONFIG['MOZ_ANDROID_MAX_SDK_VERSION'])
+else:
+ max_sdk_version = 999
+
+if CONFIG['MOZ_ANDROID_NEW_TABLET_UI'] and max_sdk_version >= 11:
+ gbjar.sources += [
+ 'tabs/TabStrip.java',
+ 'tabs/TabStripAdapter.java',
+ 'tabs/TabStripItemView.java',
+ 'tabs/TabStripView.java'
+ ]
+ ANDROID_RES_DIRS += [ SRCDIR + '/newtablet/res' ]
+
gbjar.sources += sync_java_files
gbjar.generated_sources += sync_generated_java_files
gbjar.extra_jars = [
'gecko-R.jar',
'gecko-mozglue.jar',
'gecko-thirdparty.jar',
'gecko-util.jar',
'sync-thirdparty.jar',
@@ -614,17 +624,18 @@ ANDROID_RES_DIRS += [
ANDROID_GENERATED_RESFILES += [
'res/raw/suggestedsites.json',
'res/values/strings.xml',
]
for var in ('MOZ_ANDROID_ANR_REPORTER', 'MOZ_LINKER_EXTRACT', 'MOZILLA_OFFICIAL', 'MOZ_DEBUG',
'MOZ_ANDROID_SEARCH_ACTIVITY', 'MOZ_NATIVE_DEVICES', 'MOZ_ANDROID_MLS_STUMBLER',
- 'MOZ_ANDROID_SHARE_OVERLAY', 'MOZ_ANDROID_DOWNLOADS_INTEGRATION'):
+ 'MOZ_ANDROID_SHARE_OVERLAY', 'MOZ_ANDROID_DOWNLOADS_INTEGRATION',
+ 'MOZ_ANDROID_NEW_TABLET_UI'):
if CONFIG[var]:
DEFINES[var] = 1
for var in ('MOZ_UPDATER', 'MOZ_PKG_SPECIAL'):
if CONFIG[var]:
DEFINES[var] = CONFIG[var]
for var in ('ANDROID_PACKAGE_NAME', 'ANDROID_CPU_ARCH', 'CPU_ARCH',
rename from mobile/android/base/resources/color-large-v11/new_tablet_tab_strip_item_title.xml
rename to mobile/android/base/newtablet/res/color-large-v11/new_tablet_tab_strip_item_title.xml
rename from mobile/android/base/resources/drawable-large-hdpi-v11/new_tablet_default_favicon.png
rename to mobile/android/base/newtablet/res/drawable-large-hdpi-v11/new_tablet_default_favicon.png
rename from mobile/android/base/resources/drawable-large-hdpi-v11/new_tablet_ic_menu_back.png
rename to mobile/android/base/newtablet/res/drawable-large-hdpi-v11/new_tablet_ic_menu_back.png
rename from mobile/android/base/resources/drawable-large-hdpi-v11/new_tablet_ic_menu_forward.png
rename to mobile/android/base/newtablet/res/drawable-large-hdpi-v11/new_tablet_ic_menu_forward.png
rename from mobile/android/base/resources/drawable-large-hdpi-v11/new_tablet_ic_menu_reload.png
rename to mobile/android/base/newtablet/res/drawable-large-hdpi-v11/new_tablet_ic_menu_reload.png
rename from mobile/android/base/resources/drawable-large-hdpi-v11/new_tablet_menu.png
rename to mobile/android/base/newtablet/res/drawable-large-hdpi-v11/new_tablet_menu.png
rename from mobile/android/base/resources/drawable-large-hdpi-v11/new_tablet_tabs_count.png
rename to mobile/android/base/newtablet/res/drawable-large-hdpi-v11/new_tablet_tabs_count.png
rename from mobile/android/base/resources/drawable-large-hdpi-v11/new_tablet_tabs_count_foreground.png
rename to mobile/android/base/newtablet/res/drawable-large-hdpi-v11/new_tablet_tabs_count_foreground.png
rename from mobile/android/base/resources/drawable-large-mdpi-v11/new_tablet_default_favicon.png
rename to mobile/android/base/newtablet/res/drawable-large-mdpi-v11/new_tablet_default_favicon.png
rename from mobile/android/base/resources/drawable-large-mdpi-v11/new_tablet_ic_menu_back.png
rename to mobile/android/base/newtablet/res/drawable-large-mdpi-v11/new_tablet_ic_menu_back.png
rename from mobile/android/base/resources/drawable-large-mdpi-v11/new_tablet_ic_menu_forward.png
rename to mobile/android/base/newtablet/res/drawable-large-mdpi-v11/new_tablet_ic_menu_forward.png
rename from mobile/android/base/resources/drawable-large-mdpi-v11/new_tablet_ic_menu_reload.png
rename to mobile/android/base/newtablet/res/drawable-large-mdpi-v11/new_tablet_ic_menu_reload.png
rename from mobile/android/base/resources/drawable-large-mdpi-v11/new_tablet_menu.png
rename to mobile/android/base/newtablet/res/drawable-large-mdpi-v11/new_tablet_menu.png
rename from mobile/android/base/resources/drawable-large-mdpi-v11/new_tablet_tabs_count.png
rename to mobile/android/base/newtablet/res/drawable-large-mdpi-v11/new_tablet_tabs_count.png
rename from mobile/android/base/resources/drawable-large-mdpi-v11/new_tablet_tabs_count_foreground.png
rename to mobile/android/base/newtablet/res/drawable-large-mdpi-v11/new_tablet_tabs_count_foreground.png
rename from mobile/android/base/resources/drawable-large-v11/new_tablet_tab_strip_divider.xml
rename to mobile/android/base/newtablet/res/drawable-large-v11/new_tablet_tab_strip_divider.xml
rename from mobile/android/base/resources/drawable-large-v11/new_tablet_tab_strip_item_bg.xml
rename to mobile/android/base/newtablet/res/drawable-large-v11/new_tablet_tab_strip_item_bg.xml
rename from mobile/android/base/resources/drawable-large-xhdpi-v11/new_tablet_default_favicon.png
rename to mobile/android/base/newtablet/res/drawable-large-xhdpi-v11/new_tablet_default_favicon.png
rename from mobile/android/base/resources/drawable-large-xhdpi-v11/new_tablet_ic_menu_back.png
rename to mobile/android/base/newtablet/res/drawable-large-xhdpi-v11/new_tablet_ic_menu_back.png
rename from mobile/android/base/resources/drawable-large-xhdpi-v11/new_tablet_ic_menu_forward.png
rename to mobile/android/base/newtablet/res/drawable-large-xhdpi-v11/new_tablet_ic_menu_forward.png
rename from mobile/android/base/resources/drawable-large-xhdpi-v11/new_tablet_ic_menu_reload.png
rename to mobile/android/base/newtablet/res/drawable-large-xhdpi-v11/new_tablet_ic_menu_reload.png
rename from mobile/android/base/resources/drawable-large-xhdpi-v11/new_tablet_menu.png
rename to mobile/android/base/newtablet/res/drawable-large-xhdpi-v11/new_tablet_menu.png
rename from mobile/android/base/resources/drawable-large-xhdpi-v11/new_tablet_tabs_count.png
rename to mobile/android/base/newtablet/res/drawable-large-xhdpi-v11/new_tablet_tabs_count.png
rename from mobile/android/base/resources/drawable-large-xhdpi-v11/new_tablet_tabs_count_foreground.png
rename to mobile/android/base/newtablet/res/drawable-large-xhdpi-v11/new_tablet_tabs_count_foreground.png
rename from mobile/android/base/resources/drawable-large-xxhdpi-v11/new_tablet_default_favicon.png
rename to mobile/android/base/newtablet/res/drawable-large-xxhdpi-v11/new_tablet_default_favicon.png
rename from mobile/android/base/resources/drawable-large-xxhdpi-v11/new_tablet_ic_menu_back.png
rename to mobile/android/base/newtablet/res/drawable-large-xxhdpi-v11/new_tablet_ic_menu_back.png
rename from mobile/android/base/resources/drawable-large-xxhdpi-v11/new_tablet_ic_menu_forward.png
rename to mobile/android/base/newtablet/res/drawable-large-xxhdpi-v11/new_tablet_ic_menu_forward.png
rename from mobile/android/base/resources/drawable-large-xxhdpi-v11/new_tablet_ic_menu_reload.png
rename to mobile/android/base/newtablet/res/drawable-large-xxhdpi-v11/new_tablet_ic_menu_reload.png
rename from mobile/android/base/resources/drawable-large-xxhdpi-v11/new_tablet_menu.png
rename to mobile/android/base/newtablet/res/drawable-large-xxhdpi-v11/new_tablet_menu.png
rename from mobile/android/base/resources/drawable-large-xxhdpi-v11/new_tablet_tabs_count.png
rename to mobile/android/base/newtablet/res/drawable-large-xxhdpi-v11/new_tablet_tabs_count.png
rename from mobile/android/base/resources/drawable-large-xxhdpi-v11/new_tablet_tabs_count_foreground.png
rename to mobile/android/base/newtablet/res/drawable-large-xxhdpi-v11/new_tablet_tabs_count_foreground.png
rename from mobile/android/base/resources/layout-large-v11/new_tablet_browser_toolbar.xml
rename to mobile/android/base/newtablet/res/layout-large-v11/new_tablet_browser_toolbar.xml
rename from mobile/android/base/resources/layout-large-v11/new_tablet_tab_strip.xml
rename to mobile/android/base/newtablet/res/layout-large-v11/new_tablet_tab_strip.xml
rename from mobile/android/base/resources/layout-large-v11/new_tablet_tabs_counter.xml
rename to mobile/android/base/newtablet/res/layout-large-v11/new_tablet_tabs_counter.xml
rename from mobile/android/base/resources/layout-large-v11/tab_strip.xml
rename to mobile/android/base/newtablet/res/layout-large-v11/tab_strip.xml
rename from mobile/android/base/resources/layout-large-v11/tab_strip_item.xml
rename to mobile/android/base/newtablet/res/layout-large-v11/tab_strip_item.xml
rename from mobile/android/base/resources/layout-large-v11/tab_strip_item_view.xml
rename to mobile/android/base/newtablet/res/layout-large-v11/tab_strip_item_view.xml
--- a/mobile/android/base/resources/values-large-v11/dimens.xml
+++ b/mobile/android/base/resources/values-large-v11/dimens.xml
@@ -7,17 +7,12 @@
<dimen name="browser_toolbar_height">56dp</dimen>
<dimen name="browser_toolbar_button_padding">16dp</dimen>
<!-- If you update one of these values, update the other. -->
<dimen name="back_button_width">42dp</dimen>
<dimen name="back_button_width_half">21dp</dimen>
- <dimen name="forward_default_offset">-13dip</dimen>
- <dimen name="new_tablet_forward_default_offset">-6dp</dimen>
-
- <dimen name="new_tablet_browser_toolbar_menu_item_padding">19dp</dimen>
-
<dimen name="tabs_counter_size">26sp</dimen>
<dimen name="panel_grid_view_column_width">200dp</dimen>
</resources>
--- a/mobile/android/base/resources/values-large-v11/themes.xml
+++ b/mobile/android/base/resources/values-large-v11/themes.xml
@@ -9,13 +9,14 @@
Base application theme. This could be overridden by GeckoBaseTheme
in other res/values-XXX/themes.xml.
-->
<style name="GeckoBase" parent="@android:style/Theme.Holo.Light">
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowActionBar">false</item>
<item name="android:windowNoTitle">true</item>
<item name="arrowPopupWidth">400dp</item>
+ <item name="menuItemActionBarStyleNewTablet">@style/Widget.MenuItemActionBar.NewTablet</item>
</style>
<style name="GeckoStartPane" parent="Gecko.Dialog"/>
</resources>
--- a/mobile/android/base/resources/values/dimens.xml
+++ b/mobile/android/base/resources/values/dimens.xml
@@ -16,16 +16,19 @@
specify the actual size) because that would decrease the size of our hit target. -->
<dimen name="browser_toolbar_favicon_size">21.33dip</dimen>
<dimen name="browser_toolbar_shadow_size">2dp</dimen>
<dimen name="new_tablet_tab_strip_height">48dp</dimen>
<dimen name="new_tablet_tab_strip_item_width">250dp</dimen>
<dimen name="new_tablet_tab_strip_item_margin">-30dp</dimen>
<dimen name="new_tablet_tab_strip_favicon_size">-30dp</dimen>
+ <dimen name="new_tablet_forward_default_offset">-6dp</dimen>
+ <dimen name="new_tablet_browser_toolbar_menu_item_padding">19dp</dimen>
+ <dimen name="forward_default_offset">-13dip</dimen>
<!-- Dimensions used by Favicons and FaviconView -->
<dimen name="favicon_size_small">16dp</dimen>
<dimen name="favicon_size_large">32dp</dimen>
<dimen name="favicon_bg">32dp</dimen>
<dimen name="favicon_bg_radius">1dp</dimen>
<!-- Set the upper limit on the size of favicon that will be processed. Favicons larger than
this will be downscaled to this value. If you need to use larger Favicons (Due to a UI
--- a/mobile/android/base/resources/values/themes.xml
+++ b/mobile/android/base/resources/values/themes.xml
@@ -88,17 +88,16 @@
<item name="android:spinnerStyle">@style/Widget.Spinner</item>
<item name="android:windowBackground">@android:color/white</item>
<item name="bookmarksListViewStyle">@style/Widget.BookmarksListView</item>
<item name="floatingHintEditTextStyle">@style/FloatingHintEditText</item>
<item name="tabGridLayoutViewStyle">@style/Widget.TabsGridLayout</item>
<item name="geckoMenuListViewStyle">@style/Widget.GeckoMenuListView</item>
<item name="homeListViewStyle">@style/Widget.HomeListView</item>
<item name="menuItemActionBarStyle">@style/Widget.MenuItemActionBar</item>
- <item name="menuItemActionBarStyleNewTablet">@style/Widget.MenuItemActionBar.NewTablet</item>
<item name="menuItemActionModeStyle">@style/GeckoActionBar.Button</item>
<item name="menuItemShareActionButtonStyle">@style/Widget.MenuItemSecondaryActionBar</item>
<item name="panelGridViewStyle">@style/Widget.PanelGridView</item>
<item name="topSitesGridItemViewStyle">@style/Widget.TopSitesGridItemView</item>
<item name="topSitesGridViewStyle">@style/Widget.TopSitesGridView</item>
<item name="topSitesThumbnailViewStyle">@style/Widget.TopSitesThumbnailView</item>
</style>
--- a/mobile/android/confvars.sh
+++ b/mobile/android/confvars.sh
@@ -76,16 +76,22 @@ MOZ_WEBGL_CONFORMANT=1
# Enable the Search Activity in nightly.
if test "$NIGHTLY_BUILD"; then
MOZ_ANDROID_SEARCH_ACTIVITY=1
else
MOZ_ANDROID_SEARCH_ACTIVITY=
fi
+# Enable the new tablet UI in pre-release builds
+# if the max Android sdk is undefined or at least 11.
+if test ! "$RELEASE_BUILD"; then
+ MOZ_ANDROID_NEW_TABLET_UI=1
+fi
+
# Enable the share handler in pre-release builds.
if test ! "$RELEASE_BUILD"; then
MOZ_ANDROID_SHARE_OVERLAY=1
fi
# Enable the Mozilla Location Service stumbler in Nightly.
if test "$NIGHTLY_BUILD"; then
MOZ_ANDROID_MLS_STUMBLER=1