Bug 765930 - Reader Mode: Optimize readability check (fix pageactions in browser toolbar) r=sriram

This commit is contained in:
Mark Finkle 2012-07-13 11:36:45 -04:00
parent c7ab153d5d
commit acf3095e31
2 changed files with 20 additions and 12 deletions

View File

@ -170,7 +170,7 @@ abstract public class BrowserApp extends GeckoApp
mMainHandler.post(new Runnable() {
public void run() {
if (Tabs.getInstance().isSelectedTab(tab))
mBrowserToolbar.setReaderVisibility(tab.getReaderEnabled());
mBrowserToolbar.setReaderMode(tab.getReaderEnabled());
}
});
}

View File

@ -279,7 +279,7 @@ public class BrowserToolbar implements ViewSwitcher.ViewFactory,
case START:
if (Tabs.getInstance().isSelectedTab(tab)) {
setSecurityMode(tab.getSecurityMode());
setReaderVisibility(tab.getReaderEnabled());
setReaderMode(tab.getReaderEnabled());
updateBackButton(tab.canDoBack());
updateForwardButton(tab.canDoForward());
Boolean showProgress = (Boolean)data;
@ -404,11 +404,11 @@ public class BrowserToolbar implements ViewSwitcher.ViewFactory,
if (visible) {
mFavicon.setImageDrawable(mProgressSpinner);
mProgressSpinner.start();
setStopVisibility(true);
setPageActionVisibility(true);
Log.i(LOGTAG, "zerdatime " + SystemClock.uptimeMillis() + " - Throbber start");
} else {
mProgressSpinner.stop();
setStopVisibility(false);
setPageActionVisibility(false);
Tab selectedTab = Tabs.getInstance().getSelectedTab();
if (selectedTab != null)
setFavicon(selectedTab.getFavicon());
@ -416,16 +416,21 @@ public class BrowserToolbar implements ViewSwitcher.ViewFactory,
}
}
public void setStopVisibility(boolean visible) {
mStop.setVisibility(visible ? View.VISIBLE : View.GONE);
public void setPageActionVisibility(boolean isLoading) {
// Handle the loading mode page actions
mStop.setVisibility(isLoading ? View.VISIBLE : View.GONE);
mSiteSecurity.setVisibility(mShowSiteSecurity && !visible ? View.VISIBLE : View.GONE);
mReader.setVisibility(mShowReader && !visible ? View.VISIBLE : View.GONE);
// Handle the viewing mode page actions
mSiteSecurity.setVisibility(mShowSiteSecurity && !isLoading ? View.VISIBLE : View.GONE);
mReader.setVisibility(mShowReader && !isLoading ? View.VISIBLE : View.GONE);
if (!visible && !mShowSiteSecurity && !mShowReader)
if (!isLoading && !mShowSiteSecurity && !mShowReader) {
// No visible page actions
mAwesomeBar.setPadding(mPadding[0], mPadding[1], mPadding[2], mPadding[3]);
else
} else {
// At least one visible page action
mAwesomeBar.setPadding(mPadding[0], mPadding[1], mPadding[0], mPadding[3]);
}
updateFocusOrder();
}
@ -487,10 +492,13 @@ public class BrowserToolbar implements ViewSwitcher.ViewFactory,
mSiteSecurity.setImageLevel(0);
mShowSiteSecurity = false;
}
setPageActionVisibility(mStop.getVisibility() == View.VISIBLE);
}
public void setReaderVisibility(boolean showReader) {
public void setReaderMode(boolean showReader) {
mShowReader = showReader;
setPageActionVisibility(mStop.getVisibility() == View.VISIBLE);
}
public void setVisibility(int visibility) {
@ -545,7 +553,7 @@ public class BrowserToolbar implements ViewSwitcher.ViewFactory,
setTitle(tab.getDisplayTitle());
setFavicon(tab.getFavicon());
setSecurityMode(tab.getSecurityMode());
setReaderVisibility(tab.getReaderEnabled());
setReaderMode(tab.getReaderEnabled());
setProgressVisibility(tab.getState() == Tab.STATE_LOADING);
setShadowVisibility((url == null) || !url.startsWith("about:"));
updateTabCount(Tabs.getInstance().getCount());