Commit 432f1dc8 authored by Hazem Ashmawy's avatar Hazem Ashmawy Committed by Commit Bot

[AW] DevUI: always show crashes for default channel

Crash keys can be absent (null) in some cases like if it's a crash from
an old version. Switch statements in java assume non-null values which
causes NPE when checking for channel info on old crashes. To avoid this
, we will use getCrashKeyOrDefault method.

In addition, always show crashes if they are from UNKOWN/DEFAULT
channel to avoid hiding crashes from older versions.

Fixed: 1093898
Test: Build default channel, trigger a crash.
Test: Manually remove channel info from log file and open the crash UI
Change-Id: I1a445d59a267cb7f41b400b36caa7bf7a31296e8
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2243291
Commit-Queue: Hazem Ashmawy <hazems@chromium.org>
Reviewed-by: default avatarNate Fischer <ntfschr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#777970}
parent 28bafce9
......@@ -330,8 +330,13 @@ public class CrashesListFragment extends DevUiBaseFragment {
WebViewCrashInfoCollector crashCollector = new WebViewCrashInfoCollector();
// Only show crashes from the same WebView channel, which usually means the
// same package.
List<CrashInfo> crashes = crashCollector.loadCrashesInfo(crashInfo
-> getCrashInfoChannel(crashInfo) == VersionConstants.CHANNEL);
List<CrashInfo> crashes = crashCollector.loadCrashesInfo(crashInfo -> {
@Channel
int channel = getCrashInfoChannel(crashInfo);
// Always show the crash if the channel is unknown (to handle missing
// channel info for example for crashes from older versions).
return channel == Channel.DEFAULT || channel == VersionConstants.CHANNEL;
});
if (crashes.size() > MAX_CRASHES_NUMBER) {
return crashes.subList(0, MAX_CRASHES_NUMBER);
}
......@@ -362,8 +367,8 @@ public class CrashesListFragment extends DevUiBaseFragment {
}
@Channel
private static int getCrashInfoChannel(CrashInfo c) {
switch (c.getCrashKey(CrashInfo.WEBVIEW_CHANNEL_KEY)) {
private static int getCrashInfoChannel(@NonNull CrashInfo c) {
switch (c.getCrashKeyOrDefault(CrashInfo.WEBVIEW_CHANNEL_KEY, "default")) {
case "canary":
return Channel.CANARY;
case "dev":
......
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