Bug 1248908 - ToolbarDisplayLayout: Remove unnecessary null checks. r?sebastian
MozReview-Commit-ID: LBtVN8F0oO4
--- a/mobile/android/base/java/org/mozilla/gecko/toolbar/BrowserToolbar.java
+++ b/mobile/android/base/java/org/mozilla/gecko/toolbar/BrowserToolbar.java
@@ -51,16 +51,17 @@ import android.view.LayoutInflater;
import android.view.MenuInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewTreeObserver.OnGlobalLayoutListener;
import android.view.inputmethod.InputMethodManager;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.PopupWindow;
+import android.support.annotation.NonNull;
/**
* {@code BrowserToolbar} is single entry point for users of the toolbar
* subsystem i.e. this should be the only import outside the 'toolbar'
* package.
*
* {@code BrowserToolbar} serves at the single event bus for all
* sub-components in the toolbar. It tracks tab events and gecko messages
@@ -397,17 +398,17 @@ public abstract class BrowserToolbar ext
if (!isEditing()) {
throw new IllegalStateException("Expected to be editing");
}
urlEditLayout.restoreTabEditingState(editingState);
}
@Override
- public void onTabChanged(Tab tab, Tabs.TabEvents msg, Object data) {
+ public void onTabChanged(@NonNull Tab tab, Tabs.TabEvents msg, Object data) {
Log.d(LOGTAG, "onTabChanged: " + msg);
final Tabs tabs = Tabs.getInstance();
// These conditions are split into three phases:
// * Always do first
// * Handling specific to the selected tab
// * Always do afterwards.
@@ -586,17 +587,17 @@ public abstract class BrowserToolbar ext
}
// Update A11y information
tabsButton.setContentDescription((count > 1) ?
activity.getString(R.string.num_tabs, count) :
activity.getString(R.string.one_tab));
}
- private void updateDisplayLayout(Tab tab, EnumSet<UpdateFlags> flags) {
+ private void updateDisplayLayout(@NonNull Tab tab, EnumSet<UpdateFlags> flags) {
if (isSwitchingTabs) {
flags.add(UpdateFlags.DISABLE_ANIMATIONS);
}
urlDisplayLayout.updateFromTab(tab, flags);
if (flags.contains(UpdateFlags.TITLE)) {
if (!isEditing()) {
--- a/mobile/android/base/java/org/mozilla/gecko/toolbar/ToolbarDisplayLayout.java
+++ b/mobile/android/base/java/org/mozilla/gecko/toolbar/ToolbarDisplayLayout.java
@@ -24,16 +24,17 @@ import org.mozilla.gecko.toolbar.Browser
import org.mozilla.gecko.util.ColorUtils;
import org.mozilla.gecko.util.StringUtils;
import org.mozilla.gecko.widget.themed.ThemedLinearLayout;
import org.mozilla.gecko.widget.themed.ThemedTextView;
import android.content.Context;
import android.os.SystemClock;
import android.support.annotation.Nullable;
+import android.support.annotation.NonNull;
import android.text.Spannable;
import android.text.SpannableStringBuilder;
import android.text.TextUtils;
import android.text.style.ForegroundColorSpan;
import android.util.AttributeSet;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
@@ -185,17 +186,17 @@ public class ToolbarDisplayLayout extend
mSiteSecurity.setNextFocusDownId(nextId);
mPageActionLayout.setNextFocusDownId(nextId);
}
void setToolbarPrefs(final ToolbarPrefs prefs) {
mPrefs = prefs;
}
- void updateFromTab(Tab tab, EnumSet<UpdateFlags> flags) {
+ void updateFromTab(@NonNull Tab tab, EnumSet<UpdateFlags> flags) {
// Several parts of ToolbarDisplayLayout's state depends
// on the views being attached to the view tree.
if (!mIsAttached) {
return;
}
if (flags.contains(UpdateFlags.TITLE)) {
updateTitle(tab);
@@ -205,32 +206,32 @@ public class ToolbarDisplayLayout extend
updateSiteIdentity(tab);
}
if (flags.contains(UpdateFlags.PROGRESS)) {
updateProgress(tab);
}
if (flags.contains(UpdateFlags.PRIVATE_MODE)) {
- mTitle.setPrivateMode(tab != null && tab.isPrivate());
+ mTitle.setPrivateMode(tab.isPrivate());
}
}
void setTitle(CharSequence title) {
mTitle.setText(title);
if (mTitleChangeListener != null) {
mTitleChangeListener.onTitleChange(title);
}
}
- private void updateTitle(Tab tab) {
+ private void updateTitle(@NonNull Tab tab) {
// Keep the title unchanged if there's no selected tab,
// or if the tab is entering reader mode.
- if (tab == null || tab.isEnteringReaderMode()) {
+ if (tab.isEnteringReaderMode()) {
return;
}
final String url = tab.getURL();
// Setting a null title will ensure we just see the
// "Enter Search or Address" placeholder text.
if (AboutPages.isTitlelessAboutPage(url)) {
@@ -274,23 +275,18 @@ public class ToolbarDisplayLayout extend
private String stripAboutReaderURL(final String url) {
if (!AboutPages.isAboutReader(url)) {
return url;
}
return ReaderModeUtils.getUrlFromAboutReader(url);
}
- private void updateSiteIdentity(Tab tab) {
- final SiteIdentity siteIdentity;
- if (tab == null) {
- siteIdentity = null;
- } else {
- siteIdentity = tab.getSiteIdentity();
- }
+ private void updateSiteIdentity(@NonNull Tab tab) {
+ final SiteIdentity siteIdentity = tab.getSiteIdentity();
mSiteIdentityPopup.setSiteIdentity(siteIdentity);
final SecurityMode securityMode;
final MixedMode activeMixedMode;
final MixedMode displayMixedMode;
final TrackingMode trackingMode;
final boolean loginInsecure;
@@ -337,23 +333,22 @@ public class ToolbarDisplayLayout extend
mSecurityImageLevel = imageLevel;
mSiteSecurity.setImageLevel(mSecurityImageLevel);
updatePageActions();
}
mTrackingProtectionEnabled = trackingMode == TrackingMode.TRACKING_CONTENT_BLOCKED;
}
- private void updateProgress(@Nullable Tab tab) {
- final boolean shouldShowThrobber = (tab != null &&
- tab.getState() == Tab.STATE_LOADING);
+ private void updateProgress(@NonNull Tab tab) {
+ final boolean shouldShowThrobber = tab.getState() == Tab.STATE_LOADING;
updateUiMode(shouldShowThrobber ? UIMode.PROGRESS : UIMode.DISPLAY);
- if (tab != null && Tab.STATE_SUCCESS == tab.getState() && mTrackingProtectionEnabled) {
+ if (Tab.STATE_SUCCESS == tab.getState() && mTrackingProtectionEnabled) {
mActivity.showTrackingProtectionPromptIfApplicable();
}
}
private void updateUiMode(UIMode uiMode) {
if (mUiMode == uiMode) {
return;
}