diff --git a/Libraries/Core/ReactNativeVersion.js b/Libraries/Core/ReactNativeVersion.js index ae9b6f62532e7f146c5ce473b6dec7c4ff0bae13..7402ce633cb5d3fa5dcf2d9d81ea7a0c37088320 100644 --- a/Libraries/Core/ReactNativeVersion.js +++ b/Libraries/Core/ReactNativeVersion.js @@ -15,6 +15,6 @@ exports.version = { major: 0, minor: 51, - patch: 27, + patch: 28, prerelease: null, }; diff --git a/React/Base/RCTVersion.h b/React/Base/RCTVersion.h index c98248cc79d9ecd70afd30870c25a384fbf2bdee..c7e60cfc1d560b2cfd0751eb377fafe12bec1e64 100644 --- a/React/Base/RCTVersion.h +++ b/React/Base/RCTVersion.h @@ -12,6 +12,6 @@ #define RCT_REACT_NATIVE_VERSION @{ \ @"major": @(0), \ @"minor": @(51), \ - @"patch": @(27), \ + @"patch": @(28), \ @"prerelease": [NSNull null], \ } diff --git a/ReactAndroid/gradle.properties b/ReactAndroid/gradle.properties index 0a127da8aaf4e13efb5916ba17de386228b888b1..9f1eb8daacf05bef6ebbb20667e03669bc18e1aa 100644 --- a/ReactAndroid/gradle.properties +++ b/ReactAndroid/gradle.properties @@ -1,4 +1,4 @@ -VERSION_NAME=0.51.27 +VERSION_NAME=0.51.28 GROUP=com.facebook.react POM_NAME=ReactNative diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/network/GmNativeEncryptInterface.java b/ReactAndroid/src/main/java/com/facebook/react/modules/network/GmNativeEncryptInterface.java new file mode 100644 index 0000000000000000000000000000000000000000..deca59f438497554586113809384c0aa78fb9dd1 --- /dev/null +++ b/ReactAndroid/src/main/java/com/facebook/react/modules/network/GmNativeEncryptInterface.java @@ -0,0 +1,9 @@ +package com.facebook.react.modules.network; + +import okhttp3.OkHttpClient; + +public interface GmNativeEncryptInterface{ + public String SMSignature(String source); + public String SM4Encrypt(String source); + public String SM4Decrypt(String cipher); +} diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.java b/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.java index 11e863bc7ea67684abc6282e9bb8a1fc642a48e8..7e4cd87cd9b7b70eeeb45725b9c03883d3fae949 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.java +++ b/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.java @@ -17,8 +17,12 @@ import java.io.Reader; import java.util.HashSet; import java.util.List; import java.util.Set; +import java.util.HashMap; +import java.util.Map; import java.util.concurrent.TimeUnit; +import java.net.URLEncoder; import android.util.Log; +import android.text.TextUtils; import android.util.Base64; @@ -34,6 +38,8 @@ import com.facebook.react.common.network.OkHttpCallUtil; import com.facebook.react.module.annotations.ReactModule; import com.facebook.react.modules.core.DeviceEventManagerModule.RCTDeviceEventEmitter; import com.facebook.react.modules.network.GmsslInterface; +import com.facebook.react.modules.network.GmNativeEncryptInterface; +import com.facebook.react.modules.network.StaticsInterface; import okhttp3.Call; import okhttp3.Callback; @@ -70,6 +76,9 @@ public final class NetworkingModule extends ReactContextBaseJavaModule { private static final long CONNECT_TIMEOUT_MS = 10000; // 10ms private static final long TRANSPORT_TIMEOUT_MS = 30000; // 30ms private static final String USE_GMSSL = "use-gmssl"; + private static final String NATIVE_GM_ENCRYPT = "native-gm-encrypt"; + private static final String GM_ENCRYPT = "encrypt"; + private static final String SIGNATURE = "signature"; private final OkHttpClient mClient; private final ForwardingCookieHandler mCookieHandler; private final @Nullable String mDefaultUserAgent; @@ -77,6 +86,8 @@ public final class NetworkingModule extends ReactContextBaseJavaModule { private final Set mRequestIds; private boolean mShuttingDown; private GmsslInterface mGmsslImpl; + private GmNativeEncryptInterface mGmEncryptImpl; + private StaticsInterface mStaticsInterfaceImpl; /* package */ NetworkingModule( ReactApplicationContext reactContext, @@ -243,10 +254,69 @@ public final class NetworkingModule extends ReactContextBaseJavaModule { ResponseUtil.onRequestError(eventEmitter, requestId, "Unrecognized headers format", null); return; } + //从header中判断是否要使用原生加密 + boolean useNativeEncrypt = "Y".equals(requestHeaders.get(NATIVE_GM_ENCRYPT)) && "Y".equals(requestHeaders.get(GM_ENCRYPT)); + //如果需要进行国密加密,对在请求头中增加国密签名串 signature =xxxx + //如果签名失败,1、将请求头中的使用加密和原生加密标识都修改成N,2、useNativeEncrypt重置为false + if (useNativeEncrypt && mGmEncryptImpl != null) { + if ("GET".equals(method)) { + String param = urlSplit(url).get("param"); + String signature = mGmEncryptImpl.SMSignature(param); + if (!TextUtils.isEmpty(signature)) { + requestHeaders = requestHeaders.newBuilder().add(SIGNATURE,signature).build(); + } else { + requestHeaders = requestHeaders.newBuilder().set(GM_ENCRYPT,"N").set(NATIVE_GM_ENCRYPT,"N").build(); + useNativeEncrypt = false; + if (mStaticsInterfaceImpl != null) { + mStaticsInterfaceImpl.reportEvent(NATIVE_GM_ENCRYPT,"GMEncrypt GET signature null failure"); + } + } + } else if ("POST".equals(method)) { + if (data.hasKey(REQUEST_BODY_KEY_STRING)){ + String body = data.getString(REQUEST_BODY_KEY_STRING); + String signature = mGmEncryptImpl.SMSignature(data.getString(REQUEST_BODY_KEY_STRING)); + if (!TextUtils.isEmpty(signature)) { + requestHeaders = requestHeaders.newBuilder().add(SIGNATURE,signature).build(); + } else { + requestHeaders = requestHeaders.newBuilder().set(GM_ENCRYPT,"N").set(NATIVE_GM_ENCRYPT,"N").build(); + useNativeEncrypt = false; + if (mStaticsInterfaceImpl != null) { + mStaticsInterfaceImpl.reportEvent(NATIVE_GM_ENCRYPT,"GMEncrypt POST signature null failure"); + } + } + } + } + + } String contentType = requestHeaders.get(CONTENT_TYPE_HEADER_NAME); String contentEncoding = requestHeaders.get(CONTENT_ENCODING_HEADER_NAME); requestBuilder.headers(requestHeaders); - + //如果需要进行国密加密,对请求进行加密操作 + if (useNativeEncrypt && mGmEncryptImpl != null && "GET".equals(method)) { + //如果是get请求,取出url中以param为key的参数体,将取出的内容进行SM4加密转base64,加密后的内容,做一次URLEncode塞回到原先的url中做为param的新value + //如果加密失败,则1、不改变原有url 2、因为加密失败了,请求头中的encrypt改为N,encryptNative改为N,signature删除 3、将useNativeEncrypt改为false + String param = urlSplit(url).get("param"); + String encryptContent = mGmEncryptImpl.SM4Encrypt(param); + if(!TextUtils.isEmpty(encryptContent)){ + try { + String encodeContent = URLEncoder.encode(encryptContent, "UTF-8"); + String newUrl = replaceUrlParam(url,"param",encodeContent); + requestBuilder.url(newUrl); + } catch (Exception e) { + requestBuilder.header(GM_ENCRYPT,"N").header(NATIVE_GM_ENCRYPT,"N").removeHeader(SIGNATURE); + useNativeEncrypt = false; + if (mStaticsInterfaceImpl != null) { + mStaticsInterfaceImpl.reportEvent(NATIVE_GM_ENCRYPT,"GMEncrypt GET encrypt failure Exception = " + e.getMessage()); + } + } + } else { + requestBuilder.header(GM_ENCRYPT,"N").header(NATIVE_GM_ENCRYPT,"N").removeHeader(SIGNATURE); + useNativeEncrypt = false; + if (mStaticsInterfaceImpl != null) { + mStaticsInterfaceImpl.reportEvent(NATIVE_GM_ENCRYPT,"GMEncrypt GET encrypt null failure"); + } + } + } if (data == null) { requestBuilder.method(method, RequestBodyUtil.getEmptyBody(method)); } else if (data.hasKey(REQUEST_BODY_KEY_STRING)) { @@ -268,6 +338,23 @@ public final class NetworkingModule extends ReactContextBaseJavaModule { } requestBuilder.method(method, requestBody); } else { + //如果需要进行国密加密,对请求进行加密操作,如果是POST请求 只针对body是string类型,且Content-Type=application/json的请求进行加密 + if (useNativeEncrypt && mGmEncryptImpl != null && "POST".equals(method)) { + //如果是post请求,判断请求头中的Content-Type是否是application/json,如果是,将整个requestBody转成字符串,然后进行SM4加密转base64,加密后的内容做为新的请求ResponseBody + //如果加密失败,则1、不改变原有body 2、因为加密失败了,请求头中的encrypt改为N,encryptNative改为N,signature删除 3、将useNativeEncrypt改为false + if ("application/json".equals(contentType)) { + String encryptContent = mGmEncryptImpl.SM4Encrypt(body); + if (!TextUtils.isEmpty(encryptContent)){ + body = encryptContent; + } else { + requestBuilder.header(GM_ENCRYPT,"N").header(NATIVE_GM_ENCRYPT,"N").removeHeader(SIGNATURE); + useNativeEncrypt = false; + if (mStaticsInterfaceImpl != null) { + mStaticsInterfaceImpl.reportEvent(NATIVE_GM_ENCRYPT,"GMEncrypt POST encrypt null failure"); + } + } + } + } requestBuilder.method(method, RequestBody.create(contentMediaType, body)); } } else if (data.hasKey(REQUEST_BODY_KEY_BASE64)) { @@ -360,6 +447,38 @@ public final class NetworkingModule extends ReactContextBaseJavaModule { return; } removeRequest(requestId); + //如果需要进行国密加密,且对response进行解密操作,如果解密成功 + String decryptContent = ""; + boolean needDecrypt = "Y".equals(response.header("encrypt","N")); + Request originalRequest = call.request(); + boolean useNativeDecrypt = false; + useNativeDecrypt = "Y".equals(originalRequest.header(NATIVE_GM_ENCRYPT)) && "Y".equals(originalRequest.header(GM_ENCRYPT)); + if (useNativeDecrypt && mGmEncryptImpl != null && needDecrypt) { + if (responseType.equals("text")) { + try { + ResponseBody toDecryptResponseBody = response.peekBody(Long.MAX_VALUE); + String toDecryptResponseString = toDecryptResponseBody.string(); + decryptContent = mGmEncryptImpl.SM4Decrypt(toDecryptResponseString); + if (!TextUtils.isEmpty(decryptContent)) { + //修改repsonseHeader中encrypt标志,改为N + Response.Builder responseBuilder = response.newBuilder(); + responseBuilder.header(GM_ENCRYPT,"N"); + response = responseBuilder.build(); + } else { + //解密后的字符串有问题 + if (mStaticsInterfaceImpl != null) { + mStaticsInterfaceImpl.reportEvent(NATIVE_GM_ENCRYPT,"GMEncrypt decrypt decryptContent null failure"); + } + } + } catch (Exception e) { + if (mStaticsInterfaceImpl != null) { + mStaticsInterfaceImpl.reportEvent(NATIVE_GM_ENCRYPT,"GMEncrypt decrypt decryptContent exception e = " + e.getMessage()); + } + } + } + + + } // Before we touch the body send headers to JS ResponseUtil.onResponseReceived( eventEmitter, @@ -383,6 +502,9 @@ public final class NetworkingModule extends ReactContextBaseJavaModule { if (responseType.equals("text")) { try { responseString = responseBody.string(); + if (!TextUtils.isEmpty(decryptContent) && useNativeDecrypt && needDecrypt){ + responseString = decryptContent; + } } catch (IOException e) { if (response.request().method().equalsIgnoreCase("HEAD")) { // The request is an `HEAD` and the body is empty, @@ -598,4 +720,95 @@ public final class NetworkingModule extends ReactContextBaseJavaModule { public void setGmsslImpl(GmsslInterface gmsslImpl){ this.mGmsslImpl = gmsslImpl; } + + public void setGmEncryptImpl(GmNativeEncryptInterface gmEncryptImpl){ + this.mGmEncryptImpl = gmEncryptImpl; + } + + public void setStaticsInterface(StaticsInterface staticsInterface){ + this.mStaticsInterfaceImpl = staticsInterface; + } + + /** + * 将参数存入map集合 + * @param url url地址 + * @return url请求参数部分存入map集合 + */ + private Map urlSplit(String url) { + Map mapRequest = new HashMap(); + String[] arrSplit = null; + String strUrlParam = truncateUrlPage(url); + if (strUrlParam == null) { + return mapRequest; + } + mapRequest.putAll(convertParamsString2Map(strUrlParam)); + return mapRequest; + } + + /** + * 去掉url中的路径,留下请求参数部分 + * @param url url地址 + * @return url请求参数部分 + */ + private String truncateUrlPage(String url) { + String strAllParam = null; + String[] arrSplit = null; + url = url.trim().toLowerCase(); + arrSplit = url.split("[?]"); + if (url.length() > 1) { + if (arrSplit.length > 1) { + for (int i = 1; i < arrSplit.length; i++) { + strAllParam = arrSplit[i]; + } + } + } + return strAllParam; + } + + private Map convertParamsString2Map(String paramsString) { + //为了避免base64 里面的=号干扰预先把== 转换为## + paramsString= paramsString.replace("==","##"); + Map paramsMap = new HashMap(); + String[] tempParams = paramsString.split("&"); + String name = null; + String value = null; + if (tempParams != null && tempParams.length > 0) { + for (int i = 0; i < tempParams.length; i++) { + String[] tempArray = tempParams[i].split("="); + if (tempArray.length == 2) { + name = tempArray[0]; + value = tempArray[1]; + } else { + if (tempArray.length != 1) + continue; + else { + name = tempArray[0]; + value = ""; + } + } + if (name!="") { + value = value.replace("##","=="); + paramsMap.put(name, value); + } + } + } + return paramsMap; + } + + private String replaceUrlParam(String url, String paramName, String paramValue) { + if (!TextUtils.isEmpty(url) && !TextUtils.isEmpty(paramValue) && !TextUtils.isEmpty(paramName)) { + int index = url.indexOf(paramName + "="); + if (index != -1) { + StringBuilder sb = new StringBuilder(); + sb.append(url.substring(0, index)).append(paramName).append("=").append(paramValue); + int idx = url.indexOf("&", index); + if (idx != -1) { + sb.append(url.substring(idx)); + } + url = sb.toString(); + } + } + return url; + } + } diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/network/StaticsInterface.java b/ReactAndroid/src/main/java/com/facebook/react/modules/network/StaticsInterface.java new file mode 100644 index 0000000000000000000000000000000000000000..923ad53cabbf08cb313da14619ac0cee2b98545f --- /dev/null +++ b/ReactAndroid/src/main/java/com/facebook/react/modules/network/StaticsInterface.java @@ -0,0 +1,6 @@ +package com.facebook.react.modules.network; + + +public interface StaticsInterface{ + public void reportEvent(String key,String event); +} diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java b/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java index 6578c9efeb7cb75bff082f1d3c455325f48971d5..4cf3656ec00b237d23643cf1a62c74f197f376c2 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +++ b/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java @@ -19,6 +19,6 @@ public class ReactNativeVersion { public static final Map VERSION = MapBuilder.of( "major", 0, "minor", 51, - "patch", 27, + "patch", 28, "prerelease", null); } diff --git a/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.java b/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.java index 1f05ceb326fa10eefed93ff347db5120c5bfe409..df3dbf06904e451bcc51e8fc7524c8396a15f954 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.java +++ b/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.java @@ -82,6 +82,8 @@ import java.util.List; import javax.inject.Provider; import android.util.Log; import com.facebook.react.modules.network.GmsslInterface; +import com.facebook.react.modules.network.GmNativeEncryptInterface; +import com.facebook.react.modules.network.StaticsInterface; /** * Package defining basic modules and view managers. @@ -90,6 +92,8 @@ public class MainReactPackage extends LazyReactPackage { private MainPackageConfig mConfig; protected GmsslInterface mGmsslImpl; + protected GmNativeEncryptInterface mGmNativeEncryptInterfaceImpl; + protected StaticsInterface mStaticsInterfaceImpl; public MainReactPackage() { } @@ -242,6 +246,12 @@ public class MainReactPackage extends LazyReactPackage { if (mGmsslImpl != null){ networkingModule.setGmsslImpl(mGmsslImpl); } + if (mGmNativeEncryptInterfaceImpl != null) { + networkingModule.setGmEncryptImpl(mGmNativeEncryptInterfaceImpl); + } + if (mStaticsInterfaceImpl != null){ + networkingModule.setStaticsInterface(mStaticsInterfaceImpl); + } return networkingModule; } }), @@ -372,4 +382,12 @@ public class MainReactPackage extends LazyReactPackage { public void setGmsslImpl(GmsslInterface gmsslImpl){ } + + public void setGmEncryptImpl(GmNativeEncryptInterface gmEncryptImpl){ + + } + + public void setStaticsInterfaceImpl(StaticsInterface staticsInterfaceImpl){ + + } } diff --git a/android/com/facebook/react/react-native/0.51.27/react-native-0.51.27-javadoc.jar b/android/com/facebook/react/react-native/0.51.27/react-native-0.51.27-javadoc.jar deleted file mode 100644 index 52108984207c2394e44e7a1baa88ef856db39249..0000000000000000000000000000000000000000 Binary files a/android/com/facebook/react/react-native/0.51.27/react-native-0.51.27-javadoc.jar and /dev/null differ diff --git a/android/com/facebook/react/react-native/0.51.27/react-native-0.51.27-javadoc.jar.md5 b/android/com/facebook/react/react-native/0.51.27/react-native-0.51.27-javadoc.jar.md5 deleted file mode 100644 index b6cff61df1a8fd8f92b5988172291b0b53e0265e..0000000000000000000000000000000000000000 --- a/android/com/facebook/react/react-native/0.51.27/react-native-0.51.27-javadoc.jar.md5 +++ /dev/null @@ -1 +0,0 @@ -11ba037f4a3eec4173270889a031aa54 \ No newline at end of file diff --git a/android/com/facebook/react/react-native/0.51.27/react-native-0.51.27-javadoc.jar.sha1 b/android/com/facebook/react/react-native/0.51.27/react-native-0.51.27-javadoc.jar.sha1 deleted file mode 100644 index bd0296d552099aa78aad30bca2e31c8b135ae1d0..0000000000000000000000000000000000000000 --- a/android/com/facebook/react/react-native/0.51.27/react-native-0.51.27-javadoc.jar.sha1 +++ /dev/null @@ -1 +0,0 @@ -337379b0ae7e1d31561c77ffa3c4f0f8834e5e3c \ No newline at end of file diff --git a/android/com/facebook/react/react-native/0.51.27/react-native-0.51.27-sources.jar.md5 b/android/com/facebook/react/react-native/0.51.27/react-native-0.51.27-sources.jar.md5 deleted file mode 100644 index a7d57d9780bba62b3452ce84d79ef064d7bff22e..0000000000000000000000000000000000000000 --- a/android/com/facebook/react/react-native/0.51.27/react-native-0.51.27-sources.jar.md5 +++ /dev/null @@ -1 +0,0 @@ -ebf3673cf8d6b406250583e9e52226b3 \ No newline at end of file diff --git a/android/com/facebook/react/react-native/0.51.27/react-native-0.51.27-sources.jar.sha1 b/android/com/facebook/react/react-native/0.51.27/react-native-0.51.27-sources.jar.sha1 deleted file mode 100644 index 64fe7e322ca1423362871523c16e40576d94e8fc..0000000000000000000000000000000000000000 --- a/android/com/facebook/react/react-native/0.51.27/react-native-0.51.27-sources.jar.sha1 +++ /dev/null @@ -1 +0,0 @@ -3f1a4be14a5424cb1f64877691c4a0eb405e47a1 \ No newline at end of file diff --git a/android/com/facebook/react/react-native/0.51.27/react-native-0.51.27.aar.md5 b/android/com/facebook/react/react-native/0.51.27/react-native-0.51.27.aar.md5 deleted file mode 100644 index b79fa99ed0602d9f29f18dc428e88e26d7e4a66b..0000000000000000000000000000000000000000 --- a/android/com/facebook/react/react-native/0.51.27/react-native-0.51.27.aar.md5 +++ /dev/null @@ -1 +0,0 @@ -daeabf7cc64b073c8fd9d3a0dd0d08e0 \ No newline at end of file diff --git a/android/com/facebook/react/react-native/0.51.27/react-native-0.51.27.aar.sha1 b/android/com/facebook/react/react-native/0.51.27/react-native-0.51.27.aar.sha1 deleted file mode 100644 index 03b7bc2f8a2d2ff727e6cc4abe52b7f12be15a60..0000000000000000000000000000000000000000 --- a/android/com/facebook/react/react-native/0.51.27/react-native-0.51.27.aar.sha1 +++ /dev/null @@ -1 +0,0 @@ -df07a655dd9089daf0bee50d5034918327f241e1 \ No newline at end of file diff --git a/android/com/facebook/react/react-native/0.51.27/react-native-0.51.27.pom.md5 b/android/com/facebook/react/react-native/0.51.27/react-native-0.51.27.pom.md5 deleted file mode 100644 index d2457a660f0efc0a2ee696cf38e8623cd6f792ad..0000000000000000000000000000000000000000 --- a/android/com/facebook/react/react-native/0.51.27/react-native-0.51.27.pom.md5 +++ /dev/null @@ -1 +0,0 @@ -a9d879a87cf4bbef43c51e9222ecfcb5 \ No newline at end of file diff --git a/android/com/facebook/react/react-native/0.51.27/react-native-0.51.27.pom.sha1 b/android/com/facebook/react/react-native/0.51.27/react-native-0.51.27.pom.sha1 deleted file mode 100644 index 41e91a864825ebb70fa82a2b86276578a2cb587b..0000000000000000000000000000000000000000 --- a/android/com/facebook/react/react-native/0.51.27/react-native-0.51.27.pom.sha1 +++ /dev/null @@ -1 +0,0 @@ -248f3fe98ff36d7f4b314f2c9bae95b3785fee97 \ No newline at end of file diff --git a/android/com/facebook/react/react-native/0.51.28/react-native-0.51.28-javadoc.jar b/android/com/facebook/react/react-native/0.51.28/react-native-0.51.28-javadoc.jar new file mode 100644 index 0000000000000000000000000000000000000000..26040a1eb1b1b77b20262ca7be5f8c769309d54e Binary files /dev/null and b/android/com/facebook/react/react-native/0.51.28/react-native-0.51.28-javadoc.jar differ diff --git a/android/com/facebook/react/react-native/0.51.28/react-native-0.51.28-javadoc.jar.md5 b/android/com/facebook/react/react-native/0.51.28/react-native-0.51.28-javadoc.jar.md5 new file mode 100644 index 0000000000000000000000000000000000000000..7c4374682a067b7341af18f072adb05558eb46d6 --- /dev/null +++ b/android/com/facebook/react/react-native/0.51.28/react-native-0.51.28-javadoc.jar.md5 @@ -0,0 +1 @@ +e37189f857afbf29a287bd74c8d46ca5 \ No newline at end of file diff --git a/android/com/facebook/react/react-native/0.51.28/react-native-0.51.28-javadoc.jar.sha1 b/android/com/facebook/react/react-native/0.51.28/react-native-0.51.28-javadoc.jar.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..66e57c2b67d309f760de300765db451d4a1cc234 --- /dev/null +++ b/android/com/facebook/react/react-native/0.51.28/react-native-0.51.28-javadoc.jar.sha1 @@ -0,0 +1 @@ +8152a522b7972943280dcf63d29581035759d659 \ No newline at end of file diff --git a/android/com/facebook/react/react-native/0.51.27/react-native-0.51.27-sources.jar b/android/com/facebook/react/react-native/0.51.28/react-native-0.51.28-sources.jar similarity index 88% rename from android/com/facebook/react/react-native/0.51.27/react-native-0.51.27-sources.jar rename to android/com/facebook/react/react-native/0.51.28/react-native-0.51.28-sources.jar index ffbaea61e1c2d246275c6edbe218c1ff5e962877..27fedec208f3dc3f717d82848a7fb98eba1f2738 100644 Binary files a/android/com/facebook/react/react-native/0.51.27/react-native-0.51.27-sources.jar and b/android/com/facebook/react/react-native/0.51.28/react-native-0.51.28-sources.jar differ diff --git a/android/com/facebook/react/react-native/0.51.28/react-native-0.51.28-sources.jar.md5 b/android/com/facebook/react/react-native/0.51.28/react-native-0.51.28-sources.jar.md5 new file mode 100644 index 0000000000000000000000000000000000000000..2bbb9087d9c12e63452cd6e156b62b714af18257 --- /dev/null +++ b/android/com/facebook/react/react-native/0.51.28/react-native-0.51.28-sources.jar.md5 @@ -0,0 +1 @@ +5d27fbc72c671cb4a5a54ce2a4732068 \ No newline at end of file diff --git a/android/com/facebook/react/react-native/0.51.28/react-native-0.51.28-sources.jar.sha1 b/android/com/facebook/react/react-native/0.51.28/react-native-0.51.28-sources.jar.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..15ea0951f4a7d46036a3a966f65556d03125bf64 --- /dev/null +++ b/android/com/facebook/react/react-native/0.51.28/react-native-0.51.28-sources.jar.sha1 @@ -0,0 +1 @@ +df0b060d9e4b19ef797f64f8ef4105a92e97dbab \ No newline at end of file diff --git a/android/com/facebook/react/react-native/0.51.27/react-native-0.51.27.aar b/android/com/facebook/react/react-native/0.51.28/react-native-0.51.28.aar similarity index 76% rename from android/com/facebook/react/react-native/0.51.27/react-native-0.51.27.aar rename to android/com/facebook/react/react-native/0.51.28/react-native-0.51.28.aar index 7c8bcf732aabbe3f5391155fcc17e1f28e03fe91..600c135a02111abdc4bc077b0f0e2abbff5b0ee7 100644 Binary files a/android/com/facebook/react/react-native/0.51.27/react-native-0.51.27.aar and b/android/com/facebook/react/react-native/0.51.28/react-native-0.51.28.aar differ diff --git a/android/com/facebook/react/react-native/0.51.28/react-native-0.51.28.aar.md5 b/android/com/facebook/react/react-native/0.51.28/react-native-0.51.28.aar.md5 new file mode 100644 index 0000000000000000000000000000000000000000..c97fd169f7e8e029d2bbd03d0dca0bbb2bc86f24 --- /dev/null +++ b/android/com/facebook/react/react-native/0.51.28/react-native-0.51.28.aar.md5 @@ -0,0 +1 @@ +d8d909d4c4408e97846d846c39c4ed8b \ No newline at end of file diff --git a/android/com/facebook/react/react-native/0.51.28/react-native-0.51.28.aar.sha1 b/android/com/facebook/react/react-native/0.51.28/react-native-0.51.28.aar.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..cf749006c854cc3d34c5dfd6788c9b52dc666647 --- /dev/null +++ b/android/com/facebook/react/react-native/0.51.28/react-native-0.51.28.aar.sha1 @@ -0,0 +1 @@ +282b31482858ec88fdd407dae3017cf1e5166bd9 \ No newline at end of file diff --git a/android/com/facebook/react/react-native/0.51.27/react-native-0.51.27.pom b/android/com/facebook/react/react-native/0.51.28/react-native-0.51.28.pom similarity index 99% rename from android/com/facebook/react/react-native/0.51.27/react-native-0.51.27.pom rename to android/com/facebook/react/react-native/0.51.28/react-native-0.51.28.pom index 55ad219830850205160cccb46fe941d11e68f99b..64268c0348123cdbcb1b6a90288d95efe4cd7432 100644 --- a/android/com/facebook/react/react-native/0.51.27/react-native-0.51.27.pom +++ b/android/com/facebook/react/react-native/0.51.28/react-native-0.51.28.pom @@ -4,7 +4,7 @@ 4.0.0 com.facebook.react react-native - 0.51.27 + 0.51.28 aar ReactNative A framework for building native apps with React diff --git a/android/com/facebook/react/react-native/0.51.28/react-native-0.51.28.pom.md5 b/android/com/facebook/react/react-native/0.51.28/react-native-0.51.28.pom.md5 new file mode 100644 index 0000000000000000000000000000000000000000..7891b44859aa326ad6677f412c26a475de0ac8cc --- /dev/null +++ b/android/com/facebook/react/react-native/0.51.28/react-native-0.51.28.pom.md5 @@ -0,0 +1 @@ +25e27b50a76e9060e44c62ea4c66cb6b \ No newline at end of file diff --git a/android/com/facebook/react/react-native/0.51.28/react-native-0.51.28.pom.sha1 b/android/com/facebook/react/react-native/0.51.28/react-native-0.51.28.pom.sha1 new file mode 100644 index 0000000000000000000000000000000000000000..8a35368453979e65d07a975bbc904e24ca648f15 --- /dev/null +++ b/android/com/facebook/react/react-native/0.51.28/react-native-0.51.28.pom.sha1 @@ -0,0 +1 @@ +c295611fd2232d9b5261d24ebdcb5ecd214dd9b3 \ No newline at end of file diff --git a/android/com/facebook/react/react-native/maven-metadata.xml b/android/com/facebook/react/react-native/maven-metadata.xml index 079d2dfb0a552a7f3970aa76d44a43bc28796b1b..5156ddeb59ee91175e313b75520603243759d139 100644 --- a/android/com/facebook/react/react-native/maven-metadata.xml +++ b/android/com/facebook/react/react-native/maven-metadata.xml @@ -3,10 +3,10 @@ com.facebook.react react-native - 0.51.27 + 0.51.28 - 0.51.27 + 0.51.28 - 20220818115643 + 20230410081407 diff --git a/android/com/facebook/react/react-native/maven-metadata.xml.md5 b/android/com/facebook/react/react-native/maven-metadata.xml.md5 index eb05acb290cf0b01dca63cbb44f9b4574c31ff70..7e013c65c8885b13ab50baabda314fe9e94ad2a3 100644 --- a/android/com/facebook/react/react-native/maven-metadata.xml.md5 +++ b/android/com/facebook/react/react-native/maven-metadata.xml.md5 @@ -1 +1 @@ -5be911b38837e153d32a246666b288c0 \ No newline at end of file +b40979a425c8847cd2b5e1b9984d05cb \ No newline at end of file diff --git a/android/com/facebook/react/react-native/maven-metadata.xml.sha1 b/android/com/facebook/react/react-native/maven-metadata.xml.sha1 index 203317ec176b922f5fe767d90c76c2030f06af9d..6fdab2b57f37f15f835666b4a21670162c29f6af 100644 --- a/android/com/facebook/react/react-native/maven-metadata.xml.sha1 +++ b/android/com/facebook/react/react-native/maven-metadata.xml.sha1 @@ -1 +1 @@ -1343e618769daf82a06c74daca275f996e6d95a5 \ No newline at end of file +43e099c6664b48cf4cfda6bfd9950ec3d0b15d9d \ No newline at end of file diff --git a/package.json b/package.json index 5fadce8fc7b9253a59ff4d322642ea74c8649db6..4890e352238091c14f30e1bd76f572d16be33b36 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "react-native", - "version": "0.51.27", + "version": "0.51.28", "description": "A framework for building native apps using React", "license": "BSD-3-Clause", "repository": { @@ -207,4 +207,4 @@ "shelljs": "^0.7.8", "sinon": "^2.2.0" } -} +} \ No newline at end of file