├── .babelrc ├── .gitattributes ├── .gitignore ├── .vscode └── extensions.json ├── LICENSE ├── README.md ├── android.yaml ├── android ├── app │ ├── BUCK │ ├── build.gradle │ ├── proguard-rules.pro │ └── src │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── demo │ │ │ │ └── activity │ │ │ │ ├── ActivityStarterModule.java │ │ │ │ ├── ActivityStarterReactPackage.java │ │ │ │ ├── EventEmitterModule.java │ │ │ │ ├── ExampleActivity.java │ │ │ │ ├── MainActivity.java │ │ │ │ ├── MainApplication.java │ │ │ │ └── ReverseTextActivity.java │ │ └── res │ │ │ ├── layout │ │ │ ├── activity_example.xml │ │ │ └── activity_reverse_text.xml │ │ │ ├── mipmap-hdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-mdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxhdpi │ │ │ └── ic_launcher.png │ │ │ └── values │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ └── release │ │ └── AndroidManifest.xml ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── keystores │ ├── BUCK │ └── debug.keystore.properties └── settings.gradle ├── img └── AndroidScreenShot.png ├── index.js ├── ios.yaml ├── ios ├── Activity.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata │ │ │ └── IDEWorkspaceChecks.plist │ └── xcshareddata │ │ └── xcschemes │ │ └── Activity.xcscheme ├── Activity.xcworkspace │ ├── contents.xcworkspacedata │ └── xcshareddata │ │ └── IDEWorkspaceChecks.plist ├── Activity │ ├── ActivityStarterModule.h │ ├── ActivityStarterModule.m │ ├── AppDelegate.h │ ├── AppDelegate.m │ ├── Base.lproj │ │ └── LaunchScreen.xib │ ├── EventEmitter.h │ ├── EventEmitter.m │ ├── ExampleView.h │ ├── ExampleView.m │ ├── ExampleView.xib │ ├── Images.xcassets │ │ └── AppIcon.appiconset │ │ │ └── Contents.json │ ├── Info.plist │ └── main.m ├── Podfile └── Podfile.lock ├── jsconfig.json ├── package-lock.json ├── package.json └── yarn.lock /.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": ["module:metro-react-native-babel-preset"] 3 | } 4 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | *.pbxproj -text 2 | ios/* linguist-vendored 3 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .npmrc 2 | 3 | # OSX 4 | .DS_Store 5 | 6 | # Xcode 7 | build/ 8 | *.pbxuser 9 | !default.pbxuser 10 | *.mode1v3 11 | !default.mode1v3 12 | *.mode2v3 13 | !default.mode2v3 14 | *.perspectivev3 15 | !default.perspectivev3 16 | xcuserdata 17 | *.xccheckout 18 | *.moved-aside 19 | DerivedData 20 | *.hmap 21 | *.ipa 22 | *.xcuserstate 23 | 24 | # CocoaPods 25 | ios/Pods/ 26 | 27 | # Android/IntelliJ 28 | .classpath 29 | .idea 30 | .gradle 31 | .project 32 | .settings/ 33 | build/ 34 | local.properties 35 | *.iml 36 | 37 | # node.js 38 | node_modules/ 39 | npm-debug.log 40 | yarn-error.log 41 | 42 | # BUCK 43 | buck-out/ 44 | \.buckd/ 45 | *.keystore 46 | 47 | # fastlane 48 | # 49 | # It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the 50 | # screenshots whenever they are needed. 51 | # For more information about the recommended setup visit: 52 | # https://github.com/fastlane/fastlane/blob/master/fastlane/docs/Gitignore.md 53 | 54 | fastlane/report.xml 55 | fastlane/Preview.html 56 | fastlane/screenshots 57 | 58 | # Visual Studio Code 59 | .vscode/ 60 | -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | // See http://go.microsoft.com/fwlink/?LinkId=827846 3 | // for the documentation about the extensions.json format 4 | "recommendations": [ 5 | // Extension identifier format: ${publisher}.${name}. Example: vscode.csharp 6 | "eg2.tslint", 7 | "DavidAnson.vscode-markdownlint", 8 | "jakob101.RelativePath", 9 | "msjsdiag.debugger-for-chrome" 10 | ] 11 | } -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2017 Petter Hesselberg 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # React Native Activity Demo 2 | 3 | ## Build Status 4 | 5 | | Android | iOS | 6 | |---|---| 7 | | [![Build Status](https://dev.azure.com/petter0012/react-native-android-activity/_apis/build/status/petterh.react-native-android-activity?branchName=master)](https://dev.azure.com/petter0012/react-native-android-activity/_build/latest?definitionId=1&branchName=master) | [![Build Status](https://dev.azure.com/petter0012/react-native-android-activity/_apis/build/status/petterh.react-native-android-activity%20(1)?branchName=master)](https://dev.azure.com/petter0012/react-native-android-activity/_build/latest?definitionId=2&branchName=master) | 8 | 9 | This sample, which grew out of a [question on Stack Overflow](https://stackoverflow.com/questions/42253397/call-android-activity-from-react-native-code/43675819), demonstrates the interface between React Native JavaScript and native code – Java on Android, Objective-C on iOS. 10 | 11 | The original version was Android-only; support for iOS was added in March 2019. 12 | 13 | This project demonstrates the following: 14 | 15 | * Calling from JavaScript into native modules: 16 | * ...using a custom native module called `ActivityStarter`: 17 | * Navigate from React Native to a Java activity (or iOS view controller) internal to the host app; 18 | * Start an external intent to dial a phone number, passing data from JavaScript; 19 | * Query the host app for information. 20 | * ...using the native module `Clipboard`, which [comes with React Native out of the box](https://github.com/facebook/react-native/blob/master/ReactAndroid/src/main/java/com/facebook/react/modules/clipboard/ClipboardModule.java): 21 | * Copy information to the clipboard. 22 | * Calling a JavaScript method from Java or Objective-C, using an officially undocumented approach. 23 | * Sending events from the native platform to JavaScript. (When possible, prefer this approach to the undocumented one.) 24 | * Verifying that custom edit menu extensions work with React Native `TextInput`. (Android only.) 25 | * Adding a custom menu option to React Native debug menu. 26 | 27 | There is no technical difference between the `ActivityStarter` and `Clipboard` native modules, except one is defined in this project while the other ships as part of React Native. 28 | 29 | The starting point for this sample is a slightly tweaked standard React Native project as generated by a long-outdated version of `react-native init`. We add six buttons to the generated page: 30 | 31 | ![Android Demo App](img/AndroidScreenShot.png) 32 | 33 | The `TextInput` box appears only in the Android version. Since both platforms use the same JavaScript, I took the opportunity to demonstrate how to handle platform-specific tweaks – look for `Platform.select` in [`index.js`](index.js). 34 | 35 | ## Getting started 36 | 37 | 38 | 39 | * Install [Git](https://git-scm.com/downloads). 40 | * Install [Node.js](https://nodejs.org/en/download/). 41 | * Install [Yarn](https://yarnpkg.com/lang/en/docs/install/#windows-stable). Use a shell with Git, Node and Yarn in the path for all commands. 42 | * Clone this project:\ 43 | `git clone https://github.com/petterh/react-native-android-activity.git`\ 44 | (Alternatively, create your own fork and clone that instead.) 45 | * `cd react-native-android-activity` 46 | * Run `yarn` to download dependencies (or, if you wish, `npm install`) 47 | * For Android development (using Windows, Mac or Linux), install [Android Studio](https://developer.android.com/studio/install.html) (follow instructions [on this page](https://facebook.github.io/react-native/docs/getting-started.html)). 48 | * For iOS development (Mac only), install [Xcode](https://developer.apple.com/xcode/). 49 | * By default, the debug build of the app loads the JS bundle from your dev box, so start a bundler: 50 | ```cmd 51 | yarn start 52 | ``` 53 | 54 | ### Android 55 | 56 | * Connect an Android device via USB, or use an emulator. 57 | * [Enable USB Debugging in Developer options](https://developer.android.com/studio/run/device). 58 | * Open the app in Android Studio and run it. 59 | * If this fails with the message "Could not get BatchedBridge, make sure your bundle is packaged correctly", your packager is likely not running. 60 | * If it complains about connecting to the dev server, run `adb reverse tcp:8081 tcp:8081` 61 | * If it crashes while opening the ReactNative controls, try to modify the following phone settings: 62 | **Android Settings -> Apps -> Settings once again (the gear) to go to Configure Apps view -> Draw over other apps -> Allow React Native Android Activity Demo to draw over other apps**. (The demo app *should* ask for this automatically, though.) 63 | * To embed the bundle in the apk (and not have to run the packager), set `bundleInDebug=true` in `android/gradle.properties`. 64 | 65 | ### iOS 66 | 67 | * Open the iOS project in Xcode: `open Activity.xcworkspace`. 68 | * Run the Activity application. 69 | 70 | 71 | 72 | ## The React Native side 73 | 74 | The gist of the JavaScript code looks like this: 75 | 76 | ```javascript 77 | import { ..., NativeModules, ... } from 'react-native'; 78 | 79 | export default class ActivityDemoComponent extends Component { 80 | render() { 81 | return ( 82 | 83 | 84 | Welcome to React Native! 85 | 86 | 87 | To get started, edit index.js 88 | 89 | 90 | 91 | Double tap R on your keyboard to reload,{'\n'} 92 | Shake or press menu button for dev menu 93 | 94 | 95 | 35 | 44 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | -------------------------------------------------------------------------------- /ios/Activity/Images.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "20x20", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "20x20", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "29x29", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "29x29", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "40x40", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "40x40", 31 | "scale" : "3x" 32 | }, 33 | { 34 | "idiom" : "iphone", 35 | "size" : "60x60", 36 | "scale" : "2x" 37 | }, 38 | { 39 | "idiom" : "iphone", 40 | "size" : "60x60", 41 | "scale" : "3x" 42 | }, 43 | { 44 | "idiom" : "ios-marketing", 45 | "size" : "1024x1024", 46 | "scale" : "1x" 47 | } 48 | ], 49 | "info" : { 50 | "version" : 1, 51 | "author" : "xcode" 52 | } 53 | } -------------------------------------------------------------------------------- /ios/Activity/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleDisplayName 8 | ActivityDemoComponent 9 | CFBundleExecutable 10 | $(EXECUTABLE_NAME) 11 | CFBundleIdentifier 12 | $(PRODUCT_BUNDLE_IDENTIFIER) 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | $(PRODUCT_NAME) 17 | CFBundlePackageType 18 | APPL 19 | CFBundleShortVersionString 20 | 1.0 21 | CFBundleSignature 22 | ???? 23 | CFBundleVersion 24 | 1 25 | LSRequiresIPhoneOS 26 | 27 | NSAppTransportSecurity 28 | 29 | NSExceptionDomains 30 | 31 | localhost 32 | 33 | NSExceptionAllowsInsecureHTTPLoads 34 | 35 | 36 | 37 | 38 | NSLocationWhenInUseUsageDescription 39 | 40 | UILaunchStoryboardName 41 | LaunchScreen 42 | UIRequiredDeviceCapabilities 43 | 44 | armv7 45 | 46 | UISupportedInterfaceOrientations 47 | 48 | UIInterfaceOrientationPortrait 49 | UIInterfaceOrientationLandscapeLeft 50 | UIInterfaceOrientationLandscapeRight 51 | 52 | UIViewControllerBasedStatusBarAppearance 53 | 54 | 55 | 56 | -------------------------------------------------------------------------------- /ios/Activity/main.m: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | #import "AppDelegate.h" 4 | 5 | int main(int argc, char * argv[]) { 6 | @autoreleasepool { 7 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /ios/Podfile: -------------------------------------------------------------------------------- 1 | platform :ios, '9.1' 2 | require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules' 3 | target 'Activity' do 4 | # Pods for Activity 5 | pod 'React', :path => '../node_modules/react-native/' 6 | pod 'React-Core', :path => '../node_modules/react-native/React' 7 | pod 'React-DevSupport', :path => '../node_modules/react-native/React' 8 | pod 'React-RCTActionSheet', :path => '../node_modules/react-native/Libraries/ActionSheetIOS' 9 | pod 'React-RCTAnimation', :path => '../node_modules/react-native/Libraries/NativeAnimation' 10 | pod 'React-RCTBlob', :path => '../node_modules/react-native/Libraries/Blob' 11 | pod 'React-RCTImage', :path => '../node_modules/react-native/Libraries/Image' 12 | pod 'React-RCTLinking', :path => '../node_modules/react-native/Libraries/LinkingIOS' 13 | pod 'React-RCTNetwork', :path => '../node_modules/react-native/Libraries/Network' 14 | pod 'React-RCTSettings', :path => '../node_modules/react-native/Libraries/Settings' 15 | pod 'React-RCTText', :path => '../node_modules/react-native/Libraries/Text' 16 | pod 'React-RCTVibration', :path => '../node_modules/react-native/Libraries/Vibration' 17 | pod 'React-RCTWebSocket', :path => '../node_modules/react-native/Libraries/WebSocket' 18 | pod 'React-cxxreact', :path => '../node_modules/react-native/ReactCommon/cxxreact' 19 | pod 'React-jsi', :path => '../node_modules/react-native/ReactCommon/jsi' 20 | pod 'React-jsiexecutor', :path => '../node_modules/react-native/ReactCommon/jsiexecutor' 21 | pod 'React-jsinspector', :path => '../node_modules/react-native/ReactCommon/jsinspector' 22 | pod 'yoga', :path => '../node_modules/react-native/ReactCommon/yoga' 23 | pod 'DoubleConversion', :podspec => '../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec' 24 | pod 'glog', :podspec => '../node_modules/react-native/third-party-podspecs/glog.podspec' 25 | pod 'Folly', :podspec => '../node_modules/react-native/third-party-podspecs/Folly.podspec' 26 | use_native_modules! 27 | end 28 | -------------------------------------------------------------------------------- /ios/Podfile.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - boost-for-react-native (1.63.0) 3 | - DoubleConversion (1.1.6) 4 | - Folly (2018.10.22.00): 5 | - boost-for-react-native 6 | - DoubleConversion 7 | - Folly/Default (= 2018.10.22.00) 8 | - glog 9 | - Folly/Default (2018.10.22.00): 10 | - boost-for-react-native 11 | - DoubleConversion 12 | - glog 13 | - glog (0.3.5) 14 | - React (0.60.5): 15 | - React-Core (= 0.60.5) 16 | - React-DevSupport (= 0.60.5) 17 | - React-RCTActionSheet (= 0.60.5) 18 | - React-RCTAnimation (= 0.60.5) 19 | - React-RCTBlob (= 0.60.5) 20 | - React-RCTImage (= 0.60.5) 21 | - React-RCTLinking (= 0.60.5) 22 | - React-RCTNetwork (= 0.60.5) 23 | - React-RCTSettings (= 0.60.5) 24 | - React-RCTText (= 0.60.5) 25 | - React-RCTVibration (= 0.60.5) 26 | - React-RCTWebSocket (= 0.60.5) 27 | - React-Core (0.60.5): 28 | - Folly (= 2018.10.22.00) 29 | - React-cxxreact (= 0.60.5) 30 | - React-jsiexecutor (= 0.60.5) 31 | - yoga (= 0.60.5.React) 32 | - React-cxxreact (0.60.5): 33 | - boost-for-react-native (= 1.63.0) 34 | - DoubleConversion 35 | - Folly (= 2018.10.22.00) 36 | - glog 37 | - React-jsinspector (= 0.60.5) 38 | - React-DevSupport (0.60.5): 39 | - React-Core (= 0.60.5) 40 | - React-RCTWebSocket (= 0.60.5) 41 | - React-jsi (0.60.5): 42 | - boost-for-react-native (= 1.63.0) 43 | - DoubleConversion 44 | - Folly (= 2018.10.22.00) 45 | - glog 46 | - React-jsi/Default (= 0.60.5) 47 | - React-jsi/Default (0.60.5): 48 | - boost-for-react-native (= 1.63.0) 49 | - DoubleConversion 50 | - Folly (= 2018.10.22.00) 51 | - glog 52 | - React-jsiexecutor (0.60.5): 53 | - DoubleConversion 54 | - Folly (= 2018.10.22.00) 55 | - glog 56 | - React-cxxreact (= 0.60.5) 57 | - React-jsi (= 0.60.5) 58 | - React-jsinspector (0.60.5) 59 | - React-RCTActionSheet (0.60.5): 60 | - React-Core (= 0.60.5) 61 | - React-RCTAnimation (0.60.5): 62 | - React-Core (= 0.60.5) 63 | - React-RCTBlob (0.60.5): 64 | - React-Core (= 0.60.5) 65 | - React-RCTNetwork (= 0.60.5) 66 | - React-RCTWebSocket (= 0.60.5) 67 | - React-RCTImage (0.60.5): 68 | - React-Core (= 0.60.5) 69 | - React-RCTNetwork (= 0.60.5) 70 | - React-RCTLinking (0.60.5): 71 | - React-Core (= 0.60.5) 72 | - React-RCTNetwork (0.60.5): 73 | - React-Core (= 0.60.5) 74 | - React-RCTSettings (0.60.5): 75 | - React-Core (= 0.60.5) 76 | - React-RCTText (0.60.5): 77 | - React-Core (= 0.60.5) 78 | - React-RCTVibration (0.60.5): 79 | - React-Core (= 0.60.5) 80 | - React-RCTWebSocket (0.60.5): 81 | - React-Core (= 0.60.5) 82 | - yoga (0.60.5.React) 83 | 84 | DEPENDENCIES: 85 | - DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`) 86 | - Folly (from `../node_modules/react-native/third-party-podspecs/Folly.podspec`) 87 | - glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`) 88 | - React (from `../node_modules/react-native/`) 89 | - React-Core (from `../node_modules/react-native/React`) 90 | - React-cxxreact (from `../node_modules/react-native/ReactCommon/cxxreact`) 91 | - React-DevSupport (from `../node_modules/react-native/React`) 92 | - React-jsi (from `../node_modules/react-native/ReactCommon/jsi`) 93 | - React-jsiexecutor (from `../node_modules/react-native/ReactCommon/jsiexecutor`) 94 | - React-jsinspector (from `../node_modules/react-native/ReactCommon/jsinspector`) 95 | - React-RCTActionSheet (from `../node_modules/react-native/Libraries/ActionSheetIOS`) 96 | - React-RCTAnimation (from `../node_modules/react-native/Libraries/NativeAnimation`) 97 | - React-RCTBlob (from `../node_modules/react-native/Libraries/Blob`) 98 | - React-RCTImage (from `../node_modules/react-native/Libraries/Image`) 99 | - React-RCTLinking (from `../node_modules/react-native/Libraries/LinkingIOS`) 100 | - React-RCTNetwork (from `../node_modules/react-native/Libraries/Network`) 101 | - React-RCTSettings (from `../node_modules/react-native/Libraries/Settings`) 102 | - React-RCTText (from `../node_modules/react-native/Libraries/Text`) 103 | - React-RCTVibration (from `../node_modules/react-native/Libraries/Vibration`) 104 | - React-RCTWebSocket (from `../node_modules/react-native/Libraries/WebSocket`) 105 | - yoga (from `../node_modules/react-native/ReactCommon/yoga`) 106 | 107 | SPEC REPOS: 108 | https://github.com/cocoapods/specs.git: 109 | - boost-for-react-native 110 | 111 | EXTERNAL SOURCES: 112 | DoubleConversion: 113 | :podspec: "../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec" 114 | Folly: 115 | :podspec: "../node_modules/react-native/third-party-podspecs/Folly.podspec" 116 | glog: 117 | :podspec: "../node_modules/react-native/third-party-podspecs/glog.podspec" 118 | React: 119 | :path: "../node_modules/react-native/" 120 | React-Core: 121 | :path: "../node_modules/react-native/React" 122 | React-cxxreact: 123 | :path: "../node_modules/react-native/ReactCommon/cxxreact" 124 | React-DevSupport: 125 | :path: "../node_modules/react-native/React" 126 | React-jsi: 127 | :path: "../node_modules/react-native/ReactCommon/jsi" 128 | React-jsiexecutor: 129 | :path: "../node_modules/react-native/ReactCommon/jsiexecutor" 130 | React-jsinspector: 131 | :path: "../node_modules/react-native/ReactCommon/jsinspector" 132 | React-RCTActionSheet: 133 | :path: "../node_modules/react-native/Libraries/ActionSheetIOS" 134 | React-RCTAnimation: 135 | :path: "../node_modules/react-native/Libraries/NativeAnimation" 136 | React-RCTBlob: 137 | :path: "../node_modules/react-native/Libraries/Blob" 138 | React-RCTImage: 139 | :path: "../node_modules/react-native/Libraries/Image" 140 | React-RCTLinking: 141 | :path: "../node_modules/react-native/Libraries/LinkingIOS" 142 | React-RCTNetwork: 143 | :path: "../node_modules/react-native/Libraries/Network" 144 | React-RCTSettings: 145 | :path: "../node_modules/react-native/Libraries/Settings" 146 | React-RCTText: 147 | :path: "../node_modules/react-native/Libraries/Text" 148 | React-RCTVibration: 149 | :path: "../node_modules/react-native/Libraries/Vibration" 150 | React-RCTWebSocket: 151 | :path: "../node_modules/react-native/Libraries/WebSocket" 152 | yoga: 153 | :path: "../node_modules/react-native/ReactCommon/yoga" 154 | 155 | SPEC CHECKSUMS: 156 | boost-for-react-native: 39c7adb57c4e60d6c5479dd8623128eb5b3f0f2c 157 | DoubleConversion: 5805e889d232975c086db112ece9ed034df7a0b2 158 | Folly: 30e7936e1c45c08d884aa59369ed951a8e68cf51 159 | glog: 1f3da668190260b06b429bb211bfbee5cd790c28 160 | React: 53c53c4d99097af47cf60594b8706b4e3321e722 161 | React-Core: ba421f6b4f4cbe2fb17c0b6fc675f87622e78a64 162 | React-cxxreact: 8384287780c4999351ad9b6e7a149d9ed10a2395 163 | React-DevSupport: 197fb409737cff2c4f9986e77c220d7452cb9f9f 164 | React-jsi: 4d8c9efb6312a9725b18d6fc818ffc103f60fec2 165 | React-jsiexecutor: 90ad2f9db09513fc763bc757fdc3c4ff8bde2a30 166 | React-jsinspector: e08662d1bf5b129a3d556eb9ea343a3f40353ae4 167 | React-RCTActionSheet: b0f1ea83f4bf75fb966eae9bfc47b78c8d3efd90 168 | React-RCTAnimation: 359ba1b5690b1e87cc173558a78e82d35919333e 169 | React-RCTBlob: 5e2b55f76e9a1c7ae52b826923502ddc3238df24 170 | React-RCTImage: f5f1c50922164e89bdda67bcd0153952a5cfe719 171 | React-RCTLinking: d0ecbd791e9ddddc41fa1f66b0255de90e8ee1e9 172 | React-RCTNetwork: e26946300b0ab7bb6c4a6348090e93fa21f33a9d 173 | React-RCTSettings: d0d37cb521b7470c998595a44f05847777cc3f42 174 | React-RCTText: b074d89033583d4f2eb5faf7ea2db3a13c7553a2 175 | React-RCTVibration: 2105b2e0e2b66a6408fc69a46c8a7fb5b2fdade0 176 | React-RCTWebSocket: cd932a16b7214898b6b7f788c8bddb3637246ac4 177 | yoga: 312528f5bbbba37b4dcea5ef00e8b4033fdd9411 178 | 179 | PODFILE CHECKSUM: d7ad5fbc71c9d1ffe43145aac502756d17700744 180 | 181 | COCOAPODS: 1.6.1 182 | -------------------------------------------------------------------------------- /jsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "allowJs": true, 4 | "allowSyntheticDefaultImports": true 5 | }, 6 | "exclude": [ 7 | "node_modules" 8 | ] 9 | } -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "activity", 3 | "repository": { 4 | "type": "git", 5 | "url": "https://github.com/petterh/react-native-android-activity.git" 6 | }, 7 | "version": "5.1.0", 8 | "private": true, 9 | "scripts": { 10 | "start": "node node_modules/react-native/local-cli/cli.js start" 11 | }, 12 | "dependencies": { 13 | "react": "16.8.6", 14 | "react-native": "0.60.5" 15 | }, 16 | "devDependencies": { 17 | "babel-loader": "8.0.6", 18 | "babel-plugin-transform-runtime": "6.23.0", 19 | "metro-react-native-babel-preset": "0.55.0", 20 | "ws": ">=3.3.1" 21 | } 22 | } 23 | --------------------------------------------------------------------------------