diff --git a/android/build.gradle b/android/build.gradle index 3282ef9..e7613cb 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -1,14 +1,14 @@ apply plugin: 'com.android.library' android { - compileSdkVersion 23 - buildToolsVersion "25.0.0" + compileSdkVersion 26 + buildToolsVersion '26.0.3' defaultConfig { minSdkVersion 16 - targetSdkVersion 22 - versionCode 19 - versionName "1.1.17" + targetSdkVersion 26 + versionCode 1 + versionName "1.0" } } diff --git a/android/src/main/java/com/infinitered/webview/ReactWebViewModule.java b/android/src/main/java/com/infinitered/webview/ReactWebViewModule.java new file mode 100644 index 0000000..dd2c2fb --- /dev/null +++ b/android/src/main/java/com/infinitered/webview/ReactWebViewModule.java @@ -0,0 +1,22 @@ + +package com.infinitered.webview; + +import com.facebook.react.bridge.ReactApplicationContext; +import com.facebook.react.bridge.ReactContextBaseJavaModule; +import com.facebook.react.bridge.ReactMethod; +import com.facebook.react.bridge.Callback; + +public class ReactWebViewModule extends ReactContextBaseJavaModule { + + private final ReactApplicationContext reactContext; + + public ReactWebViewModule(ReactApplicationContext reactContext) { + super(reactContext); + this.reactContext = reactContext; + } + + @Override + public String getName() { + return "RNCWebView"; + } +} \ No newline at end of file diff --git a/android/src/main/java/com/infinitered/webview/ReactWebViewPackage.java b/android/src/main/java/com/infinitered/webview/ReactWebViewPackage.java new file mode 100644 index 0000000..2b3d9db --- /dev/null +++ b/android/src/main/java/com/infinitered/webview/ReactWebViewPackage.java @@ -0,0 +1,29 @@ + +package com.infinitered.webview; + +import java.util.Arrays; +import java.util.Collections; +import java.util.List; + +import com.facebook.react.ReactPackage; +import com.facebook.react.bridge.NativeModule; +import com.facebook.react.bridge.ReactApplicationContext; +import com.facebook.react.uimanager.ViewManager; +import com.facebook.react.bridge.JavaScriptModule; +public class ReactWebViewPackage implements ReactPackage { + @Override + public List createNativeModules(ReactApplicationContext reactContext) { + return Arrays.asList(new ReactWebViewModule(reactContext)); + } + + // Deprecated from RN 0.47 + public List> createJSModules() { + return Collections.emptyList(); + } + + @Override + public List createViewManagers(ReactApplicationContext reactContext) { + ReactWebViewManager viewManager = new ReactWebViewManager(); + return Arrays.asList(viewManager); + } +} \ No newline at end of file diff --git a/android/src/main/java/com/infinitered/webview/events/TopLoadingErrorEvent.java b/android/src/main/java/com/infinitered/webview/events/TopLoadingErrorEvent.java index 90cb741..070c7be 100644 --- a/android/src/main/java/com/infinitered/webview/events/TopLoadingErrorEvent.java +++ b/android/src/main/java/com/infinitered/webview/events/TopLoadingErrorEvent.java @@ -5,7 +5,7 @@ * LICENSE file in the root directory of this source tree. */ -package com.facebook.react.views.webview.events; +package com.infinitered.webview.events; import com.facebook.react.bridge.WritableMap; import com.facebook.react.uimanager.events.Event; diff --git a/android/src/main/java/com/infinitered/webview/events/TopLoadingFinishEvent.java b/android/src/main/java/com/infinitered/webview/events/TopLoadingFinishEvent.java index 1f1186d..3843ed2 100644 --- a/android/src/main/java/com/infinitered/webview/events/TopLoadingFinishEvent.java +++ b/android/src/main/java/com/infinitered/webview/events/TopLoadingFinishEvent.java @@ -5,7 +5,7 @@ * LICENSE file in the root directory of this source tree. */ -package com.facebook.react.views.webview.events; +package com.infinitered.webview.events; import com.facebook.react.bridge.WritableMap; import com.facebook.react.uimanager.events.Event; diff --git a/android/src/main/java/com/infinitered/webview/events/TopLoadingStartEvent.java b/android/src/main/java/com/infinitered/webview/events/TopLoadingStartEvent.java index bea1b35..9503b30 100644 --- a/android/src/main/java/com/infinitered/webview/events/TopLoadingStartEvent.java +++ b/android/src/main/java/com/infinitered/webview/events/TopLoadingStartEvent.java @@ -5,7 +5,7 @@ * LICENSE file in the root directory of this source tree. */ -package com.facebook.react.views.webview.events; +package com.infinitered.webview.events; import com.facebook.react.bridge.WritableMap; import com.facebook.react.uimanager.events.Event; diff --git a/android/src/main/java/com/infinitered/webview/events/TopMessageEvent.java b/android/src/main/java/com/infinitered/webview/events/TopMessageEvent.java index e44de14..5a2060f 100644 --- a/android/src/main/java/com/infinitered/webview/events/TopMessageEvent.java +++ b/android/src/main/java/com/infinitered/webview/events/TopMessageEvent.java @@ -5,7 +5,7 @@ * LICENSE file in the root directory of this source tree. */ -package com.facebook.react.views.webview.events; +package com.infinitered.webview.events; import com.facebook.react.bridge.WritableMap; import com.facebook.react.bridge.Arguments; diff --git a/js/WebView.android.js b/js/WebView.android.js index 0927d46..70ad1ac 100644 --- a/js/WebView.android.js +++ b/js/WebView.android.js @@ -9,7 +9,7 @@ 'use strict'; -import React from 'React'; +import React from 'react'; import PropTypes from 'prop-types'; import ReactNative from 'react-native'; @@ -20,8 +20,8 @@ import { UIManager, View, ViewPropTypes, - requireNativeComponent, - resolveAssetSource + Image, + requireNativeComponent } from 'react-native'; import deprecatedPropType from 'deprecated-prop-type'; @@ -29,7 +29,9 @@ import keyMirror from 'fbjs/lib/keyMirror'; import WebViewShared from './WebViewShared'; -const RCT_WEBVIEW_REF = 'webview'; +const resolveAssetSource = Image.resolveAssetSource; + +const RNC_WEBVIEW_REF = 'webview'; const WebViewState = keyMirror({ IDLE: null, @@ -310,7 +312,7 @@ class WebView extends React.Component { const webView = ( { - return ReactNative.findNodeHandle(this.refs[RCT_WEBVIEW_REF]); + return ReactNative.findNodeHandle(this.refs[RNC_WEBVIEW_REF]); }; onLoadingStart = event => { diff --git a/js/WebView.ios.js b/js/WebView.ios.js index 332f958..d82f1b3 100644 --- a/js/WebView.ios.js +++ b/js/WebView.ios.js @@ -18,7 +18,6 @@ import { ActivityIndicator, EdgeInsetsPropType, Linking, - ScrollView, StyleSheet, Text, UIManager,