Commit 4162c899 authored by Jinsuk Kim's avatar Jinsuk Kim Committed by Commit Bot

Android: Fix NPE in SwipeRefreshHandler

In order to prevent a runnable |mDetachRefreshLayoutRunnable| from
being invoked after |SwipeRefreshLayout| is set to zero, this CL adds
a missing null check.

Bug: 1045952
Change-Id: I48bf09831a42dccda3f38b1101184a27caf0218c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2028870
Commit-Queue: Jinsuk Kim <jinsukkim@chromium.org>
Reviewed-by: default avatarDavid Trainor <dtrainor@chromium.org>
Cr-Commit-Position: refs/heads/master@{#736767}
parent ebd5f7cb
...@@ -152,7 +152,7 @@ public class SwipeRefreshHandler ...@@ -152,7 +152,7 @@ public class SwipeRefreshHandler
@SuppressLint("NewApi") @SuppressLint("NewApi")
@Override @Override
public void cleanupWebContents(WebContents webContents) { public void cleanupWebContents(WebContents webContents) {
if (mSwipeRefreshLayout != null) detachSwipeRefreshLayoutIfNecessary(); detachSwipeRefreshLayoutIfNecessary();
mContainerView = null; mContainerView = null;
mNavigationHandler = null; mNavigationHandler = null;
setEnabled(false); setEnabled(false);
...@@ -274,6 +274,7 @@ public class SwipeRefreshHandler ...@@ -274,6 +274,7 @@ public class SwipeRefreshHandler
} }
private void detachSwipeRefreshLayoutIfNecessary() { private void detachSwipeRefreshLayoutIfNecessary() {
if (mSwipeRefreshLayout == null) return;
cancelDetachLayoutRunnable(); cancelDetachLayoutRunnable();
if (mSwipeRefreshLayout.getParent() != null) { if (mSwipeRefreshLayout.getParent() != null) {
mContainerView.removeView(mSwipeRefreshLayout); mContainerView.removeView(mSwipeRefreshLayout);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment