Browse Source

WIP: WebView extraction - Rename android from RNC to RCT

Jamon Holmgren 6 years ago
parent
commit
642620dd98

+ 0
- 4
README.md View File

@@ -45,10 +45,6 @@ Additional properties are supported and will be added here; for now, refer to th
45 45
 
46 46
 Simply install React Native WebView and then use it in place of the core WebView. Their APIs are currently identical.
47 47
 
48
-## Contributing
49
-
50
-_Guide coming soon_
51
-
52 48
 ### Contributor Notes
53 49
 
54 50
 * I've removed all PropTypes for now. Instead, we'll be moving toward Flow or TypeScript at some later date

android/src/main/java/com/reactnativecommunity/webview/RNCWebViewManager.java → android/src/main/java/com/reactnativecommunity/webview/RCTWebViewManager.java View File

@@ -83,10 +83,10 @@ import org.json.JSONObject;
83 83
  *  - canGoBack - boolean, whether there is anything on a history stack to go back
84 84
  *  - canGoForward - boolean, whether it is possible to request GO_FORWARD command
85 85
  */
86
-@ReactModule(name = RNCWebViewManager.REACT_CLASS)
87
-public class RNCWebViewManager extends SimpleViewManager<WebView> {
86
+@ReactModule(name = RCTWebViewManager.REACT_CLASS)
87
+public class RCTWebViewManager extends SimpleViewManager<WebView> {
88 88
 
89
-  protected static final String REACT_CLASS = "RNCWebView";
89
+  protected static final String REACT_CLASS = "RCTWebView";
90 90
 
91 91
   protected static final String HTML_ENCODING = "UTF-8";
92 92
   protected static final String HTML_MIME_TYPE = "text/html";
@@ -108,7 +108,7 @@ public class RNCWebViewManager extends SimpleViewManager<WebView> {
108 108
   protected WebViewConfig mWebViewConfig;
109 109
   protected @Nullable WebView.PictureListener mPictureListener;
110 110
 
111
-  protected static class RNCWebViewClient extends WebViewClient {
111
+  protected static class RCTWebViewClient extends WebViewClient {
112 112
 
113 113
     protected boolean mLastLoadFailed = false;
114 114
     protected @Nullable ReadableArray mUrlPrefixesForDefaultIntent;
@@ -119,7 +119,7 @@ public class RNCWebViewManager extends SimpleViewManager<WebView> {
119 119
       super.onPageFinished(webView, url);
120 120
 
121 121
       if (!mLastLoadFailed) {
122
-        RNCWebView reactWebView = (RNCWebView) webView;
122
+        RCTWebView reactWebView = (RCTWebView) webView;
123 123
         reactWebView.callInjectedJavaScript();
124 124
         reactWebView.linkBridge();
125 125
         emitFinishEvent(webView, url);
@@ -242,15 +242,15 @@ public class RNCWebViewManager extends SimpleViewManager<WebView> {
242 242
    * Subclass of {@link WebView} that implements {@link LifecycleEventListener} interface in order
243 243
    * to call {@link WebView#destroy} on activity destroy event and also to clear the client
244 244
    */
245
-  protected static class RNCWebView extends WebView implements LifecycleEventListener {
245
+  protected static class RCTWebView extends WebView implements LifecycleEventListener {
246 246
     protected @Nullable String injectedJS;
247 247
     protected boolean messagingEnabled = false;
248
-    protected @Nullable RNCWebViewClient mRNCWebViewClient;
248
+    protected @Nullable RCTWebViewClient mRCTWebViewClient;
249 249
 
250
-    protected class RNCWebViewBridge {
251
-      RNCWebView mContext;
250
+    protected class RCTWebViewBridge {
251
+      RCTWebView mContext;
252 252
 
253
-      RNCWebViewBridge(RNCWebView c) {
253
+      RCTWebViewBridge(RCTWebView c) {
254 254
         mContext = c;
255 255
       }
256 256
 
@@ -267,7 +267,7 @@ public class RNCWebViewManager extends SimpleViewManager<WebView> {
267 267
      * Reactive Native needed for access to ReactNative internal system functionality
268 268
      *
269 269
      */
270
-    public RNCWebView(ThemedReactContext reactContext) {
270
+    public RCTWebView(ThemedReactContext reactContext) {
271 271
       super(reactContext);
272 272
     }
273 273
 
@@ -289,19 +289,19 @@ public class RNCWebViewManager extends SimpleViewManager<WebView> {
289 289
     @Override
290 290
     public void setWebViewClient(WebViewClient client) {
291 291
       super.setWebViewClient(client);
292
-      mRNCWebViewClient = (RNCWebViewClient)client;
292
+      mRCTWebViewClient = (RCTWebViewClient)client;
293 293
     }
294 294
 
295
-    public @Nullable RNCWebViewClient getRNCWebViewClient() {
296
-      return mRNCWebViewClient;
295
+    public @Nullable RCTWebViewClient getRCTWebViewClient() {
296
+      return mRCTWebViewClient;
297 297
     }
298 298
 
299 299
     public void setInjectedJavaScript(@Nullable String js) {
300 300
       injectedJS = js;
301 301
     }
302 302
 
303
-    protected RNCWebViewBridge createRNCWebViewBridge(RNCWebView webView) {
304
-      return new RNCWebViewBridge(webView);
303
+    protected RCTWebViewBridge createRCTWebViewBridge(RCTWebView webView) {
304
+      return new RCTWebViewBridge(webView);
305 305
     }
306 306
 
307 307
     public void setMessagingEnabled(boolean enabled) {
@@ -311,7 +311,7 @@ public class RNCWebViewManager extends SimpleViewManager<WebView> {
311 311
 
312 312
       messagingEnabled = enabled;
313 313
       if (enabled) {
314
-        addJavascriptInterface(createRNCWebViewBridge(this), BRIDGE_NAME);
314
+        addJavascriptInterface(createRCTWebViewBridge(this), BRIDGE_NAME);
315 315
         linkBridge();
316 316
       } else {
317 317
         removeJavascriptInterface(BRIDGE_NAME);
@@ -360,14 +360,14 @@ public class RNCWebViewManager extends SimpleViewManager<WebView> {
360 360
     }
361 361
   }
362 362
 
363
-  public RNCWebViewManager() {
363
+  public RCTWebViewManager() {
364 364
     mWebViewConfig = new WebViewConfig() {
365 365
       public void configWebView(WebView webView) {
366 366
       }
367 367
     };
368 368
   }
369 369
 
370
-  public RNCWebViewManager(WebViewConfig webViewConfig) {
370
+  public RCTWebViewManager(WebViewConfig webViewConfig) {
371 371
     mWebViewConfig = webViewConfig;
372 372
   }
373 373
 
@@ -376,14 +376,14 @@ public class RNCWebViewManager extends SimpleViewManager<WebView> {
376 376
     return REACT_CLASS;
377 377
   }
378 378
 
379
-  protected RNCWebView createRNCWebViewInstance(ThemedReactContext reactContext) {
380
-    return new RNCWebView(reactContext);
379
+  protected RCTWebView createRCTWebViewInstance(ThemedReactContext reactContext) {
380
+    return new RCTWebView(reactContext);
381 381
   }
382 382
 
383 383
   @Override
384 384
   @TargetApi(Build.VERSION_CODES.LOLLIPOP)
385 385
   protected WebView createViewInstance(ThemedReactContext reactContext) {
386
-    RNCWebView webView = createRNCWebViewInstance(reactContext);
386
+    RCTWebView webView = createRCTWebViewInstance(reactContext);
387 387
     webView.setWebChromeClient(new WebChromeClient() {
388 388
       @Override
389 389
       public boolean onConsoleMessage(ConsoleMessage message) {
@@ -474,12 +474,12 @@ public class RNCWebViewManager extends SimpleViewManager<WebView> {
474 474
 
475 475
   @ReactProp(name = "injectedJavaScript")
476 476
   public void setInjectedJavaScript(WebView view, @Nullable String injectedJavaScript) {
477
-    ((RNCWebView) view).setInjectedJavaScript(injectedJavaScript);
477
+    ((RCTWebView) view).setInjectedJavaScript(injectedJavaScript);
478 478
   }
479 479
 
480 480
   @ReactProp(name = "messagingEnabled")
481 481
   public void setMessagingEnabled(WebView view, boolean enabled) {
482
-    ((RNCWebView) view).setMessagingEnabled(enabled);
482
+    ((RCTWebView) view).setMessagingEnabled(enabled);
483 483
   }
484 484
 
485 485
   @ReactProp(name = "source")
@@ -568,7 +568,7 @@ public class RNCWebViewManager extends SimpleViewManager<WebView> {
568 568
   public void setUrlPrefixesForDefaultIntent(
569 569
       WebView view,
570 570
       @Nullable ReadableArray urlPrefixesForDefaultIntent) {
571
-    RNCWebViewClient client = ((RNCWebView) view).getRNCWebViewClient();
571
+    RCTWebViewClient client = ((RCTWebView) view).getRCTWebViewClient();
572 572
     if (client != null && urlPrefixesForDefaultIntent != null) {
573 573
       client.setUrlPrefixesForDefaultIntent(urlPrefixesForDefaultIntent);
574 574
     }
@@ -585,7 +585,7 @@ public class RNCWebViewManager extends SimpleViewManager<WebView> {
585 585
   public void setOriginWhitelist(
586 586
     WebView view,
587 587
     @Nullable ReadableArray originWhitelist) {
588
-    RNCWebViewClient client = ((RNCWebView) view).getRNCWebViewClient();
588
+    RCTWebViewClient client = ((RCTWebView) view).getRCTWebViewClient();
589 589
     if (client != null && originWhitelist != null) {
590 590
       List<Pattern> whiteList = new LinkedList<>();
591 591
       for (int i = 0 ; i < originWhitelist.size() ; i++) {
@@ -598,7 +598,7 @@ public class RNCWebViewManager extends SimpleViewManager<WebView> {
598 598
   @Override
599 599
   protected void addEventEmitters(ThemedReactContext reactContext, WebView view) {
600 600
     // Do not register default touch emitter and let WebView implementation handle touches
601
-    view.setWebViewClient(new RNCWebViewClient());
601
+    view.setWebViewClient(new RCTWebViewClient());
602 602
   }
603 603
 
604 604
   @Override
@@ -656,8 +656,8 @@ public class RNCWebViewManager extends SimpleViewManager<WebView> {
656 656
   @Override
657 657
   public void onDropViewInstance(WebView webView) {
658 658
     super.onDropViewInstance(webView);
659
-    ((ThemedReactContext) webView.getContext()).removeLifecycleEventListener((RNCWebView) webView);
660
-    ((RNCWebView) webView).cleanupCallbacksAndDestroy();
659
+    ((ThemedReactContext) webView.getContext()).removeLifecycleEventListener((RCTWebView) webView);
660
+    ((RCTWebView) webView).cleanupCallbacksAndDestroy();
661 661
   }
662 662
 
663 663
   protected WebView.PictureListener getPictureListener() {

android/src/main/java/com/reactnativecommunity/webview/RNCWebViewModule.java → android/src/main/java/com/reactnativecommunity/webview/RCTWebViewModule.java View File

@@ -6,17 +6,17 @@ import com.facebook.react.bridge.ReactContextBaseJavaModule;
6 6
 import com.facebook.react.bridge.ReactMethod;
7 7
 import com.facebook.react.bridge.Callback;
8 8
 
9
-public class RNCWebViewModule extends ReactContextBaseJavaModule {
9
+public class RCTWebViewModule extends ReactContextBaseJavaModule {
10 10
 
11 11
   private final ReactApplicationContext reactContext;
12 12
 
13
-  public RNCWebViewModule(ReactApplicationContext reactContext) {
13
+  public RCTWebViewModule(ReactApplicationContext reactContext) {
14 14
     super(reactContext);
15 15
     this.reactContext = reactContext;
16 16
   }
17 17
 
18 18
   @Override
19 19
   public String getName() {
20
-    return "RNCWebView";
20
+    return "RCTWebView";
21 21
   }
22 22
 }

android/src/main/java/com/reactnativecommunity/webview/RNCWebViewPackage.java → android/src/main/java/com/reactnativecommunity/webview/RCTWebViewPackage.java View File

@@ -10,10 +10,10 @@ import com.facebook.react.bridge.NativeModule;
10 10
 import com.facebook.react.bridge.ReactApplicationContext;
11 11
 import com.facebook.react.uimanager.ViewManager;
12 12
 import com.facebook.react.bridge.JavaScriptModule;
13
-public class RNCWebViewPackage implements ReactPackage {
13
+public class RCTWebViewPackage implements ReactPackage {
14 14
     @Override
15 15
     public List<NativeModule> createNativeModules(ReactApplicationContext reactContext) {
16
-      return Arrays.<NativeModule>asList(new RNCWebViewModule(reactContext));
16
+      return Arrays.<NativeModule>asList(new RCTWebViewModule(reactContext));
17 17
     }
18 18
 
19 19
     // Deprecated from RN 0.47
@@ -23,7 +23,7 @@ public class RNCWebViewPackage implements ReactPackage {
23 23
 
24 24
     @Override
25 25
     public List<ViewManager> createViewManagers(ReactApplicationContext reactContext) {
26
-        RNCWebViewManager viewManager = new RNCWebViewManager();
26
+        RCTWebViewManager viewManager = new RCTWebViewManager();
27 27
         return Arrays.<ViewManager>asList(viewManager);
28 28
     }
29 29
 }

+ 1
- 1
android/src/main/java/com/reactnativecommunity/webview/WebViewConfig.java View File

@@ -4,7 +4,7 @@ import android.webkit.WebView;
4 4
 
5 5
 /**
6 6
  * Implement this interface in order to config your {@link WebView}. An instance of that
7
- * implementation will have to be given as a constructor argument to {@link RNCWebViewManager}.
7
+ * implementation will have to be given as a constructor argument to {@link RCTWebViewManager}.
8 8
  */
9 9
 public interface WebViewConfig {
10 10
 

+ 1
- 1
js/WebView.android.js View File

@@ -27,7 +27,7 @@ import WebViewShared from './WebViewShared';
27 27
 
28 28
 const resolveAssetSource = Image.resolveAssetSource;
29 29
 
30
-const RNC_WEBVIEW_REF = 'webview';
30
+const RCT_WEBVIEW_REF = 'webview';
31 31
 
32 32
 const WebViewState = keyMirror({
33 33
   IDLE: null,