WIP: Android
This commit is contained in:
parent
bd2c3bc8c2
commit
d1f442cc51
|
@ -1,14 +1,14 @@
|
||||||
apply plugin: 'com.android.library'
|
apply plugin: 'com.android.library'
|
||||||
|
|
||||||
android {
|
android {
|
||||||
compileSdkVersion 23
|
compileSdkVersion 26
|
||||||
buildToolsVersion "25.0.0"
|
buildToolsVersion '26.0.3'
|
||||||
|
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
minSdkVersion 16
|
minSdkVersion 16
|
||||||
targetSdkVersion 22
|
targetSdkVersion 26
|
||||||
versionCode 19
|
versionCode 1
|
||||||
versionName "1.1.17"
|
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.
|
* 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.WritableMap;
|
||||||
import com.facebook.react.uimanager.events.Event;
|
import com.facebook.react.uimanager.events.Event;
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
* LICENSE file in the root directory of this source tree.
|
* 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.WritableMap;
|
||||||
import com.facebook.react.uimanager.events.Event;
|
import com.facebook.react.uimanager.events.Event;
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
* LICENSE file in the root directory of this source tree.
|
* 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.WritableMap;
|
||||||
import com.facebook.react.uimanager.events.Event;
|
import com.facebook.react.uimanager.events.Event;
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
* LICENSE file in the root directory of this source tree.
|
* 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.WritableMap;
|
||||||
import com.facebook.react.bridge.Arguments;
|
import com.facebook.react.bridge.Arguments;
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
|
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
import React from 'React';
|
import React from 'react';
|
||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
|
|
||||||
import ReactNative from 'react-native';
|
import ReactNative from 'react-native';
|
||||||
|
@ -20,8 +20,8 @@ import {
|
||||||
UIManager,
|
UIManager,
|
||||||
View,
|
View,
|
||||||
ViewPropTypes,
|
ViewPropTypes,
|
||||||
requireNativeComponent,
|
Image,
|
||||||
resolveAssetSource
|
requireNativeComponent
|
||||||
} from 'react-native';
|
} from 'react-native';
|
||||||
|
|
||||||
import deprecatedPropType from 'deprecated-prop-type';
|
import deprecatedPropType from 'deprecated-prop-type';
|
||||||
|
@ -29,7 +29,9 @@ import keyMirror from 'fbjs/lib/keyMirror';
|
||||||
|
|
||||||
import WebViewShared from './WebViewShared';
|
import WebViewShared from './WebViewShared';
|
||||||
|
|
||||||
const RCT_WEBVIEW_REF = 'webview';
|
const resolveAssetSource = Image.resolveAssetSource;
|
||||||
|
|
||||||
|
const RNC_WEBVIEW_REF = 'webview';
|
||||||
|
|
||||||
const WebViewState = keyMirror({
|
const WebViewState = keyMirror({
|
||||||
IDLE: null,
|
IDLE: null,
|
||||||
|
@ -310,7 +312,7 @@ class WebView extends React.Component {
|
||||||
|
|
||||||
const webView = (
|
const webView = (
|
||||||
<NativeWebView
|
<NativeWebView
|
||||||
ref={RCT_WEBVIEW_REF}
|
ref={RNC_WEBVIEW_REF}
|
||||||
key="webViewKey"
|
key="webViewKey"
|
||||||
style={webViewStyles}
|
style={webViewStyles}
|
||||||
source={resolveAssetSource(source)}
|
source={resolveAssetSource(source)}
|
||||||
|
@ -422,7 +424,7 @@ class WebView extends React.Component {
|
||||||
};
|
};
|
||||||
|
|
||||||
getWebViewHandle = () => {
|
getWebViewHandle = () => {
|
||||||
return ReactNative.findNodeHandle(this.refs[RCT_WEBVIEW_REF]);
|
return ReactNative.findNodeHandle(this.refs[RNC_WEBVIEW_REF]);
|
||||||
};
|
};
|
||||||
|
|
||||||
onLoadingStart = event => {
|
onLoadingStart = event => {
|
||||||
|
|
|
@ -18,7 +18,6 @@ import {
|
||||||
ActivityIndicator,
|
ActivityIndicator,
|
||||||
EdgeInsetsPropType,
|
EdgeInsetsPropType,
|
||||||
Linking,
|
Linking,
|
||||||
ScrollView,
|
|
||||||
StyleSheet,
|
StyleSheet,
|
||||||
Text,
|
Text,
|
||||||
UIManager,
|
UIManager,
|
||||||
|
|
Loading…
Reference in New Issue