Bug 1044334 - Part 2: conditionalize access to, and stub out, Tools and Page menus that only exist in v11+. r=lucasr

This commit is contained in:
Richard Newman 2014-09-08 21:32:46 -07:00
Родитель 3d9b54f52c
Коммит 84231ccb5b
2 изменённых файлов: 32 добавлений и 6 удалений

Просмотреть файл

@ -2270,8 +2270,13 @@ public class BrowserApp extends GeckoApp
if (info.parent == 0) {
destination = menu;
} else if (info.parent == GECKO_TOOLS_MENU) {
MenuItem tools = menu.findItem(R.id.tools);
destination = tools != null ? tools.getSubMenu() : menu;
// The tools menu only exists in our -v11 resources.
if (Versions.feature11Plus) {
MenuItem tools = menu.findItem(R.id.tools);
destination = tools != null ? tools.getSubMenu() : menu;
} else {
destination = menu;
}
} else {
MenuItem parent = menu.findItem(info.parent);
if (parent == null) {
@ -2519,8 +2524,11 @@ public class BrowserApp extends GeckoApp
findInPage.setEnabled(false);
// NOTE: Use MenuUtils.safeSetEnabled because some actions might
// be on the BrowserToolbar context menu
MenuUtils.safeSetEnabled(aMenu, R.id.page, false);
// be on the BrowserToolbar context menu.
if (Versions.feature11Plus) {
// There is no page menu prior to v11 resources.
MenuUtils.safeSetEnabled(aMenu, R.id.page, false);
}
MenuUtils.safeSetEnabled(aMenu, R.id.subscribe, false);
MenuUtils.safeSetEnabled(aMenu, R.id.add_search_engine, false);
MenuUtils.safeSetEnabled(aMenu, R.id.site_settings, false);
@ -2557,8 +2565,10 @@ public class BrowserApp extends GeckoApp
MenuUtils.safeSetEnabled(aMenu, R.id.downloads, !inGuestMode);
// NOTE: Use MenuUtils.safeSetEnabled because some actions might
// be on the BrowserToolbar context menu
MenuUtils.safeSetEnabled(aMenu, R.id.page, !isAboutHome(tab));
// be on the BrowserToolbar context menu.
if (Versions.feature11Plus) {
MenuUtils.safeSetEnabled(aMenu, R.id.page, !isAboutHome(tab));
}
MenuUtils.safeSetEnabled(aMenu, R.id.subscribe, tab.hasFeeds());
MenuUtils.safeSetEnabled(aMenu, R.id.add_search_engine, tab.hasOpenSearch());
MenuUtils.safeSetEnabled(aMenu, R.id.site_settings, !isAboutHome(tab));

Просмотреть файл

@ -71,4 +71,20 @@
android:icon="@drawable/ic_menu_guest"
android:visible="false"
android:title="@string/exit_guest_session"/>
<!-- Android will eliminate v11+ resource files from pre-11 builds.
Those files are the only place in which certain IDs are defined.
This causes compilation errors.
To avoid nasty code workarounds, we define stub IDs here, but
hide the menu entries. -->
<item android:id="@+id/page"
android:visible="false"
android:enabled="false"
android:title="@string/page" />
<item android:id="@+id/tools"
android:visible="false"
android:enabled="false"
android:title="@string/tools" />
</menu>