Bug 1274901 - NullPointerException thrown in Tabs.java should be checked r?mcomella
MozReview-Commit-ID: 2hMZn75BpeT
--- a/mobile/android/base/java/org/mozilla/gecko/toolbar/BrowserToolbar.java
+++ b/mobile/android/base/java/org/mozilla/gecko/toolbar/BrowserToolbar.java
@@ -4,16 +4,17 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
package org.mozilla.gecko.toolbar;
import java.util.ArrayList;
import java.util.EnumSet;
import java.util.List;
+import android.support.annotation.Nullable;
import android.support.v4.content.ContextCompat;
import org.mozilla.gecko.AppConstants.Versions;
import org.mozilla.gecko.BrowserApp;
import org.mozilla.gecko.GeckoAppShell;
import org.mozilla.gecko.R;
import org.mozilla.gecko.Tab;
import org.mozilla.gecko.Tabs;
import org.mozilla.gecko.Telemetry;
@@ -398,17 +399,17 @@ public abstract class BrowserToolbar ext
if (!isEditing()) {
throw new IllegalStateException("Expected to be editing");
}
urlEditLayout.restoreTabEditingState(editingState);
}
@Override
- public void onTabChanged(@NonNull Tab tab, Tabs.TabEvents msg, String data) {
+ public void onTabChanged(@Nullable Tab tab, Tabs.TabEvents msg, String 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.
@@ -487,17 +488,17 @@ public abstract class BrowserToolbar ext
flags.add(UpdateFlags.FAVICON);
break;
case SECURITY_CHANGE:
flags.add(UpdateFlags.SITE_IDENTITY);
break;
}
- if (!flags.isEmpty()) {
+ if (!flags.isEmpty() && tab != null) {
updateDisplayLayout(tab, flags);
}
}
switch (msg) {
case SELECTED:
case LOAD_ERROR:
case LOCATION_CHANGE: