diff --git a/.eslintrc.js b/.eslintrc.js
new file mode 100644
index 0000000..0817ed8
--- /dev/null
+++ b/.eslintrc.js
@@ -0,0 +1,31 @@
+module.exports = {
+ root: true,
+ parser: '@typescript-eslint/parser',
+ plugins: ['@typescript-eslint', 'prettier'],
+ extends: [
+ 'eslint:recommended',
+ 'plugin:@typescript-eslint/recommended',
+ 'prettier'
+ ],
+ rules: {
+ 'object-curly-spacing': ['error', 'always'],
+ 'prettier/prettier': 'error',
+ '@typescript-eslint/no-unused-vars': ['error', { argsIgnorePattern: '^_' }]
+ },
+ env: {
+ node: true,
+ es6: true
+ },
+ parserOptions: {
+ ecmaVersion: 2020,
+ sourceType: 'module'
+ },
+ ignorePatterns: [
+ 'lib/',
+ 'sample/',
+ 'android/',
+ 'ios/',
+ '*.min.js',
+ 'node_modules/'
+ ]
+};
\ No newline at end of file
diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml
index 1daa647..c9ca729 100644
--- a/.github/workflows/pull-request.yml
+++ b/.github/workflows/pull-request.yml
@@ -14,7 +14,10 @@ jobs:
- name: "Checkout"
uses: actions/checkout@v4
- uses: actions/setup-node@master
- - uses: c-hive/gha-yarn-cache@v2
+ with:
+ node-version: 18
+ cache: yarn
+ cache-dependency-path: yarn.lock
- name: "Install node modules"
run: |
diff --git a/.gitignore b/.gitignore
index da882ec..7c7ac06 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,6 +5,7 @@
## Build generated
build/
DerivedData/
+.yarn/
*.DS_Store
## Various settings
@@ -78,3 +79,9 @@ build
.gradle
local.properties
package-lock.json
+
+# TypeScript build output
+lib/
+
+# Development package
+*.tgz
diff --git a/.npmignore b/.npmignore
index d64a3d9..3d3e024 100644
--- a/.npmignore
+++ b/.npmignore
@@ -1 +1,65 @@
-sample
+# Sample app
+sample/
+
+# Android build artifacts and libs
+android/libs/
+android/build/
+android/.gradle/
+android/local.properties
+
+# iOS build artifacts
+ios/build/
+ios/Pods/
+ios/Podfile.lock
+
+# Build directories
+build/
+dist/
+
+# Dependencies
+node_modules/
+
+# IDE files
+.idea/
+.vscode/
+*.iml
+*.iws
+
+# OS files
+.DS_Store
+Thumbs.db
+
+# Git
+.git/
+.github/
+
+# Logs
+*.log
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+
+# Other
+.gradle/
+.trunk/
+*.tgz
+*.tar.gz
+
+# Heavy binary files
+*.jar
+*.aar
+*.so
+*.dylib
+*.dll
+
+# Development files
+package-lock.json
+yarn.lock
+tsconfig.json
+release.sh
+
+# Development and test files
+**/*.test.ts
+**/*.test.tsx
+**/*.spec.ts
+**/*.spec.tsx
\ No newline at end of file
diff --git a/.prettierrc.js b/.prettierrc.js
new file mode 100644
index 0000000..17bbe7f
--- /dev/null
+++ b/.prettierrc.js
@@ -0,0 +1,11 @@
+module.exports = {
+ bracketSpacing: true,
+ singleQuote: true,
+ trailingComma: 'es5',
+ tabWidth: 2,
+ useTabs: false,
+ semi: true,
+ bracketSameLine: false,
+ arrowParens: 'avoid',
+ printWidth: 80
+};
\ No newline at end of file
diff --git a/ONBOARDING.md b/ONBOARDING.md
new file mode 100644
index 0000000..588cd6c
--- /dev/null
+++ b/ONBOARDING.md
@@ -0,0 +1,213 @@
+# Developer Onboarding Guide
+
+This guide will help you set up your development environment for working on the react-native-mparticle SDK.
+
+## Prerequisites
+
+- Node.js and npm
+- React Native development environment set up ([React Native Environment Setup Guide](https://reactnative.dev/docs/environment-setup))
+- For iOS:
+ - macOS
+ - Xcode (latest version recommended)
+ - CocoaPods
+ - Ruby (for CocoaPods)
+- For Android:
+ - Android Studio
+ - Java Development Kit (JDK)
+ - Android SDK
+
+## Project Structure
+
+```
+react-native-mparticle/
+├── android/ # Native Android SDK implementation
+├── ios/ # Native iOS SDK implementation
+├── js/ # JavaScript/TypeScript SDK implementation
+├── sample/ # Sample app for testing
+└── ...
+```
+
+## Initial Setup
+
+Install dependencies:
+```bash
+yarn install
+```
+
+## Running the Sample App
+
+The sample app is a great way to test your changes and see the SDK in action.
+
+### iOS Sample App
+
+1. Navigate to the sample directory:
+```bash
+cd sample
+```
+
+2. Install JavaScript dependencies:
+```bash
+yarn install
+```
+
+3. Install iOS dependencies:
+```bash
+cd ios
+pod install
+cd ..
+```
+
+4. Start the Metro bundler:
+```bash
+yarn start
+```
+
+5. Open the iOS workspace:
+```bash
+open ios/MParticleSample.xcworkspace
+```
+
+6. In Xcode:
+ - Select your target device/simulator
+ - Update signing configuration if needed
+ - Build and run (⌘R)
+
+### Android Sample App
+
+1. Navigate to the sample directory:
+```bash
+cd sample
+```
+
+2. Install JavaScript dependencies:
+```bash
+npm install
+# or
+yarn install
+```
+
+3. Start the Metro bundler:
+```bash
+npm start
+# or
+yarn start
+```
+
+4. Open Android Studio:
+ - Open the `android` folder in Android Studio
+ - Let Gradle sync complete
+ - Update any required SDK packages if prompted
+
+5. Run the app:
+ - Select your target device/emulator
+ - Click Run (or press ⇧F10)
+
+## Development Workflow
+
+### Building the SDK
+
+#### Android
+```bash
+cd android
+./gradlew build
+```
+
+#### iOS
+```bash
+cd ios
+pod install
+```
+
+### Running Tests
+
+```bash
+# Run JavaScript tests
+npm test
+
+# Run Android tests
+cd android
+./gradlew test
+
+# Run iOS tests
+cd ios/RNMParticle.xcodeproj
+xcodebuild test
+```
+
+## Troubleshooting
+
+### Common iOS Issues
+
+1. "Missing config.h" error:
+ This error occurs because the mParticle SDK contains Swift code which requires special handling. To fix this:
+
+ a. Open your `sample/ios/Podfile` and add this block before the target definition:
+ ```ruby
+ pre_install do |installer|
+ installer.pod_targets.each do |pod|
+ if pod.name == 'mParticle-Apple-SDK'
+ def pod.build_type;
+ Pod::BuildType.new(:linkage => :dynamic, :packaging => :framework)
+ end
+ end
+ end
+ end
+ ```
+
+ b. Clean and reinstall pods:
+ ```bash
+ cd sample/ios
+ pod cache clean --all
+ rm -rf Pods Podfile.lock
+ pod install
+ ```
+
+ c. If using Xcode 12 or later, ensure your project's Build Settings has "Allow Non-modular Includes In Framework Modules" set to Yes
+
+2. Pod install fails:
+ - Try cleaning the pod cache: `pod cache clean --all`
+ - Delete Podfile.lock and try again
+ - Ensure CocoaPods is up to date: `bundle update`
+
+3. Build errors:
+ - Clean build folder in Xcode (⇧⌘K)
+ - Delete derived data: `rm -rf ~/Library/Developer/Xcode/DerivedData`
+ - Ensure all dependencies are properly installed
+
+### Common Android Issues
+
+1. Gradle sync fails:
+ - Check Android Studio SDK Manager for missing packages
+ - Update Gradle version if needed
+ - Clean project and rebuild
+
+2. Build errors:
+ - Run `./gradlew clean`
+ - Invalidate caches in Android Studio
+ - Ensure all dependencies are properly installed
+
+## Contributing
+
+1. Create a feature branch
+2. Make your changes
+3. Test thoroughly
+4. Create a pull request
+5. Ensure CI passes
+6. Request review
+
+## Release Process
+
+1. Update version numbers:
+ - package.json
+ - android/build.gradle
+ - ios/RNMParticle.podspec
+
+2. Update CHANGELOG.md
+
+3. Create release PR
+
+4. After merge, create a new release on GitHub
+
+5. Publish to npm:
+```bash
+npm publish
+```
\ No newline at end of file
diff --git a/android/build.gradle b/android/build.gradle
index f87b43f..aef261f 100644
--- a/android/build.gradle
+++ b/android/build.gradle
@@ -1,16 +1,18 @@
buildscript {
+ ext.kotlin_version = "2.1.0"
repositories {
mavenCentral()
google()
}
dependencies {
- classpath 'com.android.tools.build:gradle:7.4.2'
+ classpath 'com.android.tools.build:gradle:8.1.4'
+ classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
plugins {
id "org.sonarqube" version "4.4.1.3373"
- id "org.jlleitschuh.gradle.ktlint" version "11.6.1"
+ id "org.jlleitschuh.gradle.ktlint" version "13.0.0"
}
sonarqube {
@@ -21,10 +23,41 @@ sonarqube {
}
}
+def isNewArchitectureEnabled() {
+ // React Native 0.80+ uses this standard detection approach
+ return project.hasProperty("newArchEnabled") && project.newArchEnabled.toBoolean()
+}
+
+def supportsNamespace() {
+ def parsed = com.android.Version.ANDROID_GRADLE_PLUGIN_VERSION.tokenize('.')
+ def major = parsed[0].toInteger()
+ def minor = parsed[1].toInteger()
+
+ // Namespace support was added in 7.3.0
+ if (major == 7 && minor >= 3) {
+ return true
+ }
+
+ return major >= 8
+}
+
apply plugin: 'org.jlleitschuh.gradle.ktlint'
apply plugin: 'com.android.library'
+apply plugin: 'kotlin-android'
+//if (isNewArchitectureEnabled()) {
+// apply plugin: 'com.facebook.react'
+//}
android {
+ if (supportsNamespace()) {
+ namespace 'com.mparticle.react'
+ buildFeatures.buildConfig = true
+ sourceSets {
+ main {
+ manifest.srcFile "src/main/AndroidManifestNew.xml"
+ }
+ }
+ }
compileSdkVersion 33
defaultConfig {
@@ -32,6 +65,25 @@ android {
targetSdkVersion 33
versionCode 2
versionName "2.0.0"
+ //buildConfigField "boolean", "IS_NEW_ARCHITECTURE_ENABLED", isNewArchitectureEnabled().toString()
+ }
+ sourceSets {
+ main {
+ //if (isNewArchitectureEnabled()) {
+ // java.srcDirs += ['src/newarch/java']
+ //} else {
+ java.srcDirs += ['src/oldarch/java']
+ //}
+ }
+ }
+
+ compileOptions {
+ sourceCompatibility JavaVersion.VERSION_17
+ targetCompatibility JavaVersion.VERSION_17
+ }
+
+ kotlinOptions {
+ jvmTarget = '17'
}
buildTypes {
release {
@@ -45,17 +97,16 @@ android {
}
repositories {
- maven {
- //update periodically - current version: 0.70.5
- url "$rootDir/react-native-android"
- }
mavenCentral()
google()
+}
+ktlint {
+ outputToConsole = true
}
dependencies {
- compileOnly 'com.facebook.react:react-native:0.20.1'
+ api 'com.facebook.react:react-android:+'
//
// In your app, you should include mParticle core like this:
@@ -64,13 +115,14 @@ dependencies {
//
// (See https://github.com/mparticle/mparticle-android-sdk for the latest version)
//
- compileOnly 'com.mparticle:android-core:[5.9.3, )'
+ api 'com.mparticle:android-core:[5.9.3, )'
//
// And, if you want to include kits, you can do so as follows:
//
// compile 'com.mparticle:android-example-kit:REPLACEME'
//
+ implementation "androidx.lifecycle:lifecycle-runtime-ktx:2.6.1"
testImplementation 'org.mockito:mockito-core:5.8.0'
androidTestImplementation 'org.mockito:mockito-android:5.8.0'
@@ -79,6 +131,6 @@ dependencies {
testImplementation 'junit:junit:4.13.2'
testImplementation files('libs/java-json.jar')
- testImplementation 'com.mparticle:android-core:5.55.0'
- testImplementation 'com.facebook.react:react-native:0.20.1'
+ testImplementation 'com.mparticle:android-core:5+'
+ testImplementation("com.facebook.react:react-android:+")
}
diff --git a/android/gradle.properties b/android/gradle.properties
index fab3fb6..418c55f 100644
--- a/android/gradle.properties
+++ b/android/gradle.properties
@@ -51,3 +51,5 @@ expo.webp.enabled=true
# Enable animated webp support (~3.4 MB increase)
# Disabled by default because iOS doesn't support animated webp
expo.webp.animated=false
+
+sonar.gradle.skipCompile=true
diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties
index 7a70adf..85e6182 100644
--- a/android/gradle/wrapper/gradle-wrapper.properties
+++ b/android/gradle/wrapper/gradle-wrapper.properties
@@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-all.zip
diff --git a/android/libs/react-native-android/com/facebook/react/hermes-engine/0.70.5/hermes-engine-0.70.5-debug-sources.jar b/android/libs/react-native-android/com/facebook/react/hermes-engine/0.70.5/hermes-engine-0.70.5-debug-sources.jar
deleted file mode 100644
index 21d9660..0000000
Binary files a/android/libs/react-native-android/com/facebook/react/hermes-engine/0.70.5/hermes-engine-0.70.5-debug-sources.jar and /dev/null differ
diff --git a/android/libs/react-native-android/com/facebook/react/hermes-engine/0.70.5/hermes-engine-0.70.5-debug-sources.jar.md5 b/android/libs/react-native-android/com/facebook/react/hermes-engine/0.70.5/hermes-engine-0.70.5-debug-sources.jar.md5
deleted file mode 100644
index d8f0e96..0000000
--- a/android/libs/react-native-android/com/facebook/react/hermes-engine/0.70.5/hermes-engine-0.70.5-debug-sources.jar.md5
+++ /dev/null
@@ -1 +0,0 @@
-7b864274b543d21ee7d7c9c8e7f7b043
\ No newline at end of file
diff --git a/android/libs/react-native-android/com/facebook/react/hermes-engine/0.70.5/hermes-engine-0.70.5-debug-sources.jar.sha1 b/android/libs/react-native-android/com/facebook/react/hermes-engine/0.70.5/hermes-engine-0.70.5-debug-sources.jar.sha1
deleted file mode 100644
index 50cc9b7..0000000
--- a/android/libs/react-native-android/com/facebook/react/hermes-engine/0.70.5/hermes-engine-0.70.5-debug-sources.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-75340c383a5d55a37d68181f12b1d8d939a3f065
\ No newline at end of file
diff --git a/android/libs/react-native-android/com/facebook/react/hermes-engine/0.70.5/hermes-engine-0.70.5-debug-sources.jar.sha256 b/android/libs/react-native-android/com/facebook/react/hermes-engine/0.70.5/hermes-engine-0.70.5-debug-sources.jar.sha256
deleted file mode 100644
index 2f6f656..0000000
--- a/android/libs/react-native-android/com/facebook/react/hermes-engine/0.70.5/hermes-engine-0.70.5-debug-sources.jar.sha256
+++ /dev/null
@@ -1 +0,0 @@
-1fe6791aeefb0391d319d763c655a6f8232676141b886d0a467b8834a0b86497
\ No newline at end of file
diff --git a/android/libs/react-native-android/com/facebook/react/hermes-engine/0.70.5/hermes-engine-0.70.5-debug-sources.jar.sha512 b/android/libs/react-native-android/com/facebook/react/hermes-engine/0.70.5/hermes-engine-0.70.5-debug-sources.jar.sha512
deleted file mode 100644
index af4ef65..0000000
--- a/android/libs/react-native-android/com/facebook/react/hermes-engine/0.70.5/hermes-engine-0.70.5-debug-sources.jar.sha512
+++ /dev/null
@@ -1 +0,0 @@
-b6d659b87a103dd21026d8715420d047b70e76219d39121795598811cff2c7bb6cf3a860d8836fe6eeb753f785d7c2f7b961ea48c5cba27626a6e1cb5b07ee62
\ No newline at end of file
diff --git a/android/libs/react-native-android/com/facebook/react/hermes-engine/0.70.5/hermes-engine-0.70.5-debug.aar b/android/libs/react-native-android/com/facebook/react/hermes-engine/0.70.5/hermes-engine-0.70.5-debug.aar
deleted file mode 100644
index 5723e1f..0000000
Binary files a/android/libs/react-native-android/com/facebook/react/hermes-engine/0.70.5/hermes-engine-0.70.5-debug.aar and /dev/null differ
diff --git a/android/libs/react-native-android/com/facebook/react/hermes-engine/0.70.5/hermes-engine-0.70.5-debug.aar.md5 b/android/libs/react-native-android/com/facebook/react/hermes-engine/0.70.5/hermes-engine-0.70.5-debug.aar.md5
deleted file mode 100644
index 0d34886..0000000
--- a/android/libs/react-native-android/com/facebook/react/hermes-engine/0.70.5/hermes-engine-0.70.5-debug.aar.md5
+++ /dev/null
@@ -1 +0,0 @@
-8f67048d84e52b2c37b14459567a5a9d
\ No newline at end of file
diff --git a/android/libs/react-native-android/com/facebook/react/hermes-engine/0.70.5/hermes-engine-0.70.5-debug.aar.sha1 b/android/libs/react-native-android/com/facebook/react/hermes-engine/0.70.5/hermes-engine-0.70.5-debug.aar.sha1
deleted file mode 100644
index 2fa63ef..0000000
--- a/android/libs/react-native-android/com/facebook/react/hermes-engine/0.70.5/hermes-engine-0.70.5-debug.aar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-f246204e16175a16e94ddab8556b5980c6241d14
\ No newline at end of file
diff --git a/android/libs/react-native-android/com/facebook/react/hermes-engine/0.70.5/hermes-engine-0.70.5-debug.aar.sha256 b/android/libs/react-native-android/com/facebook/react/hermes-engine/0.70.5/hermes-engine-0.70.5-debug.aar.sha256
deleted file mode 100644
index a366acb..0000000
--- a/android/libs/react-native-android/com/facebook/react/hermes-engine/0.70.5/hermes-engine-0.70.5-debug.aar.sha256
+++ /dev/null
@@ -1 +0,0 @@
-98edd89a8c6b428921a71c83353b7c2ead7561ef78390d3d2f8bdec7ea0bccba
\ No newline at end of file
diff --git a/android/libs/react-native-android/com/facebook/react/hermes-engine/0.70.5/hermes-engine-0.70.5-debug.aar.sha512 b/android/libs/react-native-android/com/facebook/react/hermes-engine/0.70.5/hermes-engine-0.70.5-debug.aar.sha512
deleted file mode 100644
index b8b843c..0000000
--- a/android/libs/react-native-android/com/facebook/react/hermes-engine/0.70.5/hermes-engine-0.70.5-debug.aar.sha512
+++ /dev/null
@@ -1 +0,0 @@
-ccbb56a7ba17357aa68c9ba685f118acae462481c186ba2e18a5dff3a779fb6cf1b6557965777282625b1fea8a82336ee3d6166d226ac494413770ade3369402
\ No newline at end of file
diff --git a/android/libs/react-native-android/com/facebook/react/hermes-engine/0.70.5/hermes-engine-0.70.5-release-sources.jar b/android/libs/react-native-android/com/facebook/react/hermes-engine/0.70.5/hermes-engine-0.70.5-release-sources.jar
deleted file mode 100644
index 4e26eec..0000000
Binary files a/android/libs/react-native-android/com/facebook/react/hermes-engine/0.70.5/hermes-engine-0.70.5-release-sources.jar and /dev/null differ
diff --git a/android/libs/react-native-android/com/facebook/react/hermes-engine/0.70.5/hermes-engine-0.70.5-release-sources.jar.md5 b/android/libs/react-native-android/com/facebook/react/hermes-engine/0.70.5/hermes-engine-0.70.5-release-sources.jar.md5
deleted file mode 100644
index 780670a..0000000
--- a/android/libs/react-native-android/com/facebook/react/hermes-engine/0.70.5/hermes-engine-0.70.5-release-sources.jar.md5
+++ /dev/null
@@ -1 +0,0 @@
-c8db891c3be1b407d7079c02c303243b
\ No newline at end of file
diff --git a/android/libs/react-native-android/com/facebook/react/hermes-engine/0.70.5/hermes-engine-0.70.5-release-sources.jar.sha1 b/android/libs/react-native-android/com/facebook/react/hermes-engine/0.70.5/hermes-engine-0.70.5-release-sources.jar.sha1
deleted file mode 100644
index 3355f97..0000000
--- a/android/libs/react-native-android/com/facebook/react/hermes-engine/0.70.5/hermes-engine-0.70.5-release-sources.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-34cf662170d553da87ddd8ef2213f13212955d1d
\ No newline at end of file
diff --git a/android/libs/react-native-android/com/facebook/react/hermes-engine/0.70.5/hermes-engine-0.70.5-release-sources.jar.sha256 b/android/libs/react-native-android/com/facebook/react/hermes-engine/0.70.5/hermes-engine-0.70.5-release-sources.jar.sha256
deleted file mode 100644
index eee7318..0000000
--- a/android/libs/react-native-android/com/facebook/react/hermes-engine/0.70.5/hermes-engine-0.70.5-release-sources.jar.sha256
+++ /dev/null
@@ -1 +0,0 @@
-e622d9a7db5ba1a2161785ab8745dda58d1012aad04f7f9489fce207cf567f8a
\ No newline at end of file
diff --git a/android/libs/react-native-android/com/facebook/react/hermes-engine/0.70.5/hermes-engine-0.70.5-release-sources.jar.sha512 b/android/libs/react-native-android/com/facebook/react/hermes-engine/0.70.5/hermes-engine-0.70.5-release-sources.jar.sha512
deleted file mode 100644
index 8882337..0000000
--- a/android/libs/react-native-android/com/facebook/react/hermes-engine/0.70.5/hermes-engine-0.70.5-release-sources.jar.sha512
+++ /dev/null
@@ -1 +0,0 @@
-205a0fd395d6d02c27c4611ae1ceca7ccb4f3554f17f44d338f9ffef2e3521e933616e74ac1b17bb7d300891ede5ecf58e966a11becda27f6760f862f2316783
\ No newline at end of file
diff --git a/android/libs/react-native-android/com/facebook/react/hermes-engine/0.70.5/hermes-engine-0.70.5-release.aar b/android/libs/react-native-android/com/facebook/react/hermes-engine/0.70.5/hermes-engine-0.70.5-release.aar
deleted file mode 100644
index 13ad1c5..0000000
Binary files a/android/libs/react-native-android/com/facebook/react/hermes-engine/0.70.5/hermes-engine-0.70.5-release.aar and /dev/null differ
diff --git a/android/libs/react-native-android/com/facebook/react/hermes-engine/0.70.5/hermes-engine-0.70.5-release.aar.md5 b/android/libs/react-native-android/com/facebook/react/hermes-engine/0.70.5/hermes-engine-0.70.5-release.aar.md5
deleted file mode 100644
index 07e91ce..0000000
--- a/android/libs/react-native-android/com/facebook/react/hermes-engine/0.70.5/hermes-engine-0.70.5-release.aar.md5
+++ /dev/null
@@ -1 +0,0 @@
-4eea565acfa26284caefb83ea547a27d
\ No newline at end of file
diff --git a/android/libs/react-native-android/com/facebook/react/hermes-engine/0.70.5/hermes-engine-0.70.5-release.aar.sha1 b/android/libs/react-native-android/com/facebook/react/hermes-engine/0.70.5/hermes-engine-0.70.5-release.aar.sha1
deleted file mode 100644
index 08dc4b9..0000000
--- a/android/libs/react-native-android/com/facebook/react/hermes-engine/0.70.5/hermes-engine-0.70.5-release.aar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-6d67ef0ee827fb500c5dae6e8de8497b7513b51f
\ No newline at end of file
diff --git a/android/libs/react-native-android/com/facebook/react/hermes-engine/0.70.5/hermes-engine-0.70.5-release.aar.sha256 b/android/libs/react-native-android/com/facebook/react/hermes-engine/0.70.5/hermes-engine-0.70.5-release.aar.sha256
deleted file mode 100644
index 5b262a1..0000000
--- a/android/libs/react-native-android/com/facebook/react/hermes-engine/0.70.5/hermes-engine-0.70.5-release.aar.sha256
+++ /dev/null
@@ -1 +0,0 @@
-3cf7d55a8e2a610cb293d91acc90881114df0150aea5bb19b2df78158c331134
\ No newline at end of file
diff --git a/android/libs/react-native-android/com/facebook/react/hermes-engine/0.70.5/hermes-engine-0.70.5-release.aar.sha512 b/android/libs/react-native-android/com/facebook/react/hermes-engine/0.70.5/hermes-engine-0.70.5-release.aar.sha512
deleted file mode 100644
index a93539c..0000000
--- a/android/libs/react-native-android/com/facebook/react/hermes-engine/0.70.5/hermes-engine-0.70.5-release.aar.sha512
+++ /dev/null
@@ -1 +0,0 @@
-f114d26c0c757a2a333423738861dfcd225a790ba97a3a140e21cd131e9cf1c8cdc9e78372c735b6dc8f8ca004cf38e7b75b3c07afef5230fba7b57e71d332b3
\ No newline at end of file
diff --git a/android/libs/react-native-android/com/facebook/react/hermes-engine/0.70.5/hermes-engine-0.70.5.module b/android/libs/react-native-android/com/facebook/react/hermes-engine/0.70.5/hermes-engine-0.70.5.module
deleted file mode 100644
index 69ed68f..0000000
--- a/android/libs/react-native-android/com/facebook/react/hermes-engine/0.70.5/hermes-engine-0.70.5.module
+++ /dev/null
@@ -1,204 +0,0 @@
-{
- "formatVersion": "1.1",
- "component": {
- "group": "com.facebook.react",
- "module": "hermes-engine",
- "version": "0.70.5",
- "attributes": {
- "org.gradle.status": "release"
- }
- },
- "createdBy": {
- "gradle": {
- "version": "7.5.1"
- }
- },
- "variants": [
- {
- "name": "debugVariantDefaultApiPublication",
- "attributes": {
- "com.android.build.api.attributes.BuildTypeAttr": "debug",
- "org.gradle.category": "library",
- "org.gradle.dependency.bundling": "external",
- "org.gradle.libraryelements": "aar",
- "org.gradle.usage": "java-api"
- },
- "files": [
- {
- "name": "hermes-engine-0.70.5-debug.aar",
- "url": "hermes-engine-0.70.5-debug.aar",
- "size": 4033701,
- "sha512": "ccbb56a7ba17357aa68c9ba685f118acae462481c186ba2e18a5dff3a779fb6cf1b6557965777282625b1fea8a82336ee3d6166d226ac494413770ade3369402",
- "sha256": "98edd89a8c6b428921a71c83353b7c2ead7561ef78390d3d2f8bdec7ea0bccba",
- "sha1": "f246204e16175a16e94ddab8556b5980c6241d14",
- "md5": "8f67048d84e52b2c37b14459567a5a9d"
- }
- ]
- },
- {
- "name": "debugVariantDefaultRuntimePublication",
- "attributes": {
- "com.android.build.api.attributes.BuildTypeAttr": "debug",
- "org.gradle.category": "library",
- "org.gradle.dependency.bundling": "external",
- "org.gradle.libraryelements": "aar",
- "org.gradle.usage": "java-runtime"
- },
- "dependencies": [
- {
- "group": "com.facebook.fbjni",
- "module": "fbjni",
- "version": {
- "requires": "0.2.2"
- }
- },
- {
- "group": "com.facebook.soloader",
- "module": "soloader",
- "version": {
- "requires": "0.10.3"
- }
- },
- {
- "group": "com.facebook.yoga",
- "module": "proguard-annotations",
- "version": {
- "requires": "1.19.0"
- }
- },
- {
- "group": "androidx.annotation",
- "module": "annotation",
- "version": {
- "requires": "1.3.0"
- }
- }
- ],
- "files": [
- {
- "name": "hermes-engine-0.70.5-debug.aar",
- "url": "hermes-engine-0.70.5-debug.aar",
- "size": 4033701,
- "sha512": "ccbb56a7ba17357aa68c9ba685f118acae462481c186ba2e18a5dff3a779fb6cf1b6557965777282625b1fea8a82336ee3d6166d226ac494413770ade3369402",
- "sha256": "98edd89a8c6b428921a71c83353b7c2ead7561ef78390d3d2f8bdec7ea0bccba",
- "sha1": "f246204e16175a16e94ddab8556b5980c6241d14",
- "md5": "8f67048d84e52b2c37b14459567a5a9d"
- }
- ]
- },
- {
- "name": "debugVariantDefaultSourcePublication",
- "attributes": {
- "com.android.build.api.attributes.BuildTypeAttr": "debug",
- "org.gradle.category": "documentation",
- "org.gradle.dependency.bundling": "external",
- "org.gradle.docstype": "sources",
- "org.gradle.usage": "java-runtime"
- },
- "files": [
- {
- "name": "hermes-engine-0.70.5-debug-sources.jar",
- "url": "hermes-engine-0.70.5-debug-sources.jar",
- "size": 62707,
- "sha512": "b6d659b87a103dd21026d8715420d047b70e76219d39121795598811cff2c7bb6cf3a860d8836fe6eeb753f785d7c2f7b961ea48c5cba27626a6e1cb5b07ee62",
- "sha256": "1fe6791aeefb0391d319d763c655a6f8232676141b886d0a467b8834a0b86497",
- "sha1": "75340c383a5d55a37d68181f12b1d8d939a3f065",
- "md5": "7b864274b543d21ee7d7c9c8e7f7b043"
- }
- ]
- },
- {
- "name": "releaseVariantDefaultApiPublication",
- "attributes": {
- "com.android.build.api.attributes.BuildTypeAttr": "release",
- "org.gradle.category": "library",
- "org.gradle.dependency.bundling": "external",
- "org.gradle.libraryelements": "aar",
- "org.gradle.usage": "java-api"
- },
- "files": [
- {
- "name": "hermes-engine-0.70.5-release.aar",
- "url": "hermes-engine-0.70.5-release.aar",
- "size": 3458378,
- "sha512": "f114d26c0c757a2a333423738861dfcd225a790ba97a3a140e21cd131e9cf1c8cdc9e78372c735b6dc8f8ca004cf38e7b75b3c07afef5230fba7b57e71d332b3",
- "sha256": "3cf7d55a8e2a610cb293d91acc90881114df0150aea5bb19b2df78158c331134",
- "sha1": "6d67ef0ee827fb500c5dae6e8de8497b7513b51f",
- "md5": "4eea565acfa26284caefb83ea547a27d"
- }
- ]
- },
- {
- "name": "releaseVariantDefaultRuntimePublication",
- "attributes": {
- "com.android.build.api.attributes.BuildTypeAttr": "release",
- "org.gradle.category": "library",
- "org.gradle.dependency.bundling": "external",
- "org.gradle.libraryelements": "aar",
- "org.gradle.usage": "java-runtime"
- },
- "dependencies": [
- {
- "group": "com.facebook.fbjni",
- "module": "fbjni",
- "version": {
- "requires": "0.2.2"
- }
- },
- {
- "group": "com.facebook.soloader",
- "module": "soloader",
- "version": {
- "requires": "0.10.3"
- }
- },
- {
- "group": "com.facebook.yoga",
- "module": "proguard-annotations",
- "version": {
- "requires": "1.19.0"
- }
- },
- {
- "group": "androidx.annotation",
- "module": "annotation",
- "version": {
- "requires": "1.3.0"
- }
- }
- ],
- "files": [
- {
- "name": "hermes-engine-0.70.5-release.aar",
- "url": "hermes-engine-0.70.5-release.aar",
- "size": 3458378,
- "sha512": "f114d26c0c757a2a333423738861dfcd225a790ba97a3a140e21cd131e9cf1c8cdc9e78372c735b6dc8f8ca004cf38e7b75b3c07afef5230fba7b57e71d332b3",
- "sha256": "3cf7d55a8e2a610cb293d91acc90881114df0150aea5bb19b2df78158c331134",
- "sha1": "6d67ef0ee827fb500c5dae6e8de8497b7513b51f",
- "md5": "4eea565acfa26284caefb83ea547a27d"
- }
- ]
- },
- {
- "name": "releaseVariantDefaultSourcePublication",
- "attributes": {
- "com.android.build.api.attributes.BuildTypeAttr": "release",
- "org.gradle.category": "documentation",
- "org.gradle.dependency.bundling": "external",
- "org.gradle.docstype": "sources",
- "org.gradle.usage": "java-runtime"
- },
- "files": [
- {
- "name": "hermes-engine-0.70.5-release-sources.jar",
- "url": "hermes-engine-0.70.5-release-sources.jar",
- "size": 62694,
- "sha512": "205a0fd395d6d02c27c4611ae1ceca7ccb4f3554f17f44d338f9ffef2e3521e933616e74ac1b17bb7d300891ede5ecf58e966a11becda27f6760f862f2316783",
- "sha256": "e622d9a7db5ba1a2161785ab8745dda58d1012aad04f7f9489fce207cf567f8a",
- "sha1": "34cf662170d553da87ddd8ef2213f13212955d1d",
- "md5": "c8db891c3be1b407d7079c02c303243b"
- }
- ]
- }
- ]
-}
diff --git a/android/libs/react-native-android/com/facebook/react/hermes-engine/0.70.5/hermes-engine-0.70.5.module.md5 b/android/libs/react-native-android/com/facebook/react/hermes-engine/0.70.5/hermes-engine-0.70.5.module.md5
deleted file mode 100644
index ad1706d..0000000
--- a/android/libs/react-native-android/com/facebook/react/hermes-engine/0.70.5/hermes-engine-0.70.5.module.md5
+++ /dev/null
@@ -1 +0,0 @@
-4ff83d5a836dec90593a9de87e02b66f
\ No newline at end of file
diff --git a/android/libs/react-native-android/com/facebook/react/hermes-engine/0.70.5/hermes-engine-0.70.5.module.sha1 b/android/libs/react-native-android/com/facebook/react/hermes-engine/0.70.5/hermes-engine-0.70.5.module.sha1
deleted file mode 100644
index 8af82fe..0000000
--- a/android/libs/react-native-android/com/facebook/react/hermes-engine/0.70.5/hermes-engine-0.70.5.module.sha1
+++ /dev/null
@@ -1 +0,0 @@
-b5236e1fc7e7d9e5ddf5219e8a6bb08a0237d9da
\ No newline at end of file
diff --git a/android/libs/react-native-android/com/facebook/react/hermes-engine/0.70.5/hermes-engine-0.70.5.module.sha256 b/android/libs/react-native-android/com/facebook/react/hermes-engine/0.70.5/hermes-engine-0.70.5.module.sha256
deleted file mode 100644
index 539e637..0000000
--- a/android/libs/react-native-android/com/facebook/react/hermes-engine/0.70.5/hermes-engine-0.70.5.module.sha256
+++ /dev/null
@@ -1 +0,0 @@
-4e27316d4f981093d6f73885dcdc5e64dc23a18ad892d68cf7b7fc22cdfc598d
\ No newline at end of file
diff --git a/android/libs/react-native-android/com/facebook/react/hermes-engine/0.70.5/hermes-engine-0.70.5.module.sha512 b/android/libs/react-native-android/com/facebook/react/hermes-engine/0.70.5/hermes-engine-0.70.5.module.sha512
deleted file mode 100644
index 5e22762..0000000
--- a/android/libs/react-native-android/com/facebook/react/hermes-engine/0.70.5/hermes-engine-0.70.5.module.sha512
+++ /dev/null
@@ -1 +0,0 @@
-8b5d314a29a4a5d578a43a7a5b8243736247084af2e36eb4830050fd29103ed930a3a6f8d1dfa68f3be226891f14d2e56e8122a4fef9c28464cbbcd1e52a6204
\ No newline at end of file
diff --git a/android/libs/react-native-android/com/facebook/react/hermes-engine/0.70.5/hermes-engine-0.70.5.pom b/android/libs/react-native-android/com/facebook/react/hermes-engine/0.70.5/hermes-engine-0.70.5.pom
deleted file mode 100644
index a7dd4cd..0000000
--- a/android/libs/react-native-android/com/facebook/react/hermes-engine/0.70.5/hermes-engine-0.70.5.pom
+++ /dev/null
@@ -1,44 +0,0 @@
-
-
-
-
-
-
-
- 4.0.0
- com.facebook.react
- hermes-engine
- 0.70.5
- pom
-
-
- com.facebook.fbjni
- fbjni
- 0.2.2
- compile
- true
-
-
- com.facebook.soloader
- soloader
- 0.10.3
- compile
- true
-
-
- com.facebook.yoga
- proguard-annotations
- 1.19.0
- compile
- true
-
-
- androidx.annotation
- annotation
- 1.3.0
- compile
- true
-
-
-
diff --git a/android/libs/react-native-android/com/facebook/react/hermes-engine/0.70.5/hermes-engine-0.70.5.pom.md5 b/android/libs/react-native-android/com/facebook/react/hermes-engine/0.70.5/hermes-engine-0.70.5.pom.md5
deleted file mode 100644
index 680fc0a..0000000
--- a/android/libs/react-native-android/com/facebook/react/hermes-engine/0.70.5/hermes-engine-0.70.5.pom.md5
+++ /dev/null
@@ -1 +0,0 @@
-9182f5e678c542dba36f6bc0168d49a9
\ No newline at end of file
diff --git a/android/libs/react-native-android/com/facebook/react/hermes-engine/0.70.5/hermes-engine-0.70.5.pom.sha1 b/android/libs/react-native-android/com/facebook/react/hermes-engine/0.70.5/hermes-engine-0.70.5.pom.sha1
deleted file mode 100644
index 59d3647..0000000
--- a/android/libs/react-native-android/com/facebook/react/hermes-engine/0.70.5/hermes-engine-0.70.5.pom.sha1
+++ /dev/null
@@ -1 +0,0 @@
-6a6ff8f12beb194ef2fb27de7c4594bfed44088b
\ No newline at end of file
diff --git a/android/libs/react-native-android/com/facebook/react/hermes-engine/0.70.5/hermes-engine-0.70.5.pom.sha256 b/android/libs/react-native-android/com/facebook/react/hermes-engine/0.70.5/hermes-engine-0.70.5.pom.sha256
deleted file mode 100644
index 1e38ef5..0000000
--- a/android/libs/react-native-android/com/facebook/react/hermes-engine/0.70.5/hermes-engine-0.70.5.pom.sha256
+++ /dev/null
@@ -1 +0,0 @@
-7ddd030c89cc685a0061c3ec5340140161fd1fab1df7859699b23ad64a4fbd6f
\ No newline at end of file
diff --git a/android/libs/react-native-android/com/facebook/react/hermes-engine/0.70.5/hermes-engine-0.70.5.pom.sha512 b/android/libs/react-native-android/com/facebook/react/hermes-engine/0.70.5/hermes-engine-0.70.5.pom.sha512
deleted file mode 100644
index 095be6a..0000000
--- a/android/libs/react-native-android/com/facebook/react/hermes-engine/0.70.5/hermes-engine-0.70.5.pom.sha512
+++ /dev/null
@@ -1 +0,0 @@
-0bf0740d048ee97daaa8771e6a8ca340a59b68e2d4c0f5e9feeb090b87a059c2ecfc993592d26c409a2fb5ea28c839846ea5567c7abde8b5e285e3c742ee1987
\ No newline at end of file
diff --git a/android/libs/react-native-android/com/facebook/react/hermes-engine/maven-metadata.xml b/android/libs/react-native-android/com/facebook/react/hermes-engine/maven-metadata.xml
deleted file mode 100644
index ec4d790..0000000
--- a/android/libs/react-native-android/com/facebook/react/hermes-engine/maven-metadata.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
- com.facebook.react
- hermes-engine
-
- 0.70.5
- 0.70.5
-
- 0.70.5
-
- 20221106211107
-
-
diff --git a/android/libs/react-native-android/com/facebook/react/hermes-engine/maven-metadata.xml.md5 b/android/libs/react-native-android/com/facebook/react/hermes-engine/maven-metadata.xml.md5
deleted file mode 100644
index 058ad36..0000000
--- a/android/libs/react-native-android/com/facebook/react/hermes-engine/maven-metadata.xml.md5
+++ /dev/null
@@ -1 +0,0 @@
-d696a517f905ef03db049e3498bed1d8
\ No newline at end of file
diff --git a/android/libs/react-native-android/com/facebook/react/hermes-engine/maven-metadata.xml.sha1 b/android/libs/react-native-android/com/facebook/react/hermes-engine/maven-metadata.xml.sha1
deleted file mode 100644
index a0452b3..0000000
--- a/android/libs/react-native-android/com/facebook/react/hermes-engine/maven-metadata.xml.sha1
+++ /dev/null
@@ -1 +0,0 @@
-62474f1140166dd5b0cdb3a0433691fd413f6cc7
\ No newline at end of file
diff --git a/android/libs/react-native-android/com/facebook/react/hermes-engine/maven-metadata.xml.sha256 b/android/libs/react-native-android/com/facebook/react/hermes-engine/maven-metadata.xml.sha256
deleted file mode 100644
index 2850bd6..0000000
--- a/android/libs/react-native-android/com/facebook/react/hermes-engine/maven-metadata.xml.sha256
+++ /dev/null
@@ -1 +0,0 @@
-3e3e01b6b286761657f01a1a0b92386e2532badb0ceca6d54a29dfc032a00bfd
\ No newline at end of file
diff --git a/android/libs/react-native-android/com/facebook/react/hermes-engine/maven-metadata.xml.sha512 b/android/libs/react-native-android/com/facebook/react/hermes-engine/maven-metadata.xml.sha512
deleted file mode 100644
index d24ae7c..0000000
--- a/android/libs/react-native-android/com/facebook/react/hermes-engine/maven-metadata.xml.sha512
+++ /dev/null
@@ -1 +0,0 @@
-fbaf046e2812062b9c153695d7fd934b64959de73b084611b938c80e77e9b5df91aab55de42920103f564ba9b66423ac5ab74516f7a69355a7b4a6cbd360fc53
\ No newline at end of file
diff --git a/android/libs/react-native-android/com/facebook/react/react-native/0.70.5/react-native-0.70.5-debug-sources.jar b/android/libs/react-native-android/com/facebook/react/react-native/0.70.5/react-native-0.70.5-debug-sources.jar
deleted file mode 100644
index f71fd28..0000000
Binary files a/android/libs/react-native-android/com/facebook/react/react-native/0.70.5/react-native-0.70.5-debug-sources.jar and /dev/null differ
diff --git a/android/libs/react-native-android/com/facebook/react/react-native/0.70.5/react-native-0.70.5-debug-sources.jar.md5 b/android/libs/react-native-android/com/facebook/react/react-native/0.70.5/react-native-0.70.5-debug-sources.jar.md5
deleted file mode 100644
index e06f76c..0000000
--- a/android/libs/react-native-android/com/facebook/react/react-native/0.70.5/react-native-0.70.5-debug-sources.jar.md5
+++ /dev/null
@@ -1 +0,0 @@
-74d86431fd9bc24b8769b1dcff698814
\ No newline at end of file
diff --git a/android/libs/react-native-android/com/facebook/react/react-native/0.70.5/react-native-0.70.5-debug-sources.jar.sha1 b/android/libs/react-native-android/com/facebook/react/react-native/0.70.5/react-native-0.70.5-debug-sources.jar.sha1
deleted file mode 100644
index bc68ce8..0000000
--- a/android/libs/react-native-android/com/facebook/react/react-native/0.70.5/react-native-0.70.5-debug-sources.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-c64ee18787feb457f9a4f3ffc888b0f312afe16c
\ No newline at end of file
diff --git a/android/libs/react-native-android/com/facebook/react/react-native/0.70.5/react-native-0.70.5-debug-sources.jar.sha256 b/android/libs/react-native-android/com/facebook/react/react-native/0.70.5/react-native-0.70.5-debug-sources.jar.sha256
deleted file mode 100644
index 31c42cc..0000000
--- a/android/libs/react-native-android/com/facebook/react/react-native/0.70.5/react-native-0.70.5-debug-sources.jar.sha256
+++ /dev/null
@@ -1 +0,0 @@
-947f3bb8fe00e0d72d10eb3fe1bd00c181ee366fdf28fcd6e35794575faa1fb1
\ No newline at end of file
diff --git a/android/libs/react-native-android/com/facebook/react/react-native/0.70.5/react-native-0.70.5-debug-sources.jar.sha512 b/android/libs/react-native-android/com/facebook/react/react-native/0.70.5/react-native-0.70.5-debug-sources.jar.sha512
deleted file mode 100644
index 5fb3ee5..0000000
--- a/android/libs/react-native-android/com/facebook/react/react-native/0.70.5/react-native-0.70.5-debug-sources.jar.sha512
+++ /dev/null
@@ -1 +0,0 @@
-1cabc724dd44d1266c637d9db0a41e1d0d03d7b333770b173c7724bd56a318e43947bf1bd5f83734c4afdf5f695749bbb8e77c4df2268974cc23d8a7b399d179
\ No newline at end of file
diff --git a/android/libs/react-native-android/com/facebook/react/react-native/0.70.5/react-native-0.70.5-debug.aar b/android/libs/react-native-android/com/facebook/react/react-native/0.70.5/react-native-0.70.5-debug.aar
deleted file mode 100644
index a324a45..0000000
Binary files a/android/libs/react-native-android/com/facebook/react/react-native/0.70.5/react-native-0.70.5-debug.aar and /dev/null differ
diff --git a/android/libs/react-native-android/com/facebook/react/react-native/0.70.5/react-native-0.70.5-debug.aar.md5 b/android/libs/react-native-android/com/facebook/react/react-native/0.70.5/react-native-0.70.5-debug.aar.md5
deleted file mode 100644
index 9139f2e..0000000
--- a/android/libs/react-native-android/com/facebook/react/react-native/0.70.5/react-native-0.70.5-debug.aar.md5
+++ /dev/null
@@ -1 +0,0 @@
-8b6106b2cab596fdcdf1de5b495419dd
\ No newline at end of file
diff --git a/android/libs/react-native-android/com/facebook/react/react-native/0.70.5/react-native-0.70.5-debug.aar.sha1 b/android/libs/react-native-android/com/facebook/react/react-native/0.70.5/react-native-0.70.5-debug.aar.sha1
deleted file mode 100644
index f0a325f..0000000
--- a/android/libs/react-native-android/com/facebook/react/react-native/0.70.5/react-native-0.70.5-debug.aar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-650825ef196f2045dfe93cf7eff46ed6a9cb851e
\ No newline at end of file
diff --git a/android/libs/react-native-android/com/facebook/react/react-native/0.70.5/react-native-0.70.5-debug.aar.sha256 b/android/libs/react-native-android/com/facebook/react/react-native/0.70.5/react-native-0.70.5-debug.aar.sha256
deleted file mode 100644
index c59430f..0000000
--- a/android/libs/react-native-android/com/facebook/react/react-native/0.70.5/react-native-0.70.5-debug.aar.sha256
+++ /dev/null
@@ -1 +0,0 @@
-e9f11e2e7c0e95bdc8443566d9ba6cec9b9613ee09426832f38050edcf65b828
\ No newline at end of file
diff --git a/android/libs/react-native-android/com/facebook/react/react-native/0.70.5/react-native-0.70.5-debug.aar.sha512 b/android/libs/react-native-android/com/facebook/react/react-native/0.70.5/react-native-0.70.5-debug.aar.sha512
deleted file mode 100644
index c6ea3e1..0000000
--- a/android/libs/react-native-android/com/facebook/react/react-native/0.70.5/react-native-0.70.5-debug.aar.sha512
+++ /dev/null
@@ -1 +0,0 @@
-a75e86a070303e119cc4875d194740bc99a70dc4c538e994fe68fd7320a47d91c1c7094bccb923e36c51231e8ce6b8d0b2665a3e9aad246a63ca073decce4a68
\ No newline at end of file
diff --git a/android/libs/react-native-android/com/facebook/react/react-native/0.70.5/react-native-0.70.5-release-sources.jar b/android/libs/react-native-android/com/facebook/react/react-native/0.70.5/react-native-0.70.5-release-sources.jar
deleted file mode 100644
index d36b14f..0000000
Binary files a/android/libs/react-native-android/com/facebook/react/react-native/0.70.5/react-native-0.70.5-release-sources.jar and /dev/null differ
diff --git a/android/libs/react-native-android/com/facebook/react/react-native/0.70.5/react-native-0.70.5-release-sources.jar.md5 b/android/libs/react-native-android/com/facebook/react/react-native/0.70.5/react-native-0.70.5-release-sources.jar.md5
deleted file mode 100644
index ee2919a..0000000
--- a/android/libs/react-native-android/com/facebook/react/react-native/0.70.5/react-native-0.70.5-release-sources.jar.md5
+++ /dev/null
@@ -1 +0,0 @@
-b4c3cdc59566abc5ea37bd6311ce818c
\ No newline at end of file
diff --git a/android/libs/react-native-android/com/facebook/react/react-native/0.70.5/react-native-0.70.5-release-sources.jar.sha1 b/android/libs/react-native-android/com/facebook/react/react-native/0.70.5/react-native-0.70.5-release-sources.jar.sha1
deleted file mode 100644
index 6e53e4d..0000000
--- a/android/libs/react-native-android/com/facebook/react/react-native/0.70.5/react-native-0.70.5-release-sources.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-3fe922c099cf22070fb5131914012269c68337e6
\ No newline at end of file
diff --git a/android/libs/react-native-android/com/facebook/react/react-native/0.70.5/react-native-0.70.5-release-sources.jar.sha256 b/android/libs/react-native-android/com/facebook/react/react-native/0.70.5/react-native-0.70.5-release-sources.jar.sha256
deleted file mode 100644
index 952ee0e..0000000
--- a/android/libs/react-native-android/com/facebook/react/react-native/0.70.5/react-native-0.70.5-release-sources.jar.sha256
+++ /dev/null
@@ -1 +0,0 @@
-19a94e1af4190b32e8ed0a463a7deeccfb4785a03cde91b88efafee0931f9c80
\ No newline at end of file
diff --git a/android/libs/react-native-android/com/facebook/react/react-native/0.70.5/react-native-0.70.5-release-sources.jar.sha512 b/android/libs/react-native-android/com/facebook/react/react-native/0.70.5/react-native-0.70.5-release-sources.jar.sha512
deleted file mode 100644
index 8ba78e8..0000000
--- a/android/libs/react-native-android/com/facebook/react/react-native/0.70.5/react-native-0.70.5-release-sources.jar.sha512
+++ /dev/null
@@ -1 +0,0 @@
-253ca7b3b2b6953681ce77d43c2c75bbb6f4f6699e5fba3f2fdb657fd6e12ff578bc7ba8fa27945a017354daf2ef28f6bfaf22e87d68d34625b05c57d1999368
\ No newline at end of file
diff --git a/android/libs/react-native-android/com/facebook/react/react-native/0.70.5/react-native-0.70.5-release.aar b/android/libs/react-native-android/com/facebook/react/react-native/0.70.5/react-native-0.70.5-release.aar
deleted file mode 100644
index 58113a5..0000000
Binary files a/android/libs/react-native-android/com/facebook/react/react-native/0.70.5/react-native-0.70.5-release.aar and /dev/null differ
diff --git a/android/libs/react-native-android/com/facebook/react/react-native/0.70.5/react-native-0.70.5-release.aar.md5 b/android/libs/react-native-android/com/facebook/react/react-native/0.70.5/react-native-0.70.5-release.aar.md5
deleted file mode 100644
index 6e05aab..0000000
--- a/android/libs/react-native-android/com/facebook/react/react-native/0.70.5/react-native-0.70.5-release.aar.md5
+++ /dev/null
@@ -1 +0,0 @@
-50b3e7bf5bfc3acab1e9f498f988d3f0
\ No newline at end of file
diff --git a/android/libs/react-native-android/com/facebook/react/react-native/0.70.5/react-native-0.70.5-release.aar.sha1 b/android/libs/react-native-android/com/facebook/react/react-native/0.70.5/react-native-0.70.5-release.aar.sha1
deleted file mode 100644
index 7316439..0000000
--- a/android/libs/react-native-android/com/facebook/react/react-native/0.70.5/react-native-0.70.5-release.aar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-00c9f58ad16f8e6f11bc75ad826bf4e805f6ac69
\ No newline at end of file
diff --git a/android/libs/react-native-android/com/facebook/react/react-native/0.70.5/react-native-0.70.5-release.aar.sha256 b/android/libs/react-native-android/com/facebook/react/react-native/0.70.5/react-native-0.70.5-release.aar.sha256
deleted file mode 100644
index 8ed6644..0000000
--- a/android/libs/react-native-android/com/facebook/react/react-native/0.70.5/react-native-0.70.5-release.aar.sha256
+++ /dev/null
@@ -1 +0,0 @@
-591fab93fa3ff09b66748007dd4bcd4ae5f9da14bbf5ab5d6109cb1a29f9c918
\ No newline at end of file
diff --git a/android/libs/react-native-android/com/facebook/react/react-native/0.70.5/react-native-0.70.5-release.aar.sha512 b/android/libs/react-native-android/com/facebook/react/react-native/0.70.5/react-native-0.70.5-release.aar.sha512
deleted file mode 100644
index 30d86ed..0000000
--- a/android/libs/react-native-android/com/facebook/react/react-native/0.70.5/react-native-0.70.5-release.aar.sha512
+++ /dev/null
@@ -1 +0,0 @@
-28f0e88dcd49bd32c355f11822fe299b81d88c69f9eb2f650ee933c09aa4a88364024b44e0237821a429dc1d7af4db46d4205a86755343bef91aa163b3e5c385
\ No newline at end of file
diff --git a/android/libs/react-native-android/com/facebook/react/react-native/0.70.5/react-native-0.70.5.module b/android/libs/react-native-android/com/facebook/react/react-native/0.70.5/react-native-0.70.5.module
deleted file mode 100644
index 17928ef..0000000
--- a/android/libs/react-native-android/com/facebook/react/react-native/0.70.5/react-native-0.70.5.module
+++ /dev/null
@@ -1,628 +0,0 @@
-{
- "formatVersion": "1.1",
- "component": {
- "group": "com.facebook.react",
- "module": "react-native",
- "version": "0.70.5",
- "attributes": {
- "org.gradle.status": "release"
- }
- },
- "createdBy": {
- "gradle": {
- "version": "7.5.1"
- }
- },
- "variants": [
- {
- "name": "debugVariantDefaultApiPublication",
- "attributes": {
- "com.android.build.api.attributes.BuildTypeAttr": "debug",
- "org.gradle.category": "library",
- "org.gradle.dependency.bundling": "external",
- "org.gradle.libraryelements": "aar",
- "org.gradle.usage": "java-api"
- },
- "dependencies": [
- {
- "group": "androidx.appcompat",
- "module": "appcompat-resources",
- "version": {
- "requires": "1.4.1"
- }
- },
- {
- "group": "androidx.appcompat",
- "module": "appcompat",
- "version": {
- "requires": "1.4.1"
- }
- },
- {
- "group": "androidx.autofill",
- "module": "autofill",
- "version": {
- "requires": "1.1.0"
- }
- },
- {
- "group": "androidx.swiperefreshlayout",
- "module": "swiperefreshlayout",
- "version": {
- "requires": "1.0.0"
- }
- },
- {
- "group": "com.facebook.fbjni",
- "module": "fbjni-java-only",
- "version": {
- "requires": "0.2.2"
- }
- },
- {
- "group": "com.facebook.fresco",
- "module": "fresco",
- "version": {
- "requires": "2.5.0"
- }
- },
- {
- "group": "com.facebook.fresco",
- "module": "imagepipeline-okhttp3",
- "version": {
- "requires": "2.5.0"
- }
- },
- {
- "group": "com.facebook.fresco",
- "module": "ui-common",
- "version": {
- "requires": "2.5.0"
- }
- },
- {
- "group": "com.facebook.infer.annotation",
- "module": "infer-annotation",
- "version": {
- "requires": "0.18.0"
- }
- },
- {
- "group": "com.facebook.soloader",
- "module": "soloader",
- "version": {
- "requires": "0.10.4"
- }
- },
- {
- "group": "com.facebook.yoga",
- "module": "proguard-annotations",
- "version": {
- "requires": "1.19.0"
- }
- },
- {
- "group": "com.google.code.findbugs",
- "module": "jsr305",
- "version": {
- "requires": "3.0.2"
- }
- },
- {
- "group": "com.squareup.okhttp3",
- "module": "okhttp-urlconnection",
- "version": {
- "requires": "4.9.2"
- }
- },
- {
- "group": "com.squareup.okhttp3",
- "module": "okhttp",
- "version": {
- "requires": "4.9.2"
- }
- },
- {
- "group": "com.squareup.okio",
- "module": "okio",
- "version": {
- "requires": "2.9.0"
- }
- },
- {
- "group": "javax.inject",
- "module": "javax.inject",
- "version": {
- "requires": "1"
- }
- },
- {
- "group": "org.jetbrains.kotlin",
- "module": "kotlin-stdlib-jdk8",
- "version": {
- "requires": "1.6.10"
- }
- }
- ],
- "files": [
- {
- "name": "react-native-0.70.5-debug.aar",
- "url": "react-native-0.70.5-debug.aar",
- "size": 32896271,
- "sha512": "a75e86a070303e119cc4875d194740bc99a70dc4c538e994fe68fd7320a47d91c1c7094bccb923e36c51231e8ce6b8d0b2665a3e9aad246a63ca073decce4a68",
- "sha256": "e9f11e2e7c0e95bdc8443566d9ba6cec9b9613ee09426832f38050edcf65b828",
- "sha1": "650825ef196f2045dfe93cf7eff46ed6a9cb851e",
- "md5": "8b6106b2cab596fdcdf1de5b495419dd"
- }
- ]
- },
- {
- "name": "debugVariantDefaultRuntimePublication",
- "attributes": {
- "com.android.build.api.attributes.BuildTypeAttr": "debug",
- "org.gradle.category": "library",
- "org.gradle.dependency.bundling": "external",
- "org.gradle.libraryelements": "aar",
- "org.gradle.usage": "java-runtime"
- },
- "dependencies": [
- {
- "group": "androidx.appcompat",
- "module": "appcompat-resources",
- "version": {
- "requires": "1.4.1"
- }
- },
- {
- "group": "androidx.appcompat",
- "module": "appcompat",
- "version": {
- "requires": "1.4.1"
- }
- },
- {
- "group": "androidx.autofill",
- "module": "autofill",
- "version": {
- "requires": "1.1.0"
- }
- },
- {
- "group": "androidx.swiperefreshlayout",
- "module": "swiperefreshlayout",
- "version": {
- "requires": "1.0.0"
- }
- },
- {
- "group": "com.facebook.fbjni",
- "module": "fbjni-java-only",
- "version": {
- "requires": "0.2.2"
- }
- },
- {
- "group": "com.facebook.fresco",
- "module": "fresco",
- "version": {
- "requires": "2.5.0"
- }
- },
- {
- "group": "com.facebook.fresco",
- "module": "imagepipeline-okhttp3",
- "version": {
- "requires": "2.5.0"
- }
- },
- {
- "group": "com.facebook.fresco",
- "module": "ui-common",
- "version": {
- "requires": "2.5.0"
- }
- },
- {
- "group": "com.facebook.infer.annotation",
- "module": "infer-annotation",
- "version": {
- "requires": "0.18.0"
- }
- },
- {
- "group": "com.facebook.soloader",
- "module": "soloader",
- "version": {
- "requires": "0.10.4"
- }
- },
- {
- "group": "com.facebook.yoga",
- "module": "proguard-annotations",
- "version": {
- "requires": "1.19.0"
- }
- },
- {
- "group": "com.google.code.findbugs",
- "module": "jsr305",
- "version": {
- "requires": "3.0.2"
- }
- },
- {
- "group": "com.squareup.okhttp3",
- "module": "okhttp-urlconnection",
- "version": {
- "requires": "4.9.2"
- }
- },
- {
- "group": "com.squareup.okhttp3",
- "module": "okhttp",
- "version": {
- "requires": "4.9.2"
- }
- },
- {
- "group": "com.squareup.okio",
- "module": "okio",
- "version": {
- "requires": "2.9.0"
- }
- },
- {
- "group": "javax.inject",
- "module": "javax.inject",
- "version": {
- "requires": "1"
- }
- },
- {
- "group": "org.jetbrains.kotlin",
- "module": "kotlin-stdlib-jdk8",
- "version": {
- "requires": "1.6.10"
- }
- }
- ],
- "files": [
- {
- "name": "react-native-0.70.5-debug.aar",
- "url": "react-native-0.70.5-debug.aar",
- "size": 32896271,
- "sha512": "a75e86a070303e119cc4875d194740bc99a70dc4c538e994fe68fd7320a47d91c1c7094bccb923e36c51231e8ce6b8d0b2665a3e9aad246a63ca073decce4a68",
- "sha256": "e9f11e2e7c0e95bdc8443566d9ba6cec9b9613ee09426832f38050edcf65b828",
- "sha1": "650825ef196f2045dfe93cf7eff46ed6a9cb851e",
- "md5": "8b6106b2cab596fdcdf1de5b495419dd"
- }
- ]
- },
- {
- "name": "debugVariantDefaultSourcePublication",
- "attributes": {
- "com.android.build.api.attributes.BuildTypeAttr": "debug",
- "org.gradle.category": "documentation",
- "org.gradle.dependency.bundling": "external",
- "org.gradle.docstype": "sources",
- "org.gradle.usage": "java-runtime"
- },
- "files": [
- {
- "name": "react-native-0.70.5-debug-sources.jar",
- "url": "react-native-0.70.5-debug-sources.jar",
- "size": 1044828,
- "sha512": "1cabc724dd44d1266c637d9db0a41e1d0d03d7b333770b173c7724bd56a318e43947bf1bd5f83734c4afdf5f695749bbb8e77c4df2268974cc23d8a7b399d179",
- "sha256": "947f3bb8fe00e0d72d10eb3fe1bd00c181ee366fdf28fcd6e35794575faa1fb1",
- "sha1": "c64ee18787feb457f9a4f3ffc888b0f312afe16c",
- "md5": "74d86431fd9bc24b8769b1dcff698814"
- }
- ]
- },
- {
- "name": "releaseVariantDefaultApiPublication",
- "attributes": {
- "com.android.build.api.attributes.BuildTypeAttr": "release",
- "org.gradle.category": "library",
- "org.gradle.dependency.bundling": "external",
- "org.gradle.libraryelements": "aar",
- "org.gradle.usage": "java-api"
- },
- "dependencies": [
- {
- "group": "androidx.appcompat",
- "module": "appcompat-resources",
- "version": {
- "requires": "1.4.1"
- }
- },
- {
- "group": "androidx.appcompat",
- "module": "appcompat",
- "version": {
- "requires": "1.4.1"
- }
- },
- {
- "group": "androidx.autofill",
- "module": "autofill",
- "version": {
- "requires": "1.1.0"
- }
- },
- {
- "group": "androidx.swiperefreshlayout",
- "module": "swiperefreshlayout",
- "version": {
- "requires": "1.0.0"
- }
- },
- {
- "group": "com.facebook.fbjni",
- "module": "fbjni-java-only",
- "version": {
- "requires": "0.2.2"
- }
- },
- {
- "group": "com.facebook.fresco",
- "module": "fresco",
- "version": {
- "requires": "2.5.0"
- }
- },
- {
- "group": "com.facebook.fresco",
- "module": "imagepipeline-okhttp3",
- "version": {
- "requires": "2.5.0"
- }
- },
- {
- "group": "com.facebook.fresco",
- "module": "ui-common",
- "version": {
- "requires": "2.5.0"
- }
- },
- {
- "group": "com.facebook.infer.annotation",
- "module": "infer-annotation",
- "version": {
- "requires": "0.18.0"
- }
- },
- {
- "group": "com.facebook.soloader",
- "module": "soloader",
- "version": {
- "requires": "0.10.4"
- }
- },
- {
- "group": "com.facebook.yoga",
- "module": "proguard-annotations",
- "version": {
- "requires": "1.19.0"
- }
- },
- {
- "group": "com.google.code.findbugs",
- "module": "jsr305",
- "version": {
- "requires": "3.0.2"
- }
- },
- {
- "group": "com.squareup.okhttp3",
- "module": "okhttp-urlconnection",
- "version": {
- "requires": "4.9.2"
- }
- },
- {
- "group": "com.squareup.okhttp3",
- "module": "okhttp",
- "version": {
- "requires": "4.9.2"
- }
- },
- {
- "group": "com.squareup.okio",
- "module": "okio",
- "version": {
- "requires": "2.9.0"
- }
- },
- {
- "group": "javax.inject",
- "module": "javax.inject",
- "version": {
- "requires": "1"
- }
- },
- {
- "group": "org.jetbrains.kotlin",
- "module": "kotlin-stdlib-jdk8",
- "version": {
- "requires": "1.6.10"
- }
- }
- ],
- "files": [
- {
- "name": "react-native-0.70.5-release.aar",
- "url": "react-native-0.70.5-release.aar",
- "size": 12614227,
- "sha512": "28f0e88dcd49bd32c355f11822fe299b81d88c69f9eb2f650ee933c09aa4a88364024b44e0237821a429dc1d7af4db46d4205a86755343bef91aa163b3e5c385",
- "sha256": "591fab93fa3ff09b66748007dd4bcd4ae5f9da14bbf5ab5d6109cb1a29f9c918",
- "sha1": "00c9f58ad16f8e6f11bc75ad826bf4e805f6ac69",
- "md5": "50b3e7bf5bfc3acab1e9f498f988d3f0"
- }
- ]
- },
- {
- "name": "releaseVariantDefaultRuntimePublication",
- "attributes": {
- "com.android.build.api.attributes.BuildTypeAttr": "release",
- "org.gradle.category": "library",
- "org.gradle.dependency.bundling": "external",
- "org.gradle.libraryelements": "aar",
- "org.gradle.usage": "java-runtime"
- },
- "dependencies": [
- {
- "group": "androidx.appcompat",
- "module": "appcompat-resources",
- "version": {
- "requires": "1.4.1"
- }
- },
- {
- "group": "androidx.appcompat",
- "module": "appcompat",
- "version": {
- "requires": "1.4.1"
- }
- },
- {
- "group": "androidx.autofill",
- "module": "autofill",
- "version": {
- "requires": "1.1.0"
- }
- },
- {
- "group": "androidx.swiperefreshlayout",
- "module": "swiperefreshlayout",
- "version": {
- "requires": "1.0.0"
- }
- },
- {
- "group": "com.facebook.fbjni",
- "module": "fbjni-java-only",
- "version": {
- "requires": "0.2.2"
- }
- },
- {
- "group": "com.facebook.fresco",
- "module": "fresco",
- "version": {
- "requires": "2.5.0"
- }
- },
- {
- "group": "com.facebook.fresco",
- "module": "imagepipeline-okhttp3",
- "version": {
- "requires": "2.5.0"
- }
- },
- {
- "group": "com.facebook.fresco",
- "module": "ui-common",
- "version": {
- "requires": "2.5.0"
- }
- },
- {
- "group": "com.facebook.infer.annotation",
- "module": "infer-annotation",
- "version": {
- "requires": "0.18.0"
- }
- },
- {
- "group": "com.facebook.soloader",
- "module": "soloader",
- "version": {
- "requires": "0.10.4"
- }
- },
- {
- "group": "com.facebook.yoga",
- "module": "proguard-annotations",
- "version": {
- "requires": "1.19.0"
- }
- },
- {
- "group": "com.google.code.findbugs",
- "module": "jsr305",
- "version": {
- "requires": "3.0.2"
- }
- },
- {
- "group": "com.squareup.okhttp3",
- "module": "okhttp-urlconnection",
- "version": {
- "requires": "4.9.2"
- }
- },
- {
- "group": "com.squareup.okhttp3",
- "module": "okhttp",
- "version": {
- "requires": "4.9.2"
- }
- },
- {
- "group": "com.squareup.okio",
- "module": "okio",
- "version": {
- "requires": "2.9.0"
- }
- },
- {
- "group": "javax.inject",
- "module": "javax.inject",
- "version": {
- "requires": "1"
- }
- },
- {
- "group": "org.jetbrains.kotlin",
- "module": "kotlin-stdlib-jdk8",
- "version": {
- "requires": "1.6.10"
- }
- }
- ],
- "files": [
- {
- "name": "react-native-0.70.5-release.aar",
- "url": "react-native-0.70.5-release.aar",
- "size": 12614227,
- "sha512": "28f0e88dcd49bd32c355f11822fe299b81d88c69f9eb2f650ee933c09aa4a88364024b44e0237821a429dc1d7af4db46d4205a86755343bef91aa163b3e5c385",
- "sha256": "591fab93fa3ff09b66748007dd4bcd4ae5f9da14bbf5ab5d6109cb1a29f9c918",
- "sha1": "00c9f58ad16f8e6f11bc75ad826bf4e805f6ac69",
- "md5": "50b3e7bf5bfc3acab1e9f498f988d3f0"
- }
- ]
- },
- {
- "name": "releaseVariantDefaultSourcePublication",
- "attributes": {
- "com.android.build.api.attributes.BuildTypeAttr": "release",
- "org.gradle.category": "documentation",
- "org.gradle.dependency.bundling": "external",
- "org.gradle.docstype": "sources",
- "org.gradle.usage": "java-runtime"
- },
- "files": [
- {
- "name": "react-native-0.70.5-release-sources.jar",
- "url": "react-native-0.70.5-release-sources.jar",
- "size": 1044810,
- "sha512": "253ca7b3b2b6953681ce77d43c2c75bbb6f4f6699e5fba3f2fdb657fd6e12ff578bc7ba8fa27945a017354daf2ef28f6bfaf22e87d68d34625b05c57d1999368",
- "sha256": "19a94e1af4190b32e8ed0a463a7deeccfb4785a03cde91b88efafee0931f9c80",
- "sha1": "3fe922c099cf22070fb5131914012269c68337e6",
- "md5": "b4c3cdc59566abc5ea37bd6311ce818c"
- }
- ]
- }
- ]
-}
diff --git a/android/libs/react-native-android/com/facebook/react/react-native/0.70.5/react-native-0.70.5.module.md5 b/android/libs/react-native-android/com/facebook/react/react-native/0.70.5/react-native-0.70.5.module.md5
deleted file mode 100644
index 4cd1c36..0000000
--- a/android/libs/react-native-android/com/facebook/react/react-native/0.70.5/react-native-0.70.5.module.md5
+++ /dev/null
@@ -1 +0,0 @@
-c0dfc07b0961a25ba9ceb2b494f46bb6
\ No newline at end of file
diff --git a/android/libs/react-native-android/com/facebook/react/react-native/0.70.5/react-native-0.70.5.module.sha1 b/android/libs/react-native-android/com/facebook/react/react-native/0.70.5/react-native-0.70.5.module.sha1
deleted file mode 100644
index 57ddbe5..0000000
--- a/android/libs/react-native-android/com/facebook/react/react-native/0.70.5/react-native-0.70.5.module.sha1
+++ /dev/null
@@ -1 +0,0 @@
-80f317430557db0de3088903d62818e3e3f9b90c
\ No newline at end of file
diff --git a/android/libs/react-native-android/com/facebook/react/react-native/0.70.5/react-native-0.70.5.module.sha256 b/android/libs/react-native-android/com/facebook/react/react-native/0.70.5/react-native-0.70.5.module.sha256
deleted file mode 100644
index d6e2f15..0000000
--- a/android/libs/react-native-android/com/facebook/react/react-native/0.70.5/react-native-0.70.5.module.sha256
+++ /dev/null
@@ -1 +0,0 @@
-a99732a86b4bc51cd3e2c1d87a16bec11f45ee151c264b2873b803a571caef1e
\ No newline at end of file
diff --git a/android/libs/react-native-android/com/facebook/react/react-native/0.70.5/react-native-0.70.5.module.sha512 b/android/libs/react-native-android/com/facebook/react/react-native/0.70.5/react-native-0.70.5.module.sha512
deleted file mode 100644
index 460164d..0000000
--- a/android/libs/react-native-android/com/facebook/react/react-native/0.70.5/react-native-0.70.5.module.sha512
+++ /dev/null
@@ -1 +0,0 @@
-cd3ab73cec4f59e339a1f3f08a35a89e7a28bfee744e53b8eefbef873dbf96a075d46bb0de4142a0ffddfdaf4d1f139afd5108d39521fe28cd95e21068bbaf10
\ No newline at end of file
diff --git a/android/libs/react-native-android/com/facebook/react/react-native/0.70.5/react-native-0.70.5.pom b/android/libs/react-native-android/com/facebook/react/react-native/0.70.5/react-native-0.70.5.pom
deleted file mode 100644
index 242c546..0000000
--- a/android/libs/react-native-android/com/facebook/react/react-native/0.70.5/react-native-0.70.5.pom
+++ /dev/null
@@ -1,156 +0,0 @@
-
-
-
-
-
-
-
- 4.0.0
- com.facebook.react
- react-native
- 0.70.5
- pom
- ReactNative
- A framework for building native apps with React
- https://github.com/facebook/react-native
-
-
- MIT License
- https://github.com/facebook/react-native/blob/HEAD/LICENSE
- repo
-
-
-
-
- facebook
- Facebook
-
-
-
- scm:git:https://github.com/facebook/react-native.git
- scm:git:git@github.com:facebook/react-native.git
- https://github.com/facebook/react-native.git
-
-
-
- androidx.appcompat
- appcompat-resources
- 1.4.1
- compile
- true
-
-
- androidx.appcompat
- appcompat
- 1.4.1
- compile
- true
-
-
- androidx.autofill
- autofill
- 1.1.0
- compile
- true
-
-
- androidx.swiperefreshlayout
- swiperefreshlayout
- 1.0.0
- compile
- true
-
-
- com.facebook.fbjni
- fbjni-java-only
- 0.2.2
- compile
- true
-
-
- com.facebook.fresco
- fresco
- 2.5.0
- compile
- true
-
-
- com.facebook.fresco
- imagepipeline-okhttp3
- 2.5.0
- compile
- true
-
-
- com.facebook.fresco
- ui-common
- 2.5.0
- compile
- true
-
-
- com.facebook.infer.annotation
- infer-annotation
- 0.18.0
- compile
- true
-
-
- com.facebook.soloader
- soloader
- 0.10.4
- compile
- true
-
-
- com.facebook.yoga
- proguard-annotations
- 1.19.0
- compile
- true
-
-
- com.google.code.findbugs
- jsr305
- 3.0.2
- compile
- true
-
-
- com.squareup.okhttp3
- okhttp-urlconnection
- 4.9.2
- compile
- true
-
-
- com.squareup.okhttp3
- okhttp
- 4.9.2
- compile
- true
-
-
- com.squareup.okio
- okio
- 2.9.0
- compile
- true
-
-
- javax.inject
- javax.inject
- 1
- compile
- true
-
-
- org.jetbrains.kotlin
- kotlin-stdlib-jdk8
- 1.6.10
- compile
- true
-
-
-
diff --git a/android/libs/react-native-android/com/facebook/react/react-native/0.70.5/react-native-0.70.5.pom.md5 b/android/libs/react-native-android/com/facebook/react/react-native/0.70.5/react-native-0.70.5.pom.md5
deleted file mode 100644
index 0c566c0..0000000
--- a/android/libs/react-native-android/com/facebook/react/react-native/0.70.5/react-native-0.70.5.pom.md5
+++ /dev/null
@@ -1 +0,0 @@
-314aca710fcde34076ae5994d7f9b97e
\ No newline at end of file
diff --git a/android/libs/react-native-android/com/facebook/react/react-native/0.70.5/react-native-0.70.5.pom.sha1 b/android/libs/react-native-android/com/facebook/react/react-native/0.70.5/react-native-0.70.5.pom.sha1
deleted file mode 100644
index 68f999a..0000000
--- a/android/libs/react-native-android/com/facebook/react/react-native/0.70.5/react-native-0.70.5.pom.sha1
+++ /dev/null
@@ -1 +0,0 @@
-6a163a1b47caaf40d6e1073ea5c7e12985e5039a
\ No newline at end of file
diff --git a/android/libs/react-native-android/com/facebook/react/react-native/0.70.5/react-native-0.70.5.pom.sha256 b/android/libs/react-native-android/com/facebook/react/react-native/0.70.5/react-native-0.70.5.pom.sha256
deleted file mode 100644
index bf2273f..0000000
--- a/android/libs/react-native-android/com/facebook/react/react-native/0.70.5/react-native-0.70.5.pom.sha256
+++ /dev/null
@@ -1 +0,0 @@
-801b36c31a6e9a37096d594bd2ab459c2506d6a25c8417e912a29af7b7d6507e
\ No newline at end of file
diff --git a/android/libs/react-native-android/com/facebook/react/react-native/0.70.5/react-native-0.70.5.pom.sha512 b/android/libs/react-native-android/com/facebook/react/react-native/0.70.5/react-native-0.70.5.pom.sha512
deleted file mode 100644
index b07736b..0000000
--- a/android/libs/react-native-android/com/facebook/react/react-native/0.70.5/react-native-0.70.5.pom.sha512
+++ /dev/null
@@ -1 +0,0 @@
-2b7a31bf8d9b01bc8185de8a018e469e5eea59c311e4a1cd531004b016d2218ff0c683f1c4ad904d28248fa3b58d0c54384f9b19dfedb68e82ce3d226fa10b70
\ No newline at end of file
diff --git a/android/libs/react-native-android/com/facebook/react/react-native/maven-metadata.xml b/android/libs/react-native-android/com/facebook/react/react-native/maven-metadata.xml
deleted file mode 100644
index 1c5ffff..0000000
--- a/android/libs/react-native-android/com/facebook/react/react-native/maven-metadata.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
- com.facebook.react
- react-native
-
- 0.70.5
- 0.70.5
-
- 0.70.5
-
- 20221106211052
-
-
diff --git a/android/libs/react-native-android/com/facebook/react/react-native/maven-metadata.xml.md5 b/android/libs/react-native-android/com/facebook/react/react-native/maven-metadata.xml.md5
deleted file mode 100644
index 5519167..0000000
--- a/android/libs/react-native-android/com/facebook/react/react-native/maven-metadata.xml.md5
+++ /dev/null
@@ -1 +0,0 @@
-2fd397e2d08ed150f66851e1e34dd67e
\ No newline at end of file
diff --git a/android/libs/react-native-android/com/facebook/react/react-native/maven-metadata.xml.sha1 b/android/libs/react-native-android/com/facebook/react/react-native/maven-metadata.xml.sha1
deleted file mode 100644
index a853b16..0000000
--- a/android/libs/react-native-android/com/facebook/react/react-native/maven-metadata.xml.sha1
+++ /dev/null
@@ -1 +0,0 @@
-d4efb834e0463c9149216b52f559ffbb81710ece
\ No newline at end of file
diff --git a/android/libs/react-native-android/com/facebook/react/react-native/maven-metadata.xml.sha256 b/android/libs/react-native-android/com/facebook/react/react-native/maven-metadata.xml.sha256
deleted file mode 100644
index aaf8473..0000000
--- a/android/libs/react-native-android/com/facebook/react/react-native/maven-metadata.xml.sha256
+++ /dev/null
@@ -1 +0,0 @@
-e3a583f456c35a1bd17a05d4627fec2fa5c7d80ea095f5d6d24c13b98b341453
\ No newline at end of file
diff --git a/android/libs/react-native-android/com/facebook/react/react-native/maven-metadata.xml.sha512 b/android/libs/react-native-android/com/facebook/react/react-native/maven-metadata.xml.sha512
deleted file mode 100644
index 3376915..0000000
--- a/android/libs/react-native-android/com/facebook/react/react-native/maven-metadata.xml.sha512
+++ /dev/null
@@ -1 +0,0 @@
-4b9cfbc4aed81b138b7942f7488f450c4475d60f0d352f9e67b54e38879873e7f78ee744835d46be66ba32925244d4916add618897b45180381fb95bb8082cd6
\ No newline at end of file
diff --git a/android/src/main/AndroidManifestNew.xml b/android/src/main/AndroidManifestNew.xml
new file mode 100644
index 0000000..0fd6dad
--- /dev/null
+++ b/android/src/main/AndroidManifestNew.xml
@@ -0,0 +1,3 @@
+
+
+
diff --git a/android/src/main/java/com/mparticle/react/MParticleModule.java b/android/src/main/java/com/mparticle/react/MParticleModule.java
index 1e322c3..8f93f8f 100644
--- a/android/src/main/java/com/mparticle/react/MParticleModule.java
+++ b/android/src/main/java/com/mparticle/react/MParticleModule.java
@@ -50,6 +50,7 @@
public class MParticleModule extends ReactContextBaseJavaModule {
+ public static final String MODULE_NAME = "MParticle";
private final static String LOG_TAG = "MParticleModule";
ReactApplicationContext reactContext;
@@ -61,7 +62,7 @@ public MParticleModule(ReactApplicationContext reactContext) {
@Override
public String getName() {
- return "MParticle";
+ return MODULE_NAME;
}
@ReactMethod
diff --git a/android/src/main/java/com/mparticle/react/MParticlePackage.java b/android/src/main/java/com/mparticle/react/MParticlePackage.java
deleted file mode 100644
index 2c744c8..0000000
--- a/android/src/main/java/com/mparticle/react/MParticlePackage.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package com.mparticle.react;
-
-import com.facebook.react.ReactPackage;
-import com.facebook.react.bridge.JavaScriptModule;
-import com.facebook.react.bridge.NativeModule;
-import com.facebook.react.bridge.ReactApplicationContext;
-import com.facebook.react.uimanager.ViewManager;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-public class MParticlePackage implements ReactPackage {
- @Override
- public List createNativeModules(
- ReactApplicationContext reactContext) {
- List modules = new ArrayList<>();
-
- modules.add(new MParticleModule(reactContext));
-
- return modules;
- }
-
- // Deprecated RN 0.47
- public List> createJSModules() {
- return Collections.emptyList();
- }
-
- @Override
- public List createViewManagers(
- ReactApplicationContext reactContext) {
- return Collections.emptyList();
- }
-}
diff --git a/android/src/main/java/com/mparticle/react/MParticlePackage.kt b/android/src/main/java/com/mparticle/react/MParticlePackage.kt
new file mode 100644
index 0000000..54e5dd0
--- /dev/null
+++ b/android/src/main/java/com/mparticle/react/MParticlePackage.kt
@@ -0,0 +1,70 @@
+package com.mparticle.react
+
+import com.facebook.react.TurboReactPackage
+import com.facebook.react.bridge.ModuleSpec
+import com.facebook.react.bridge.NativeModule
+import com.facebook.react.bridge.ReactApplicationContext
+import com.facebook.react.module.model.ReactModuleInfo
+import com.facebook.react.module.model.ReactModuleInfoProvider
+import com.facebook.react.uimanager.ViewManager
+import com.mparticle.react.rokt.MPRoktModule
+import com.mparticle.react.rokt.MPRoktModuleImpl
+import com.mparticle.react.rokt.RoktLayoutViewManager
+
+class MParticlePackage : TurboReactPackage() {
+ override fun getModule(
+ name: String,
+ reactContext: ReactApplicationContext,
+ ): NativeModule? =
+ when (name) {
+ MParticleModule.MODULE_NAME -> {
+ MParticleModule(reactContext)
+ }
+
+ MPRoktModuleImpl.MODULE_NAME -> {
+ MPRoktModule(reactContext)
+ }
+
+ else -> null
+ }
+
+ override fun createViewManagers(reactContext: ReactApplicationContext): List> = listOf(RoktLayoutViewManager())
+
+ override fun getReactModuleInfoProvider() =
+ ReactModuleInfoProvider {
+ val moduleInfos: MutableMap =
+ HashMap()
+ moduleInfos.put(
+ MParticleModule.MODULE_NAME,
+ ReactModuleInfo(
+ MParticleModule.MODULE_NAME,
+ MParticleModule.MODULE_NAME,
+ true, // canOverrideExistingModule
+ false, // needsEagerInit
+ true, // hasConstants
+ false, // isCxxModule
+ // BuildConfig.IS_NEW_ARCHITECTURE_ENABLED
+ false, // isTurboModule
+ ),
+ )
+ moduleInfos.put(
+ MPRoktModuleImpl.MODULE_NAME,
+ ReactModuleInfo(
+ MPRoktModuleImpl.MODULE_NAME,
+ MPRoktModuleImpl.MODULE_NAME,
+ true, // canOverrideExistingModule
+ false, // needsEagerInit
+ true, // hasConstants
+ false, // isCxxModule
+ // BuildConfig.IS_NEW_ARCHITECTURE_ENABLED
+ false, // isTurboModule
+ ),
+ )
+ moduleInfos.toMap()
+ }
+
+ override fun getViewManagers(reactContext: ReactApplicationContext): List =
+ listOf(
+ ModuleSpec.viewManagerSpec { RoktLayoutViewManager() },
+ )
+}
diff --git a/android/src/main/java/com/mparticle/react/rokt/MPRoktModuleImpl.kt b/android/src/main/java/com/mparticle/react/rokt/MPRoktModuleImpl.kt
new file mode 100644
index 0000000..f3a1423
--- /dev/null
+++ b/android/src/main/java/com/mparticle/react/rokt/MPRoktModuleImpl.kt
@@ -0,0 +1,254 @@
+package com.mparticle.react.rokt
+
+import android.app.Activity
+import android.util.Log
+import androidx.lifecycle.Lifecycle
+import androidx.lifecycle.LifecycleOwner
+import androidx.lifecycle.lifecycleScope
+import androidx.lifecycle.repeatOnLifecycle
+import com.facebook.react.bridge.Arguments
+import com.facebook.react.bridge.ReactApplicationContext
+import com.facebook.react.bridge.ReactContext
+import com.facebook.react.bridge.ReadableMap
+import com.facebook.react.bridge.WritableMap
+import com.facebook.react.modules.core.DeviceEventManagerModule
+import com.mparticle.MParticle
+import com.mparticle.MpRoktEventCallback
+import com.mparticle.RoktEvent
+import com.mparticle.UnloadReasons
+import com.mparticle.rokt.CacheConfig
+import com.mparticle.rokt.RoktConfig
+import kotlinx.coroutines.Job
+import kotlinx.coroutines.flow.Flow
+import kotlinx.coroutines.launch
+
+class MPRoktModuleImpl(
+ private val reactContext: ReactApplicationContext,
+) {
+ private var roktEventHandler: MpRoktEventCallback? = null
+ private val debug = false
+
+ private val eventSubscriptions = mutableMapOf()
+ private val listeners: MutableMap =
+ object : LinkedHashMap() {
+ override fun removeEldestEntry(eldest: Map.Entry): Boolean = this.size > MAX_LISTENERS
+ }
+
+ fun getName(): String = MODULE_NAME
+
+ fun purchaseFinalized(
+ placementId: String,
+ catalogItemId: String,
+ success: Boolean,
+ ) {
+ MParticle.getInstance()?.Rokt()?.purchaseFinalized(placementId, catalogItemId, success)
+ }
+
+ fun setRoktEventHandler(roktEventHandler: MpRoktEventCallback) {
+ this.roktEventHandler = roktEventHandler
+ }
+
+ fun createRoktCallback(): MpRoktEventCallback {
+ val callback: MpRoktEventCallback =
+ object : MpRoktEventCallback {
+ override fun onLoad() {
+ sendCallback("onLoad", null)
+ }
+
+ override fun onUnload(reason: UnloadReasons) {
+ sendCallback("onUnLoad", reason.toString())
+ }
+
+ override fun onShouldShowLoadingIndicator() {
+ sendCallback("onShouldShowLoadingIndicator", null)
+ }
+
+ override fun onShouldHideLoadingIndicator() {
+ sendCallback("onShouldHideLoadingIndicator", null)
+ }
+ }
+ listeners[System.currentTimeMillis()] = callback
+ return callback
+ }
+
+ fun sendCallback(
+ eventValue: String,
+ reason: String?,
+ ) {
+ val params = Arguments.createMap()
+ params.putString("callbackValue", eventValue)
+ if (reason != null) {
+ params.putString("reason", reason)
+ }
+ sendEvent(reactContext, "RoktCallback", params)
+ }
+
+ fun sendEvent(
+ reactContext: ReactContext?,
+ eventName: String,
+ params: WritableMap?,
+ ) {
+ reactContext?.getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter::class.java)?.emit(eventName, params)
+ }
+
+ fun readableMapToMapOfStrings(attributes: ReadableMap?): Map =
+ attributes?.toHashMap()?.filter { it.value is String }?.mapValues { it.value as String }
+ ?: emptyMap()
+
+ fun logDebug(message: String) {
+ if (debug) {
+ Log.d("Rokt", message)
+ }
+ }
+
+ fun String.toColorMode(): RoktConfig.ColorMode =
+ when (this) {
+ "dark" -> RoktConfig.ColorMode.DARK
+ "light" -> RoktConfig.ColorMode.LIGHT
+ else -> RoktConfig.ColorMode.SYSTEM
+ }
+
+ fun buildRoktConfig(roktConfig: ReadableMap?): RoktConfig {
+ val builder = RoktConfig.Builder()
+ val configMap: Map = readableMapToMapOfStrings(roktConfig)
+ configMap["colorMode"]?.let {
+ builder.colorMode(it.toColorMode())
+ }
+ roktConfig?.getMap("cacheConfig")?.let {
+ builder.cacheConfig(buildCacheConfig(it))
+ }
+ return builder.build()
+ }
+
+ fun buildCacheConfig(cacheConfigMap: ReadableMap?): CacheConfig {
+ val cacheDurationInSeconds =
+ if (cacheConfigMap?.hasKey("cacheDurationInSeconds") == true) {
+ cacheConfigMap.getDouble("cacheDurationInSeconds").toLong()
+ } else {
+ 0L
+ }
+ val cacheAttributes =
+ if (cacheConfigMap?.hasKey("cacheAttributes") == true) {
+ cacheConfigMap.getMap("cacheAttributes")?.toHashMap()?.mapValues { it.value as String }
+ } else {
+ null
+ }
+ return CacheConfig(
+ cacheDurationInSeconds = cacheDurationInSeconds,
+ cacheAttributes = cacheAttributes,
+ )
+ }
+
+ fun startRoktEventListener(
+ flow: Flow,
+ currentActivity: Activity?,
+ viewName: String? = null,
+ ) {
+ val activeJob = eventSubscriptions[viewName.orEmpty()]?.takeIf { it.isActive }
+ if (activeJob != null) {
+ return
+ }
+ val job =
+ (currentActivity as? LifecycleOwner)?.lifecycleScope?.launch {
+ (currentActivity as LifecycleOwner).repeatOnLifecycle(Lifecycle.State.CREATED) {
+ flow.collect { event ->
+ val params = Arguments.createMap()
+ var eventName: String
+ val placementId: String? =
+ when (event) {
+ is RoktEvent.FirstPositiveEngagement -> {
+ eventName = "FirstPositiveEngagement"
+ event.placementId
+ }
+
+ RoktEvent.HideLoadingIndicator -> {
+ eventName = "HideLoadingIndicator"
+ null
+ }
+
+ is RoktEvent.OfferEngagement -> {
+ eventName = "OfferEngagement"
+ event.placementId
+ }
+
+ is RoktEvent.PlacementClosed -> {
+ eventName = "PlacementClosed"
+ event.placementId
+ }
+
+ is RoktEvent.PlacementCompleted -> {
+ eventName = "PlacementCompleted"
+ event.placementId
+ }
+
+ is RoktEvent.PlacementFailure -> {
+ eventName = "PlacementFailure"
+ event.placementId
+ }
+
+ is RoktEvent.PlacementInteractive -> {
+ eventName = "PlacementInteractive"
+ event.placementId
+ }
+
+ is RoktEvent.PlacementReady -> {
+ eventName = "PlacementReady"
+ event.placementId
+ }
+
+ is RoktEvent.PositiveEngagement -> {
+ eventName = "PositiveEngagement"
+ event.placementId
+ }
+
+ RoktEvent.ShowLoadingIndicator -> {
+ eventName = "ShowLoadingIndicator"
+ null
+ }
+
+ is RoktEvent.InitComplete -> {
+ eventName = "InitComplete"
+ params.putString("status", event.success.toString())
+ null
+ }
+
+ is RoktEvent.OpenUrl -> {
+ eventName = "OpenUrl"
+ params.putString("url", event.url)
+ event.placementId
+ }
+
+ is RoktEvent.CartItemInstantPurchase -> {
+ eventName = "CartItemInstantPurchase"
+ params.putString("cartItemId", event.cartItemId)
+ params.putString("catalogItemId", event.catalogItemId)
+ params.putString("currency", event.currency)
+ params.putString("description", event.description)
+ params.putString("linkedProductId", event.linkedProductId)
+ params.putDouble("totalPrice", event.totalPrice)
+ params.putInt("quantity", event.quantity)
+ params.putDouble("unitPrice", event.unitPrice)
+ event.placementId
+ }
+
+ else -> {
+ eventName = "Unknown"
+ null
+ }
+ }
+
+ placementId?.let { params.putString("placementId", it) }
+ params.putString("event", eventName)
+ viewName?.let { params.putString("viewName", it) }
+ sendEvent(reactContext, "RoktEvents", params)
+ }
+ }
+ }
+ eventSubscriptions[viewName.orEmpty()] = job
+ }
+
+ companion object {
+ const val MAX_LISTENERS = 5
+ const val MODULE_NAME = "MPRokt"
+ }
+}
diff --git a/android/src/main/java/com/mparticle/react/rokt/RoktLayoutViewManagerImpl.kt b/android/src/main/java/com/mparticle/react/rokt/RoktLayoutViewManagerImpl.kt
new file mode 100644
index 0000000..d6ab5e5
--- /dev/null
+++ b/android/src/main/java/com/mparticle/react/rokt/RoktLayoutViewManagerImpl.kt
@@ -0,0 +1,79 @@
+package com.mparticle.react.rokt
+
+import com.facebook.react.bridge.Arguments
+import com.facebook.react.bridge.ReactContext
+import com.facebook.react.uimanager.ThemedReactContext
+import com.facebook.react.uimanager.events.RCTEventEmitter
+import com.mparticle.rokt.RoktEmbeddedView
+import com.mparticle.rokt.RoktLayoutDimensionCallBack
+
+class RoktLayoutViewManagerImpl {
+ companion object {
+ const val REACT_CLASS = "RoktNativeLayout"
+ const val EVENT_HEIGHT_CHANGED = "onLayoutHeightChanged"
+ const val EVENT_MARGIN_CHANGED = "onLayoutMarginChanged"
+ }
+
+ fun getName(): String = REACT_CLASS
+
+ fun createViewInstance(reactContext: ThemedReactContext): RoktEmbeddedView {
+ val widget = RoktEmbeddedView(reactContext)
+ setUpWidgetListeners(widget)
+ return widget
+ }
+
+ fun setPlaceholderName(
+ view: RoktEmbeddedView?,
+ value: String?,
+ ) {
+ view?.tag = value
+ }
+
+ private fun setUpWidgetListeners(widget: RoktEmbeddedView) {
+ widget.dimensionCallBack =
+ object : RoktLayoutDimensionCallBack {
+ override fun onHeightChanged(height: Int) {
+ changeHeight(widget.context as ReactContext, height, widget.id)
+ }
+
+ override fun onMarginChanged(
+ start: Int,
+ top: Int,
+ end: Int,
+ bottom: Int,
+ ) {
+ changeMargin(widget.context as ReactContext, widget.id, start, top, end, bottom)
+ }
+ }
+ }
+
+ fun changeHeight(
+ context: ReactContext,
+ height: Int,
+ id: Int,
+ ) {
+ val event = Arguments.createMap()
+ event.putString("height", height.toString())
+ context
+ .getJSModule(RCTEventEmitter::class.java)
+ .receiveEvent(id, EVENT_HEIGHT_CHANGED, event)
+ }
+
+ fun changeMargin(
+ context: ReactContext,
+ id: Int,
+ start: Int,
+ top: Int,
+ end: Int,
+ bottom: Int,
+ ) {
+ val event = Arguments.createMap()
+ event.putString("marginLeft", start.toString())
+ event.putString("marginTop", top.toString())
+ event.putString("marginRight", end.toString())
+ event.putString("marginBottom", bottom.toString())
+ context
+ .getJSModule(RCTEventEmitter::class.java)
+ .receiveEvent(id, EVENT_MARGIN_CHANGED, event)
+ }
+}
diff --git a/android/src/oldarch/java/com/mparticle/react/rokt/MPRoktModule.kt b/android/src/oldarch/java/com/mparticle/react/rokt/MPRoktModule.kt
new file mode 100644
index 0000000..2733060
--- /dev/null
+++ b/android/src/oldarch/java/com/mparticle/react/rokt/MPRoktModule.kt
@@ -0,0 +1,74 @@
+package com.mparticle.react.rokt
+
+import com.facebook.react.bridge.ReactApplicationContext
+import com.facebook.react.bridge.ReactContextBaseJavaModule
+import com.facebook.react.bridge.ReactMethod
+import com.facebook.react.bridge.ReadableMap
+import com.facebook.react.uimanager.NativeViewHierarchyManager
+import com.facebook.react.uimanager.UIManagerModule
+import com.mparticle.MParticle
+import com.mparticle.WrapperSdk
+import com.mparticle.rokt.RoktEmbeddedView
+import java.lang.ref.WeakReference
+
+class MPRoktModule(
+ private val reactContext: ReactApplicationContext,
+) : ReactContextBaseJavaModule(reactContext) {
+ init {
+ MParticle.getInstance()?.setWrapperSdk(WrapperSdk.WrapperSdkReactNative, "")
+ }
+
+ private val impl = MPRoktModuleImpl(reactContext)
+
+ override fun getName(): String = impl.getName()
+
+ @ReactMethod
+ fun selectPlacements(
+ identifier: String,
+ attributes: ReadableMap?,
+ placeholders: ReadableMap?,
+ roktConfig: ReadableMap?,
+ fontFilesMap: ReadableMap?,
+ ) {
+ if (identifier.isBlank()) {
+ impl.logDebug("selectPlacements failed. identifier cannot be empty")
+ return
+ }
+ val uiManager = reactContext.getNativeModule(UIManagerModule::class.java)
+ MParticle.getInstance()?.Rokt()?.events(identifier)?.let {
+ impl.startRoktEventListener(it, reactContext.currentActivity, identifier)
+ }
+
+ val config = roktConfig?.let { impl.buildRoktConfig(it) }
+ uiManager?.addUIBlock { nativeViewHierarchyManager ->
+ MParticle.getInstance()?.Rokt()?.selectPlacements(
+ identifier = identifier,
+ attributes = impl.readableMapToMapOfStrings(attributes),
+ callbacks = impl.createRoktCallback(),
+ embeddedViews = safeUnwrapPlaceholders(placeholders, nativeViewHierarchyManager),
+ fontTypefaces = null, // TODO
+ config = config,
+ )
+ }
+ }
+
+ private fun safeUnwrapPlaceholders(
+ placeholders: ReadableMap?,
+ nativeViewHierarchyManager: NativeViewHierarchyManager,
+ ): Map> {
+ val placeholderMap: MutableMap> = HashMap()
+
+ if (placeholders != null) {
+ placeholderMap.putAll(
+ placeholders
+ .toHashMap()
+ .filterValues { value -> value is Double }
+ .mapValues { pair -> (pair.value as Double).toInt() }
+ .mapValues { pair -> nativeViewHierarchyManager.resolveView(pair.value) as? RoktEmbeddedView }
+ .filterValues { value -> value != null }
+ .mapValues { WeakReference(it.value as RoktEmbeddedView) },
+ )
+ }
+ return placeholderMap
+ }
+}
diff --git a/android/src/oldarch/java/com/mparticle/react/rokt/RoktLayoutViewManager.kt b/android/src/oldarch/java/com/mparticle/react/rokt/RoktLayoutViewManager.kt
new file mode 100644
index 0000000..9e2d144
--- /dev/null
+++ b/android/src/oldarch/java/com/mparticle/react/rokt/RoktLayoutViewManager.kt
@@ -0,0 +1,34 @@
+package com.mparticle.react.rokt
+
+import com.facebook.react.common.MapBuilder
+import com.facebook.react.uimanager.ThemedReactContext
+import com.facebook.react.uimanager.ViewGroupManager
+import com.mparticle.rokt.RoktEmbeddedView
+
+class RoktLayoutViewManager : ViewGroupManager() {
+ private val impl = RoktLayoutViewManagerImpl()
+
+ override fun getName(): String = impl.getName()
+
+ override fun createViewInstance(reactContext: ThemedReactContext): RoktEmbeddedView = impl.createViewInstance(reactContext)
+
+ override fun getExportedCustomDirectEventTypeConstants(): Map? =
+ MapBuilder
+ .builder()
+ .put(
+ RoktLayoutViewManagerImpl.EVENT_HEIGHT_CHANGED,
+ MapBuilder.of("registrationName", RoktLayoutViewManagerImpl.EVENT_HEIGHT_CHANGED),
+ ).put(
+ RoktLayoutViewManagerImpl.EVENT_MARGIN_CHANGED,
+ MapBuilder.of("registrationName", RoktLayoutViewManagerImpl.EVENT_MARGIN_CHANGED),
+ ).build()
+
+ override fun needsCustomLayoutForChildren(): Boolean = false
+
+ fun setPlaceholderName(
+ view: RoktEmbeddedView?,
+ value: String?,
+ ) {
+ impl.setPlaceholderName(view, value)
+ }
+}
diff --git a/android/src/test/java/com/mparticle/react/testutils/MockMParticleUser.java b/android/src/test/java/com/mparticle/react/testutils/MockMParticleUser.java
index 8a1babe..f071580 100644
--- a/android/src/test/java/com/mparticle/react/testutils/MockMParticleUser.java
+++ b/android/src/test/java/com/mparticle/react/testutils/MockMParticleUser.java
@@ -4,10 +4,11 @@
import androidx.annotation.Nullable;
import com.mparticle.MParticle;
-import com.mparticle.UserAttributeListener;
import com.mparticle.UserAttributeListenerType;
import com.mparticle.consent.ConsentState;
import com.mparticle.identity.MParticleUser;
+import com.mparticle.audience.AudienceTask;
+import com.mparticle.audience.AudienceResponse;
import java.util.Map;
@@ -99,5 +100,10 @@ public long getFirstSeenTime() {
public long getLastSeenTime() {
return 0;
}
+
+ @Override
+ public AudienceTask getUserAudiences() {
+ return null;
+ }
}
diff --git a/android/src/test/java/com/mparticle/react/testutils/MockMap.java b/android/src/test/java/com/mparticle/react/testutils/MockMap.java
index 5ae32dc..e1b74c0 100644
--- a/android/src/test/java/com/mparticle/react/testutils/MockMap.java
+++ b/android/src/test/java/com/mparticle/react/testutils/MockMap.java
@@ -1,10 +1,13 @@
package com.mparticle.react.testutils;
+import androidx.annotation.NonNull;
+
+import com.facebook.react.bridge.Dynamic;
+import com.facebook.react.bridge.DynamicFromObject;
import com.facebook.react.bridge.ReadableArray;
import com.facebook.react.bridge.ReadableMap;
import com.facebook.react.bridge.ReadableMapKeySetIterator;
import com.facebook.react.bridge.ReadableType;
-import com.facebook.react.bridge.WritableArray;
import com.facebook.react.bridge.WritableMap;
import org.json.JSONException;
@@ -61,6 +64,11 @@ public int getInt(String name) {
return (int) map.get(name);
}
+ @Override
+ public long getLong(String name) {
+ return (long) map.get(name);
+ }
+
@Override
public String getString(String name) {
return (String) map.get(name);
@@ -105,6 +113,11 @@ public ReadableMapKeySetIterator keySetIterator() {
return new MockReadableMapKeySetIterator(map.keySet());
}
+ @Override
+ public java.util.HashMap toHashMap() {
+ return new java.util.HashMap<>(map);
+ }
+
@Override
public void putNull(String key) {
map.put(key, null);
@@ -125,18 +138,23 @@ public void putInt(String key, int value) {
map.put(key, value);
}
+ @Override
+ public void putLong(String key, long value) {
+ map.put(key, value);
+ }
+
@Override
public void putString(String key, String value) {
map.put(key, value);
}
@Override
- public void putArray(String key, WritableArray value) {
+ public void putArray(String key, ReadableArray value) {
map.put(key, value);
}
@Override
- public void putMap(String key, WritableMap value) {
+ public void putMap(String key, ReadableMap value) {
map.put(key, value);
}
@@ -145,6 +163,22 @@ public void merge(ReadableMap source) {
throw new RuntimeException("Not Implemented");
}
+ @Override
+ public WritableMap copy() {
+ return new MockMap(new java.util.HashMap<>(map));
+ }
+
+ @NonNull
+ @Override
+ public Iterator> getEntryIterator() {
+ return map.entrySet().iterator();
+ }
+
+ @NonNull
+ @Override
+ public Dynamic getDynamic(@NonNull String s) {
+ return new DynamicFromObject(map.get(s));
+ }
class MockReadableMapKeySetIterator implements ReadableMapKeySetIterator {
List keys;
diff --git a/android/src/test/java/com/mparticle/react/testutils/MockReadableArray.java b/android/src/test/java/com/mparticle/react/testutils/MockReadableArray.java
index b26e217..65329c4 100644
--- a/android/src/test/java/com/mparticle/react/testutils/MockReadableArray.java
+++ b/android/src/test/java/com/mparticle/react/testutils/MockReadableArray.java
@@ -31,6 +31,11 @@ public int getInt(int index) {
return 0;
}
+ @Override
+ public long getLong(int index) {
+ return 0;
+ }
+
@Override
public String getString(int index) {
return null;
@@ -50,4 +55,14 @@ public ReadableMap getMap(int index) {
public ReadableType getType(int index) {
return null;
}
+
+ @Override
+ public com.facebook.react.bridge.Dynamic getDynamic(int index) {
+ return null;
+ }
+
+ @Override
+ public java.util.ArrayList