Skip to content
This repository was archived by the owner on Jul 22, 2024. It is now read-only.

Commit 4c3c39b

Browse files
authored
Convert NonNull to Nullable in UrlUtils to fix crash (#3139)
Fixes https://crash-stats.mozilla.com/report/index/76911fdf-032a-4084-9948-d61250200408
1 parent beffe1d commit 4c3c39b

File tree

1 file changed

+16
-26
lines changed

1 file changed

+16
-26
lines changed

app/src/common/shared/org/mozilla/vrbrowser/utils/UrlUtils.java

Lines changed: 16 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
import android.util.Patterns;
1111
import android.webkit.URLUtil;
1212

13-
import androidx.annotation.NonNull;
1413
import androidx.annotation.Nullable;
1514

1615
import org.mozilla.vrbrowser.R;
@@ -76,12 +75,15 @@ public static boolean isDomain(String text) {
7675

7776
private static Pattern ipPattern = Pattern.compile("^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(:[0-9]+)?(/[^ ]*)?");
7877
private static Pattern localhostPattern = Pattern.compile("^(localhost)(:[0-9]+)?(/[^ ]*)?", Pattern.CASE_INSENSITIVE);
79-
public static boolean isIPUri(@NonNull String aUri) {
78+
public static boolean isIPUri(@Nullable String aUri) {
79+
if (aUri == null) {
80+
return false;
81+
}
8082
String uri = stripProtocol(aUri).trim();
8183
return localhostPattern.matcher(uri).find() || ipPattern.matcher(uri).find();
8284
}
8385

84-
public static boolean isLocalIP(@NonNull String aUri) {
86+
public static boolean isLocalIP(@Nullable String aUri) {
8587
if (!isIPUri(aUri)) {
8688
return false;
8789
}
@@ -92,24 +94,24 @@ public static boolean isLocalIP(@NonNull String aUri) {
9294
localhostPattern.matcher(uri).find();
9395
}
9496

95-
public static boolean isPrivateAboutPage(@NonNull Context context, @NonNull String uri) {
97+
public static boolean isPrivateAboutPage(@Nullable Context context, @Nullable String uri) {
9698
InternalPages.PageResources pageResources = InternalPages.PageResources.create(R.raw.private_mode, R.raw.private_style);
9799
byte[] privatePageBytes = InternalPages.createAboutPage(context, pageResources);
98-
return uri.equals("data:text/html;base64," + Base64.encodeToString(privatePageBytes, Base64.NO_WRAP));
100+
return uri != null && uri.equals("data:text/html;base64," + Base64.encodeToString(privatePageBytes, Base64.NO_WRAP));
99101
}
100102

101-
public static Boolean isHomeUri(@NonNull Context context, @Nullable String aUri) {
102-
return aUri != null && aUri.toLowerCase().startsWith(
103+
public static Boolean isHomeUri(@Nullable Context context, @Nullable String aUri) {
104+
return aUri != null && context != null && aUri.toLowerCase().startsWith(
103105
SettingsStore.getInstance(context).getHomepage()
104106
);
105107
}
106108

107-
public static Boolean isDataUri(@NonNull String aUri) {
108-
return aUri.startsWith("data");
109+
public static Boolean isDataUri(@Nullable String aUri) {
110+
return aUri != null && aUri.startsWith("data");
109111
}
110112

111-
public static Boolean isBlankUri(@NonNull Context context, @NonNull String aUri) {
112-
return aUri.equals(context.getString(R.string.about_blank));
113+
public static Boolean isBlankUri(@Nullable Context context, @Nullable String aUri) {
114+
return aUri != null && context != null && aUri.equals(context.getString(R.string.about_blank));
113115
}
114116

115117
public static String titleBarUrl(@Nullable String aUri) {
@@ -138,31 +140,19 @@ public static String titleBarUrl(@Nullable String aUri) {
138140
public static final String ABOUT_HISTORY = "about://history";
139141

140142
public static boolean isHistoryUrl(@Nullable String url) {
141-
if (url == null) {
142-
return false;
143-
}
144-
145-
return url.equalsIgnoreCase(ABOUT_HISTORY);
143+
return url != null && url.equalsIgnoreCase(ABOUT_HISTORY);
146144
}
147145

148146
public static final String ABOUT_BOOKMARKS = "about://bookmarks";
149147

150148
public static boolean isBookmarksUrl(@Nullable String url) {
151-
if (url == null) {
152-
return false;
153-
}
154-
155-
return url.equalsIgnoreCase(ABOUT_BOOKMARKS);
149+
return url != null && url.equalsIgnoreCase(ABOUT_BOOKMARKS);
156150
}
157151

158152
public static final String ABOUT_PRIVATE = "about://privatebrowsing";
159153

160154
public static boolean isPrivateUrl(@Nullable String url) {
161-
if (url == null) {
162-
return false;
163-
}
164-
165-
return url.equalsIgnoreCase(ABOUT_PRIVATE);
155+
return url != null && url.equalsIgnoreCase(ABOUT_PRIVATE);
166156
}
167157

168158
public static boolean isAboutPage(@Nullable String url) {

0 commit comments

Comments
 (0)