WIP: Android

This commit is contained in:
Jamon Holmgren 2018-08-07 23:02:40 -07:00
parent bd2c3bc8c2
commit d1f442cc51
9 changed files with 68 additions and 16 deletions

View File

@ -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"
}
}

View File

@ -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";
}
}

View File

@ -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);
}
}

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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 => {

View File

@ -18,7 +18,6 @@ import {
ActivityIndicator,
EdgeInsetsPropType,
Linking,
ScrollView,
StyleSheet,
Text,
UIManager,