From 774899a93bd39340b6e2bd527bb0cbb8374c9a7a Mon Sep 17 00:00:00 2001 From: Lucas Rocha Date: Wed, 13 Aug 2014 19:30:07 +0100 Subject: [PATCH 001/109] Bug 1046200 - Introduce NewTabletUI utility API (r=mcomella) --- mobile/android/base/NewTabletUI.java | 32 ++++++++++++++++++++++++++++ mobile/android/base/moz.build | 1 + 2 files changed, 33 insertions(+) create mode 100644 mobile/android/base/NewTabletUI.java diff --git a/mobile/android/base/NewTabletUI.java b/mobile/android/base/NewTabletUI.java new file mode 100644 index 000000000000..a468c38d7334 --- /dev/null +++ b/mobile/android/base/NewTabletUI.java @@ -0,0 +1,32 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +package org.mozilla.gecko; + +import android.content.Context; +import android.content.SharedPreferences; + +import org.mozilla.gecko.preferences.GeckoPreferences; +import org.mozilla.gecko.util.HardwareUtils; + +public class NewTabletUI { + // XXX: Change default value to false before merging to m-c. + // This value should be in sync with preferences_display.xml. + private static final boolean DEFAULT = true; + + private static Boolean sNewTabletUI; + + public static synchronized boolean isEnabled(Context context) { + if (!HardwareUtils.isTablet()) { + return false; + } + + if (sNewTabletUI == null) { + final SharedPreferences prefs = GeckoSharedPrefs.forApp(context); + sNewTabletUI = prefs.getBoolean(GeckoPreferences.PREFS_NEW_TABLET_UI, DEFAULT); + } + + return sNewTabletUI; + } +} \ No newline at end of file diff --git a/mobile/android/base/moz.build b/mobile/android/base/moz.build index 8fc14bdcfd44..b77975af6d5a 100644 --- a/mobile/android/base/moz.build +++ b/mobile/android/base/moz.build @@ -328,6 +328,7 @@ gbjar.sources += [ 'menu/MenuPanel.java', 'menu/MenuPopup.java', 'MotionEventInterceptor.java', + 'NewTabletUI.java', 'NotificationClient.java', 'NotificationHandler.java', 'NotificationHelper.java', From 92bc904ee166c900da1fa55e9da826c191d0b189 Mon Sep 17 00:00:00 2001 From: Lucas Rocha Date: Thu, 14 Aug 2014 14:51:30 +0100 Subject: [PATCH 002/109] Bug 1053252 - Change package name for larch so it can be installed beside Nightly (r=margaret) --- mobile/android/branding/nightly/configure.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mobile/android/branding/nightly/configure.sh b/mobile/android/branding/nightly/configure.sh index 95f2a36158ce..2da058e9382b 100644 --- a/mobile/android/branding/nightly/configure.sh +++ b/mobile/android/branding/nightly/configure.sh @@ -2,6 +2,7 @@ # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. -MOZ_APP_DISPLAYNAME=Nightly +ANDROID_PACKAGE_NAME=org.mozilla.fennec_larch +MOZ_APP_DISPLAYNAME=Larch Nightly MOZ_UPDATER=1 MOZ_ANDROID_ANR_REPORTER=1 From f40a6b4462efa9ea5985ab70f8b71a5f238793ea Mon Sep 17 00:00:00 2001 From: Lucas Rocha Date: Thu, 14 Aug 2014 15:15:57 +0100 Subject: [PATCH 003/109] Bug 1046200 - Define missing pref key constant in GeckoPreferences (r=mcomella) --- mobile/android/base/preferences/GeckoPreferences.java | 1 + 1 file changed, 1 insertion(+) diff --git a/mobile/android/base/preferences/GeckoPreferences.java b/mobile/android/base/preferences/GeckoPreferences.java index 449950366a90..53b983229971 100644 --- a/mobile/android/base/preferences/GeckoPreferences.java +++ b/mobile/android/base/preferences/GeckoPreferences.java @@ -123,6 +123,7 @@ OnSharedPreferenceChangeListener public static final String PREFS_RESTORE_SESSION = NON_PREF_PREFIX + "restoreSession3"; public static final String PREFS_SUGGESTED_SITES = NON_PREF_PREFIX + "home_suggested_sites"; + public static final String PREFS_NEW_TABLET_UI = NON_PREF_PREFIX + "new_tablet_ui"; // These values are chosen to be distinct from other Activity constants. private static final int REQUEST_CODE_PREF_SCREEN = 5; From 9c95f917e738eea3818b753c3e6bb63692e67b6a Mon Sep 17 00:00:00 2001 From: Lucas Rocha Date: Fri, 15 Aug 2014 10:50:42 +0100 Subject: [PATCH 004/109] Bug 1047561 - Add UI to enable/disable the new tablet UI (r=mcomella) --- mobile/android/base/preferences/GeckoPreferences.java | 8 ++++++++ mobile/android/base/resources/xml/preferences_display.xml | 6 ++++++ mobile/android/base/tests/StringHelper.java | 1 + mobile/android/base/tests/testSettingsMenuItems.java | 4 ++++ 4 files changed, 19 insertions(+) diff --git a/mobile/android/base/preferences/GeckoPreferences.java b/mobile/android/base/preferences/GeckoPreferences.java index 53b983229971..2a4e141c1f3d 100644 --- a/mobile/android/base/preferences/GeckoPreferences.java +++ b/mobile/android/base/preferences/GeckoPreferences.java @@ -663,6 +663,12 @@ OnSharedPreferenceChangeListener preferences.removePreference(pref); i--; continue; + } else if (AppConstants.RELEASE_BUILD && + PREFS_NEW_TABLET_UI.equals(key)) { + // Remove toggle for new tablet UI on release builds. + preferences.removePreference(pref); + i--; + continue; } else if (!AppConstants.MOZ_TELEMETRY_REPORTING && PREFS_TELEMETRY_ENABLED.equals(key)) { preferences.removePreference(pref); @@ -977,6 +983,8 @@ OnSharedPreferenceChangeListener sharedPreferences.getString(key, null)); } else if (PREFS_SUGGESTED_SITES.equals(key)) { refreshSuggestedSites(); + } else if (PREFS_NEW_TABLET_UI.equals(key)) { + Toast.makeText(this, "Restart the browser for the changes to take effect", Toast.LENGTH_SHORT).show(); } } diff --git a/mobile/android/base/resources/xml/preferences_display.xml b/mobile/android/base/resources/xml/preferences_display.xml index 50f6f8cddbc4..88f6fd21d871 100644 --- a/mobile/android/base/resources/xml/preferences_display.xml +++ b/mobile/android/base/resources/xml/preferences_display.xml @@ -25,6 +25,12 @@ android:title="@string/pref_scroll_title_bar2" android:summary="@string/pref_scroll_title_bar_summary" /> + + + Date: Wed, 27 Aug 2014 15:33:58 -0700 Subject: [PATCH 005/109] Bug 1046203 - Part 0: Add basic new_tablet BrowserToolbar resources. r=lucasr --- .../drawable-hdpi/new_tablet_tabs_count.png | Bin 0 -> 324 bytes .../new_tablet_tabs_count_foreground.png | Bin 0 -> 350 bytes .../drawable-mdpi/new_tablet_tabs_count.png | Bin 0 -> 270 bytes .../new_tablet_tabs_count_foreground.png | Bin 0 -> 285 bytes .../drawable-xhdpi/new_tablet_tabs_count.png | Bin 0 -> 304 bytes .../new_tablet_tabs_count_foreground.png | Bin 0 -> 351 bytes .../new_tablet_browser_toolbar.xml | 113 ++++++++++++++++++ .../layout/new_tablet_tabs_counter.xml | 16 +++ .../android/base/resources/values/styles.xml | 4 + 9 files changed, 133 insertions(+) create mode 100644 mobile/android/base/resources/drawable-hdpi/new_tablet_tabs_count.png create mode 100644 mobile/android/base/resources/drawable-hdpi/new_tablet_tabs_count_foreground.png create mode 100644 mobile/android/base/resources/drawable-mdpi/new_tablet_tabs_count.png create mode 100644 mobile/android/base/resources/drawable-mdpi/new_tablet_tabs_count_foreground.png create mode 100644 mobile/android/base/resources/drawable-xhdpi/new_tablet_tabs_count.png create mode 100644 mobile/android/base/resources/drawable-xhdpi/new_tablet_tabs_count_foreground.png create mode 100644 mobile/android/base/resources/layout-large-v11/new_tablet_browser_toolbar.xml create mode 100644 mobile/android/base/resources/layout/new_tablet_tabs_counter.xml diff --git a/mobile/android/base/resources/drawable-hdpi/new_tablet_tabs_count.png b/mobile/android/base/resources/drawable-hdpi/new_tablet_tabs_count.png new file mode 100644 index 0000000000000000000000000000000000000000..9de6aa137e34eb795c056fadf82357f332582a49 GIT binary patch literal 324 zcmeAS@N?(olHy`uVBq!ia0vp^Dj>|k1|%Oc%$NbB*pj^6T^Rm@;DWu&Cj&(|3p^r= z85p>QL70(Y)*K0-AbW|YuPggK4i<4yqrE>lIeH#Np((aX^F-A2djdw_pt_ERMlfOHCyOrVV}aGGX1^U&Vs`;x;yOU zxBpCPuoSa6nBwlJ2HGJmJ8&BI_Ui&HYyy945 z^_Sc><2Nk3GSW*LtnctMWNmm^_0jCb7S^*ypPzkhe)H*Fd)6n}g8LHoYZufee~Gxn zsuj@46|#Uy^u_+BxZ`Y9S=-kyW{gcXz3{AV#{8Wf7F`|5p`oEyEq*b4+pG0?n~JR$ P&~pr)u6{1-oD!M<8+(EI literal 0 HcmV?d00001 diff --git a/mobile/android/base/resources/drawable-hdpi/new_tablet_tabs_count_foreground.png b/mobile/android/base/resources/drawable-hdpi/new_tablet_tabs_count_foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..e5e9273cbb90b2468186cc6c8c3c00043b003dc0 GIT binary patch literal 350 zcmeAS@N?(olHy`uVBq!ia0vp^Dj>|k1|%Oc%$NbB*pj^6T^Rm@;DWu&Cj&(|3p^r= z85p>QL70(Y)*K0-AbW|YuPggK4i<4yhElzV4xrF$PZ!6Kh{JEM@AYDK6k)rt`R0%2 ztGBp63)wY9aO_*!`mK^(S9gtW3wPN{A#UNG$l0QcdM9s~*zx(GS@q4`>1ng9rvO2X zuh+})-{CXmV;{)m^0%oT+tJGyse))U#}jHrX<}VcE{d@7NZ%IT}tJI=48#tK<5z%y|VpZ0U&`3#k($!HU@x`Fp8rfUSj!s@ m&uRTLq5OpEK)}8d>LDTJs#}Z3a(QKbLh*2~7aj)Q>m- literal 0 HcmV?d00001 diff --git a/mobile/android/base/resources/drawable-mdpi/new_tablet_tabs_count.png b/mobile/android/base/resources/drawable-mdpi/new_tablet_tabs_count.png new file mode 100644 index 0000000000000000000000000000000000000000..1b02a5bad770b6faf51540ba4cc0687985c7617e GIT binary patch literal 270 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjY)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYYs>cdx@v7EBieT7I87=<6Kc6fkLxAT^vI^j=!C{k@t{+fNQ+WlrAgg zB}rYYC6%jFxTY;gZk$rj;5BW*LKaOy6SqxD9Zm%qA6BpV{Bz#ApKSdz4X1D1esi;< zP+AyMbb@VS9$QRf^ODmm4tQ%VV2p{FuVBgCyX5xjw$OrgjWQXHm)R%ry|^FS*2Mcj z{4wU={!X literal 0 HcmV?d00001 diff --git a/mobile/android/base/resources/drawable-mdpi/new_tablet_tabs_count_foreground.png b/mobile/android/base/resources/drawable-mdpi/new_tablet_tabs_count_foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..51248bea245fe37c749bd2657f601d304061707c GIT binary patch literal 285 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjY)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYYs>cdx@v7EBieT7I9Ht?)fUFK%rHhE{-7{$KOuf$a}~@z*U}a4a3rC zm1POS(-M2nIGofG@z}3ox~Pk}S6P+ynA%2`N&8EBpYHzdzv<7y7wV~N=dP_6+_8nd z%wf90Z@xLIrq`lWSQ*t9c$(zzdAWE=cKruG-48xG&&}<4I*V5`Z?j}vyi@Iaw@w4o zkK%^e2G@@==*8z{)Vz0h;I(Psif|2kTKy_Pj)y6kH>V+W$#1b8U+?c(VzbiBRB-Ya ZrmX+^l38a|lYy>g@O1TaS?83{1OTV$WBULA literal 0 HcmV?d00001 diff --git a/mobile/android/base/resources/drawable-xhdpi/new_tablet_tabs_count.png b/mobile/android/base/resources/drawable-xhdpi/new_tablet_tabs_count.png new file mode 100644 index 0000000000000000000000000000000000000000..8c58435e54e677e11dca78d63cd0024020bb1ee6 GIT binary patch literal 304 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCwj^(N7l!{JxM1({$v_d#0*}aI z1_o|n5N2eUHAey{$X?><>&kwQgGF3aZMpK@QlQXYPZ!6KjC*gd?B#88ka75^Zm2db zDsTt0^c>dL78A60FtoOI{%5^&u#4AcjZQC%RLCLK_od}e4*l)pH~78k=!MoPm!wuS za%nVPm4A1i>3YYGKOz%?ZZWba7+-XpcTB0Paq|44&kVmea(B<$S@q~FbIx(Sm~Ur7 z=YEvTPXM7pO>?V=S nN{`rN8msfxPo4<`sn@vgGAkBFRA$WrdW6B#)z4*}Q$iB}4B~LC literal 0 HcmV?d00001 diff --git a/mobile/android/base/resources/drawable-xhdpi/new_tablet_tabs_count_foreground.png b/mobile/android/base/resources/drawable-xhdpi/new_tablet_tabs_count_foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..a0c0d2ff429ea8d8707ca5744ed404fb6e848d8d GIT binary patch literal 351 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCwj^(N7l!{JxM1({$v_d#0*}aI z1_o|n5N2eUHAey{$X?><>&kwQgGF4#!0Sz9Dp2T+r;B4q#=W;U7WN%-5OI5W*y$2) z+v*L<*BOO)nGS9ih-aG7i+mG}PS)q#e))IOwU_`e&81Va zVwS&SKDU!~1Is4<^I?pv6PT^v|NVK@_wKIcvu^(4KFs{3f$;;o&)FP#CkxyAUoJm* zpmS(?(t%T!*YlYLw3*X1nHkhpGPkW{-gJeLL!p6z35l3sw4lo(|0>&p4i1f53{M0Z zE2SG`1KcF`?b-i(;jPnm1r8lO!*_t=$KOXEq~HJj_|s|m%g*nvuVo~PZ_h}T|B=Z3 jK>o(Q==Iu5h2C>jcxX-j; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/mobile/android/base/resources/layout/new_tablet_tabs_counter.xml b/mobile/android/base/resources/layout/new_tablet_tabs_counter.xml new file mode 100644 index 000000000000..bb5983b4322c --- /dev/null +++ b/mobile/android/base/resources/layout/new_tablet_tabs_counter.xml @@ -0,0 +1,16 @@ + + + + diff --git a/mobile/android/base/resources/values/styles.xml b/mobile/android/base/resources/values/styles.xml index a896fcc07b3a..0a68ab10f30f 100644 --- a/mobile/android/base/resources/values/styles.xml +++ b/mobile/android/base/resources/values/styles.xml @@ -417,6 +417,10 @@ false + + - - -