Skip to content

Commit fc246b1

Browse files
committed
style: Address lint warnings
Avoid NullPointerExceptions.
1 parent 474c919 commit fc246b1

File tree

1 file changed

+18
-7
lines changed

1 file changed

+18
-7
lines changed

Diff for: libs/editor/src/main/java/org/wordpress/android/editor/gutenberg/GutenbergKitEditorFragment.java

+18-7
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@
6060
import java.net.URL;
6161
import java.util.ArrayList;
6262
import java.util.Arrays;
63+
import java.util.Collections;
6364
import java.util.HashSet;
6465
import java.util.Locale;
6566
import java.util.Map;
@@ -69,6 +70,7 @@
6970
import okhttp3.Headers;
7071
import okhttp3.OkHttpClient;
7172
import okhttp3.Request;
73+
import okhttp3.Request.Builder;
7274
import okhttp3.Response;
7375
import okhttp3.ResponseBody;
7476

@@ -104,7 +106,7 @@ public class GutenbergKitEditorFragment extends EditorFragmentAbstract implement
104106

105107
private boolean mEditorDidMount;
106108

107-
@Nullable private static Map<String, Object> mSettings;
109+
@NonNull private static Map<String, Object> mSettings = Collections.emptyMap();
108110
private static boolean mIsPrivate = false;
109111
private static boolean mIsPrivateAtomic = false;
110112
@NonNull OkHttpClient mHttpClient = new OkHttpClient();
@@ -113,7 +115,7 @@ public static GutenbergKitEditorFragment newInstance(Context context,
113115
boolean isNewPost,
114116
GutenbergWebViewAuthorizationData webViewAuthorizationData,
115117
boolean jetpackFeaturesEnabled,
116-
@Nullable Map<String, Object> settings,
118+
@NonNull Map<String, Object> settings,
117119
boolean isPrivate,
118120
boolean isPrivateAtomic) {
119121
GutenbergKitEditorFragment fragment = new GutenbergKitEditorFragment();
@@ -600,7 +602,7 @@ public boolean canIntercept(@NonNull WebResourceRequest request) {
600602
}
601603

602604
boolean isSiteHostedMediaFile(@NonNull String urlString) {
603-
String siteURL = (String) (mSettings != null ? mSettings.get("siteURL") : "");
605+
String siteURL = (String) mSettings.get("siteURL");
604606
Set<String> mediaExtensions = new HashSet<>(Arrays.asList(
605607
"jpg", "jpeg", "png", "gif", "bmp", "webp",
606608
"mp4", "mov", "avi", "mkv",
@@ -642,15 +644,19 @@ public WebResourceResponse handleRequest(@NonNull WebResourceRequest request) {
642644
proxyUrl = getPrivateResourceProxyUrl(url);
643645
}
644646

647+
String authHeader = (String) mSettings.get("authHeader");
648+
if (authHeader == null) {
649+
return null;
650+
}
651+
645652
try {
646-
Request okHttpRequest = new Request.Builder()
653+
Request okHttpRequest = new Builder()
647654
.url(proxyUrl)
648655
.headers(Headers.of(request.getRequestHeaders()))
649-
.addHeader("Authorization", mSettings.get("authHeader").toString())
656+
.addHeader("Authorization", authHeader)
650657
.build();
651658

652659
Response response = mHttpClient.newCall(okHttpRequest).execute();
653-
654660
ResponseBody body = response.body();
655661
if (body == null) {
656662
return null;
@@ -674,6 +680,11 @@ public WebResourceResponse handleRequest(@NonNull WebResourceRequest request) {
674680
}
675681

676682
private static @NonNull String getPrivateResourceProxyUrl(@NonNull Uri url) {
683+
String path = url.getPath();
684+
if (path != null && path.startsWith("/")) {
685+
path = path.substring(1); // Remove leading '/'
686+
}
687+
677688
Uri newUri = new Uri.Builder()
678689
.scheme("https")
679690
.authority("public-api.wordpress.com")
@@ -683,7 +694,7 @@ public WebResourceResponse handleRequest(@NonNull WebResourceRequest request) {
683694
.appendPath(url.getAuthority())
684695
.appendPath("atomic-auth-proxy")
685696
.appendPath("file")
686-
.appendEncodedPath(url.getPath().substring(1)) // Remove leading '/'
697+
.appendEncodedPath(path)
687698
.build();
688699

689700
return newUri.toString();

0 commit comments

Comments
 (0)