Bug 1288256 - Part 3: update BrowserApp to use HomeScreen interface instead of

HomePager r=sebastian

MozReview-Commit-ID: 7h6s6ewfSOu

--HG--
extra : rebase_source : 5ac3207b8030cdfcd282fccd14656b55782168a3
This commit is contained in:
Andrzej Hunt 2016-07-21 08:48:11 -07:00
Родитель 92918007b3
Коммит 12a3fc81a8
1 изменённых файлов: 16 добавлений и 15 удалений

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

@ -50,6 +50,7 @@ import org.mozilla.gecko.home.HomePager;
import org.mozilla.gecko.home.HomePager.OnUrlOpenInBackgroundListener; import org.mozilla.gecko.home.HomePager.OnUrlOpenInBackgroundListener;
import org.mozilla.gecko.home.HomePager.OnUrlOpenListener; import org.mozilla.gecko.home.HomePager.OnUrlOpenListener;
import org.mozilla.gecko.home.HomePanelsManager; import org.mozilla.gecko.home.HomePanelsManager;
import org.mozilla.gecko.home.HomeScreen;
import org.mozilla.gecko.home.SearchEngine; import org.mozilla.gecko.home.SearchEngine;
import org.mozilla.gecko.javaaddons.JavaAddonManager; import org.mozilla.gecko.javaaddons.JavaAddonManager;
import org.mozilla.gecko.media.AudioFocusAgent; import org.mozilla.gecko.media.AudioFocusAgent;
@ -237,7 +238,7 @@ public class BrowserApp extends GeckoApp
private TabStripInterface mTabStrip; private TabStripInterface mTabStrip;
private ToolbarProgressView mProgressView; private ToolbarProgressView mProgressView;
private FirstrunAnimationContainer mFirstrunAnimationContainer; private FirstrunAnimationContainer mFirstrunAnimationContainer;
private HomePager mHomePager; private HomeScreen mHomeScreen;
private TabsPanel mTabsPanel; private TabsPanel mTabsPanel;
/** /**
* Container for the home screen implementation. This will be populated with any valid * Container for the home screen implementation. This will be populated with any valid
@ -639,14 +640,14 @@ public class BrowserApp extends GeckoApp
// If we get a gamepad panning MotionEvent while the focus is not on the layerview, // If we get a gamepad panning MotionEvent while the focus is not on the layerview,
// put the focus on the layerview and carry on // put the focus on the layerview and carry on
if (mLayerView != null && !mLayerView.hasFocus() && GamepadUtils.isPanningControl(event)) { if (mLayerView != null && !mLayerView.hasFocus() && GamepadUtils.isPanningControl(event)) {
if (mHomePager == null) { if (mHomeScreen == null) {
return false; return false;
} }
if (isHomePagerVisible()) { if (isHomePagerVisible()) {
mLayerView.requestFocus(); mLayerView.requestFocus();
} else { } else {
mHomePager.requestFocus(); mHomeScreen.requestFocus();
} }
} }
return false; return false;
@ -1157,7 +1158,7 @@ public class BrowserApp extends GeckoApp
@Override @Override
public void onFocusChange(View v, boolean hasFocus) { public void onFocusChange(View v, boolean hasFocus) {
if (isHomePagerVisible()) { if (isHomePagerVisible()) {
mHomePager.onToolbarFocusChange(hasFocus); mHomeScreen.onToolbarFocusChange(hasFocus);
} }
} }
}); });
@ -2296,7 +2297,7 @@ public class BrowserApp extends GeckoApp
} }
private boolean isHomePagerVisible() { private boolean isHomePagerVisible() {
return (mHomePager != null && mHomePager.isVisible() return (mHomeScreen != null && mHomeScreen.isVisible()
&& mHomeScreenContainer != null && mHomeScreenContainer.getVisibility() == View.VISIBLE); && mHomeScreenContainer != null && mHomeScreenContainer.getVisibility() == View.VISIBLE);
} }
@ -2666,7 +2667,7 @@ public class BrowserApp extends GeckoApp
private void showHomePagerWithAnimator(String panelId, Bundle panelRestoreData, PropertyAnimator animator) { private void showHomePagerWithAnimator(String panelId, Bundle panelRestoreData, PropertyAnimator animator) {
if (isHomePagerVisible()) { if (isHomePagerVisible()) {
// Home pager already visible, make sure it shows the correct panel. // Home pager already visible, make sure it shows the correct panel.
mHomePager.showPanel(panelId, panelRestoreData); mHomeScreen.showPanel(panelId, panelRestoreData);
return; return;
} }
@ -2685,11 +2686,11 @@ public class BrowserApp extends GeckoApp
mDynamicToolbar.setVisible(true, VisibilityTransition.IMMEDIATE); mDynamicToolbar.setVisible(true, VisibilityTransition.IMMEDIATE);
} }
if (mHomePager == null) { if (mHomeScreen == null) {
final ViewStub homePagerStub = (ViewStub) findViewById(R.id.home_pager_stub); final ViewStub homePagerStub = (ViewStub) findViewById(R.id.home_pager_stub);
mHomePager = (HomePager) homePagerStub.inflate(); mHomeScreen = (HomePager) homePagerStub.inflate();
mHomePager.setOnPanelChangeListener(new HomePager.OnPanelChangeListener() { mHomeScreen.setOnPanelChangeListener(new HomeScreen.OnPanelChangeListener() {
@Override @Override
public void onPanelSelected(String panelId) { public void onPanelSelected(String panelId) {
final Tab currentTab = Tabs.getInstance().getSelectedTab(); final Tab currentTab = Tabs.getInstance().getSelectedTab();
@ -2700,7 +2701,7 @@ public class BrowserApp extends GeckoApp
}); });
// Set this listener to persist restore data (via the Tab) every time panel state changes. // Set this listener to persist restore data (via the Tab) every time panel state changes.
mHomePager.setPanelStateChangeListener(new HomeFragment.PanelStateChangeListener() { mHomeScreen.setPanelStateChangeListener(new HomeFragment.PanelStateChangeListener() {
@Override @Override
public void onStateChanged(Bundle bundle) { public void onStateChanged(Bundle bundle) {
final Tab currentTab = Tabs.getInstance().getSelectedTab(); final Tab currentTab = Tabs.getInstance().getSelectedTab();
@ -2714,13 +2715,13 @@ public class BrowserApp extends GeckoApp
if (!Restrictions.isUserRestricted()) { if (!Restrictions.isUserRestricted()) {
final ViewStub homeBannerStub = (ViewStub) findViewById(R.id.home_banner_stub); final ViewStub homeBannerStub = (ViewStub) findViewById(R.id.home_banner_stub);
final HomeBanner homeBanner = (HomeBanner) homeBannerStub.inflate(); final HomeBanner homeBanner = (HomeBanner) homeBannerStub.inflate();
mHomePager.setBanner(homeBanner); mHomeScreen.setBanner(homeBanner);
// Remove the banner from the view hierarchy if it is dismissed. // Remove the banner from the view hierarchy if it is dismissed.
homeBanner.setOnDismissListener(new HomeBanner.OnDismissListener() { homeBanner.setOnDismissListener(new HomeBanner.OnDismissListener() {
@Override @Override
public void onDismiss() { public void onDismiss() {
mHomePager.setBanner(null); mHomeScreen.setBanner(null);
mHomeScreenContainer.removeView(homeBanner); mHomeScreenContainer.removeView(homeBanner);
} }
}); });
@ -2728,7 +2729,7 @@ public class BrowserApp extends GeckoApp
} }
mHomeScreenContainer.setVisibility(View.VISIBLE); mHomeScreenContainer.setVisibility(View.VISIBLE);
mHomePager.load(getSupportLoaderManager(), mHomeScreen.load(getSupportLoaderManager(),
getSupportFragmentManager(), getSupportFragmentManager(),
panelId, panelId,
panelRestoreData, panelRestoreData,
@ -2810,8 +2811,8 @@ public class BrowserApp extends GeckoApp
mLayerView.setVisibility(View.VISIBLE); mLayerView.setVisibility(View.VISIBLE);
mHomeScreenContainer.setVisibility(View.GONE); mHomeScreenContainer.setVisibility(View.GONE);
if (mHomePager != null) { if (mHomeScreen != null) {
mHomePager.unload(); mHomeScreen.unload();
} }
mBrowserToolbar.setNextFocusDownId(R.id.layer_view); mBrowserToolbar.setNextFocusDownId(R.id.layer_view);