WIP: Android
This commit is contained in:
parent
bd2c3bc8c2
commit
d1f442cc51
|
@ -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"
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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";
|
||||
}
|
||||
}
|
|
@ -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<NativeModule> createNativeModules(ReactApplicationContext reactContext) {
|
||||
return Arrays.<NativeModule>asList(new ReactWebViewModule(reactContext));
|
||||
}
|
||||
|
||||
// Deprecated from RN 0.47
|
||||
public List<Class<? extends JavaScriptModule>> createJSModules() {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ViewManager> createViewManagers(ReactApplicationContext reactContext) {
|
||||
ReactWebViewManager viewManager = new ReactWebViewManager();
|
||||
return Arrays.<ViewManager>asList(viewManager);
|
||||
}
|
||||
}
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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 = (
|
||||
<NativeWebView
|
||||
ref={RCT_WEBVIEW_REF}
|
||||
ref={RNC_WEBVIEW_REF}
|
||||
key="webViewKey"
|
||||
style={webViewStyles}
|
||||
source={resolveAssetSource(source)}
|
||||
|
@ -422,7 +424,7 @@ class WebView extends React.Component {
|
|||
};
|
||||
|
||||
getWebViewHandle = () => {
|
||||
return ReactNative.findNodeHandle(this.refs[RCT_WEBVIEW_REF]);
|
||||
return ReactNative.findNodeHandle(this.refs[RNC_WEBVIEW_REF]);
|
||||
};
|
||||
|
||||
onLoadingStart = event => {
|
||||
|
|
|
@ -18,7 +18,6 @@ import {
|
|||
ActivityIndicator,
|
||||
EdgeInsetsPropType,
|
||||
Linking,
|
||||
ScrollView,
|
||||
StyleSheet,
|
||||
Text,
|
||||
UIManager,
|
||||
|
|
Loading…
Reference in New Issue