Bladeren bron

- Version change from 1.3.3 to 1.4.0
- Upgrade to latest react-native and all the packages
- Basic integration of Jitsi video chat

Alex Trofimov 6 jaren geleden
bovenliggende
commit
fe24295414
89 gewijzigde bestanden met toevoegingen van 2020 en 2005 verwijderingen
  1. 3 4
      .flowconfig
  2. 75 5
      App.js
  3. 33 0
      VideoCall.js
  4. 0 0
      android/app/_BUCK
  5. 29 6
      android/app/build.gradle
  6. 72 0
      android/app/src/debug/java/com/una/ReactNativeFlipper.java
  7. 30 23
      android/app/src/main/AndroidManifest.xml
  8. 1 7
      android/app/src/main/java/com/una/android/MainActivity.java
  9. 17 5
      android/app/src/main/java/com/una/android/MainApplication.java
  10. BIN
      android/app/src/main/res/drawable-hdpi/splash_image.png
  11. BIN
      android/app/src/main/res/drawable-land-hdpi/launch_screen.png
  12. BIN
      android/app/src/main/res/drawable-land-ldpi/launch_screen.png
  13. BIN
      android/app/src/main/res/drawable-land-mdpi/launch_screen.png
  14. BIN
      android/app/src/main/res/drawable-land-xhdpi/launch_screen.png
  15. BIN
      android/app/src/main/res/drawable-land-xxhdpi/launch_screen.png
  16. BIN
      android/app/src/main/res/drawable-land-xxxhdpi/launch_screen.png
  17. BIN
      android/app/src/main/res/drawable-mdpi/splash_image.png
  18. BIN
      android/app/src/main/res/drawable-port-hdpi/launch_screen.png
  19. BIN
      android/app/src/main/res/drawable-port-ldpi/launch_screen.png
  20. BIN
      android/app/src/main/res/drawable-port-mdpi/launch_screen.png
  21. BIN
      android/app/src/main/res/drawable-port-xhdpi/launch_screen.png
  22. BIN
      android/app/src/main/res/drawable-port-xxhdpi/launch_screen.png
  23. BIN
      android/app/src/main/res/drawable-port-xxxhdpi/launch_screen.png
  24. BIN
      android/app/src/main/res/drawable-xhdpi/splash_image.png
  25. BIN
      android/app/src/main/res/drawable-xxhdpi/splash_image.png
  26. 8 0
      android/app/src/main/res/drawable/launch_screen_bitmap.xml
  27. 0 11
      android/app/src/main/res/drawable/splashscreen.xml
  28. 0 15
      android/app/src/main/res/layout/launch_screen.xml
  29. 0 4
      android/app/src/main/res/values/colors-splash.xml
  30. 1 4
      android/app/src/main/res/values/styles.xml
  31. 6 4
      android/build.gradle
  32. 8 1
      android/gradle.properties
  33. 1 1
      android/gradle/wrapper/gradle-wrapper.properties
  34. 3 3
      android/gradlew
  35. 1 1
      android/gradlew.bat
  36. 33 5
      ios/Podfile
  37. 276 162
      ios/Podfile.lock
  38. 221 155
      ios/una.xcodeproj/project.pbxproj
  39. 2 43
      ios/una.xcodeproj/xcshareddata/xcschemes/una-tvOS.xcscheme
  40. 2 43
      ios/una.xcodeproj/xcshareddata/xcschemes/una.xcscheme
  41. 0 7
      ios/una/AppDelegate.h
  42. 23 9
      ios/una/AppDelegate.m
  43. 26 12
      ios/una/Base.lproj/LaunchScreen.xib
  44. 104 104
      ios/una/Images.xcassets/AppIcon.appiconset/Contents.json
  45. BIN
      ios/una/Images.xcassets/AppIcon.appiconset/icon-1024@1x.png
  46. BIN
      ios/una/Images.xcassets/AppIcon.appiconset/icon-20@1x.png
  47. BIN
      ios/una/Images.xcassets/AppIcon.appiconset/icon-20@2x.png
  48. BIN
      ios/una/Images.xcassets/AppIcon.appiconset/icon-20@3x.png
  49. BIN
      ios/una/Images.xcassets/AppIcon.appiconset/icon-29@1x.png
  50. BIN
      ios/una/Images.xcassets/AppIcon.appiconset/icon-29@2x.png
  51. BIN
      ios/una/Images.xcassets/AppIcon.appiconset/icon-29@3x.png
  52. BIN
      ios/una/Images.xcassets/AppIcon.appiconset/icon-40@1x.png
  53. BIN
      ios/una/Images.xcassets/AppIcon.appiconset/icon-40@2x.png
  54. BIN
      ios/una/Images.xcassets/AppIcon.appiconset/icon-40@3x.png
  55. BIN
      ios/una/Images.xcassets/AppIcon.appiconset/icon-50@1x.png
  56. BIN
      ios/una/Images.xcassets/AppIcon.appiconset/icon-50@2x.png
  57. BIN
      ios/una/Images.xcassets/AppIcon.appiconset/icon-57@1x.png
  58. BIN
      ios/una/Images.xcassets/AppIcon.appiconset/icon-57@2x.png
  59. BIN
      ios/una/Images.xcassets/AppIcon.appiconset/icon-60@2x.png
  60. BIN
      ios/una/Images.xcassets/AppIcon.appiconset/icon-60@3x.png
  61. BIN
      ios/una/Images.xcassets/AppIcon.appiconset/icon-72@1x.png
  62. BIN
      ios/una/Images.xcassets/AppIcon.appiconset/icon-72@2x.png
  63. BIN
      ios/una/Images.xcassets/AppIcon.appiconset/icon-76@1x.png
  64. BIN
      ios/una/Images.xcassets/AppIcon.appiconset/icon-76@2x.png
  65. BIN
      ios/una/Images.xcassets/AppIcon.appiconset/icon-83.5@2x.png
  66. 1 1
      ios/una/Images.xcassets/Contents.json
  67. 135 0
      ios/una/Images.xcassets/LaunchImage.launchimage/Contents.json
  68. BIN
      ios/una/Images.xcassets/LaunchImage.launchimage/Default-568h@2x.png
  69. BIN
      ios/una/Images.xcassets/LaunchImage.launchimage/Default-667h@2x.png
  70. BIN
      ios/una/Images.xcassets/LaunchImage.launchimage/Default-Landscape-736h@3x.png
  71. BIN
      ios/una/Images.xcassets/LaunchImage.launchimage/Default-Landscape-812h@3x.png
  72. BIN
      ios/una/Images.xcassets/LaunchImage.launchimage/Default-Landscape.png
  73. BIN
      ios/una/Images.xcassets/LaunchImage.launchimage/Default-Landscape@2x.png
  74. BIN
      ios/una/Images.xcassets/LaunchImage.launchimage/Default-Portrait-736h@3x.png
  75. BIN
      ios/una/Images.xcassets/LaunchImage.launchimage/Default-Portrait-812h@3x.png
  76. BIN
      ios/una/Images.xcassets/LaunchImage.launchimage/Default-Portrait.png
  77. BIN
      ios/una/Images.xcassets/LaunchImage.launchimage/Default-Portrait@2x.png
  78. BIN
      ios/una/Images.xcassets/LaunchImage.launchimage/Default@2x.png
  79. 0 23
      ios/una/Images.xcassets/SplashImage.imageset/Contents.json
  80. BIN
      ios/una/Images.xcassets/SplashImage.imageset/splash@1x.png
  81. BIN
      ios/una/Images.xcassets/SplashImage.imageset/splash@2x.png
  82. BIN
      ios/una/Images.xcassets/SplashImage.imageset/splash@3x.png
  83. 8 5
      ios/una/Info.plist
  84. 0 7
      ios/una/main.m
  85. 1 8
      ios/unaTests/unaTests.m
  86. 8 0
      metro.config.js
  87. 398 843
      package-lock.json
  88. 13 13
      package.json
  89. 481 471
      yarn.lock

+ 3 - 4
.flowconfig

@@ -21,7 +21,7 @@ node_modules/warning/.*
 [include]
 [include]
 
 
 [libs]
 [libs]
-node_modules/react-native/Libraries/react-native/react-native-interface.js
+node_modules/react-native/interface.js
 node_modules/react-native/flow/
 node_modules/react-native/flow/
 
 
 [options]
 [options]
@@ -36,9 +36,8 @@ module.file_ext=.ios.js
 
 
 munge_underscores=true
 munge_underscores=true
 
 
-module.name_mapper='^react-native$' -> '<PROJECT_ROOT>/node_modules/react-native/Libraries/react-native/react-native-implementation'
 module.name_mapper='^react-native/\(.*\)$' -> '<PROJECT_ROOT>/node_modules/react-native/\1'
 module.name_mapper='^react-native/\(.*\)$' -> '<PROJECT_ROOT>/node_modules/react-native/\1'
-module.name_mapper='^[./a-zA-Z0-9$_-]+\.\(bmp\|gif\|jpg\|jpeg\|png\|psd\|svg\|webp\|m4v\|mov\|mp4\|mpeg\|mpg\|webm\|aac\|aiff\|caf\|m4a\|mp3\|wav\|html\|pdf\)$' -> '<PROJECT_ROOT>/node_modules/react-native/Libraries/Image/RelativeImageStub'
+module.name_mapper='^@?[./a-zA-Z0-9$_-]+\.\(bmp\|gif\|jpg\|jpeg\|png\|psd\|svg\|webp\|m4v\|mov\|mp4\|mpeg\|mpg\|webm\|aac\|aiff\|caf\|m4a\|mp3\|wav\|html\|pdf\)$' -> '<PROJECT_ROOT>/node_modules/react-native/Libraries/Image/RelativeImageStub'
 
 
 suppress_type=$FlowIssue
 suppress_type=$FlowIssue
 suppress_type=$FlowFixMe
 suppress_type=$FlowFixMe
@@ -72,4 +71,4 @@ untyped-import
 untyped-type-import
 untyped-type-import
 
 
 [version]
 [version]
-^0.105.0
+^0.113.0

+ 75 - 5
App.js

@@ -27,6 +27,9 @@ import {
     Drawer,
     Drawer,
 } from 'native-base';
 } from 'native-base';
 
 
+import JitsiMeet, { JitsiMeetView } from 'react-native-jitsi-meet';
+import VideoCall from './VideoCall';
+
 type Props = {};
 type Props = {};
 
 
 const BASE_URL = 'https://una.io/';
 const BASE_URL = 'https://una.io/';
@@ -50,19 +53,61 @@ export default class App extends Component<Props> {
             data: {},
             data: {},
             searchbar: false,
             searchbar: false,
             key: 1,
             key: 1,
+            videoCall: 0,
+            videoCallUri: false,
         };
         };
 
 
         this.onBack.bind(this);
         this.onBack.bind(this);
         this.onMainMenu.bind(this);
         this.onMainMenu.bind(this);
+
+        this.onConferenceTerminated = this.onConferenceTerminated.bind(this);
+        this.onConferenceJoined = this.onConferenceJoined.bind(this);
+        this.onConferenceWillJoin = this.onConferenceWillJoin.bind(this);
+    }
+
+    onConferenceTerminated(nativeEvent) {
+        this.endVideoCall();
+    }
+
+    onConferenceJoined(nativeEvent) {
+        // console.log("-------->>>>>> Conference joined event");
+    }
+
+    onConferenceWillJoin(nativeEvent) {
+        // console.log("-------->>>>>> Conference will join event");
+    }
+
+    endVideoCall() {
+        this.setState ({
+            videoCall: 0,
+        });
+        JitsiMeet.endCall();
+    }    
+
+    onVideoCall() {
+        if (this.state.videoCall) {
+            this.endVideoCall();
+            this.setState ({
+                videoCall: 0,
+                videoCallUri: false,
+            });
+        }
+        else {
+            this.setState ({
+                videoCall: 1,
+                videoCallUri: 'bla125qfbqwef',
+            });
+        }
     }
     }
 
 
     onBack() {
     onBack() {
+        this.endVideoCall();
         if (this.state.backButtonEnabled) {
         if (this.state.backButtonEnabled) {
     
     
             if ('android' === Platform.OS)
             if ('android' === Platform.OS)
                 this.onWebViewLoadStart(); // show loading screen
                 this.onWebViewLoadStart(); // show loading screen
             
             
-            // this.refs.webView.goBack();
+            // this.refs.webView1.goBack();
             this.injectJavaScript("window.history.go(-1)");
             this.injectJavaScript("window.history.go(-1)");
             return true;
             return true;
         }
         }
@@ -70,6 +115,7 @@ export default class App extends Component<Props> {
     }
     }
     
     
     onMainMenu() {
     onMainMenu() {
+        this.endVideoCall();
         if (this.state.data.loggedin)
         if (this.state.data.loggedin)
             this.injectJavaScript("bx_mobile_apps_show_main_menu()");
             this.injectJavaScript("bx_mobile_apps_show_main_menu()");
         else
         else
@@ -86,26 +132,31 @@ export default class App extends Component<Props> {
     }
     }
 
 
     onProfileMenu() {
     onProfileMenu() {
+        this.endVideoCall();
         this.injectJavaScript("bx_mobile_apps_show_profile_menu()");
         this.injectJavaScript("bx_mobile_apps_show_profile_menu()");
         return true;
         return true;
     }
     }
 
 
     onAddMenu() {
     onAddMenu() {
+        this.endVideoCall();
         this.injectJavaScript("bx_mobile_apps_show_add_menu()");
         this.injectJavaScript("bx_mobile_apps_show_add_menu()");
         return true;
         return true;
     }
     }
     
     
     onNotificationsMenu() {
     onNotificationsMenu() {
+        this.endVideoCall();
         this.injectJavaScript("bx_mobile_apps_show_notifications_menu()");
         this.injectJavaScript("bx_mobile_apps_show_notifications_menu()");
         return true;
         return true;
     }
     }
     
     
     onMessengerMenu() {
     onMessengerMenu() {
+        this.endVideoCall();
         this.injectJavaScript("bx_mobile_apps_show_messenger_menu()");
         this.injectJavaScript("bx_mobile_apps_show_messenger_menu()");
         return true;
         return true;
     }
     }
     
     
     onHomeMenu() {
     onHomeMenu() {
+        this.endVideoCall();
 
 
         if (`${BASE_URL}?skin=${TEMPLATE}` == this.state.url || `${BASE_URL}` == this.state.url || `${BASE_URL}index.php` == this.state.url) {
         if (`${BASE_URL}?skin=${TEMPLATE}` == this.state.url || `${BASE_URL}` == this.state.url || `${BASE_URL}index.php` == this.state.url) {
             this.injectJavaScript("bx_mobile_apps_close_sliding_menus()");
             this.injectJavaScript("bx_mobile_apps_close_sliding_menus()");
@@ -134,6 +185,7 @@ export default class App extends Component<Props> {
     }
     }
 
 
     onSearchMenu() {
     onSearchMenu() {
+        this.endVideoCall();
         this.setState ({
         this.setState ({
             loading: this.loading,
             loading: this.loading,
             searchbar: true,
             searchbar: true,
@@ -196,17 +248,17 @@ export default class App extends Component<Props> {
     }
     }
 
 
     reload() {
     reload() {
-        this.refs.webView.reload();
+        this.refs.webView1.reload();
     }
     }
 
 
     postMessage (data) {
     postMessage (data) {
         // posts a message to web view
         // posts a message to web view
-        this.refs.webView.postMessage(data);
+        this.refs.webView1.postMessage(data);
     }
     }
 
 
     injectJavaScript (script) {
     injectJavaScript (script) {
         // executes JavaScript immediately in web view
         // executes JavaScript immediately in web view
-        this.refs.webView.injectJavaScript(script);
+        this.refs.webView1.injectJavaScript(script);
     }
     }
 
 
     onWebViewShouldStartLoadWithRequest (event) {
     onWebViewShouldStartLoadWithRequest (event) {
@@ -334,10 +386,11 @@ export default class App extends Component<Props> {
             <Container>
             <Container>
             <Drawer ref="drawer" content={this.renderDrawer()} onClose={this.drawerClose.bind(this)}>
             <Drawer ref="drawer" content={this.renderDrawer()} onClose={this.drawerClose.bind(this)}>
                 {this.state.searchbar ? this.renderToolbarSearch() : this.renderToolbar() }
                 {this.state.searchbar ? this.renderToolbarSearch() : this.renderToolbar() }
+                {this.state.videoCall && this.state.videoCallUri ? this.renderVideoCall() : (<View />)}
                 <WebView
                 <WebView
                     useWebKit={true}
                     useWebKit={true}
 
 
-                    ref="webView"
+                    ref="webView1"
                     key={this.state.key}
                     key={this.state.key}
                     geolocationEnabled={true}
                     geolocationEnabled={true}
                     builtInZoomControls={false}
                     builtInZoomControls={false}
@@ -372,6 +425,11 @@ export default class App extends Component<Props> {
                                 <Icon name="bell" type="FontAwesome5" solid />
                                 <Icon name="bell" type="FontAwesome5" solid />
                             </Button>
                             </Button>
                         </FooterTab>
                         </FooterTab>
+                        <FooterTab>
+                            <Button vertical onPress={this.onVideoCall.bind(this)}>
+                                <Icon name="video" type="FontAwesome5" solid />
+                            </Button>
+                        </FooterTab>
                         <FooterTab>
                         <FooterTab>
                             <Button vertical onPress={this.onAddMenu.bind(this)}>
                             <Button vertical onPress={this.onAddMenu.bind(this)}>
                                 <Icon name="plus-circle" type="FontAwesome5" solid />
                                 <Icon name="plus-circle" type="FontAwesome5" solid />
@@ -405,6 +463,14 @@ export default class App extends Component<Props> {
         );
         );
     }
     }
 
 
+    renderVideoCall () {
+        return (
+            <View style={styles.containerVideoCall}>
+                <VideoCall onConferenceTerminated={this.onConferenceTerminated} onConferenceJoined={this.onConferenceJoined} onConferenceWillJoin={this.onConferenceWillJoin} conferenceUri={this.state.videoCallUri} />
+            </View>
+        );
+    }
+
     renderToolbar () {
     renderToolbar () {
         return (        
         return (        
             <Header>
             <Header>
@@ -474,6 +540,10 @@ export default class App extends Component<Props> {
 }
 }
 
 
 const styles = StyleSheet.create({
 const styles = StyleSheet.create({
+    containerVideoCall: {
+        backgroundColor: '#000',
+        flex: 999999999999,
+    },
     containerWebView: {
     containerWebView: {
         flex: 1,
         flex: 1,
     },
     },

+ 33 - 0
VideoCall.js

@@ -0,0 +1,33 @@
+import React from 'react';
+import { View } from 'react-native';
+import JitsiMeet, { JitsiMeetView } from 'react-native-jitsi-meet';
+
+class VideoCall extends React.Component {
+    constructor(props) {
+        super(props);
+    }
+
+    componentDidMount() {
+        setTimeout(() => {
+            if (this.props.audio)
+                JitsiMeet.audioCall(this.props.conferenceUri);
+            else
+                JitsiMeet.call(this.props.conferenceUri);
+        }, 1000);
+    }
+
+    render() {
+        return (
+            <JitsiMeetView onConferenceTerminated={this.props.onConferenceTerminated} onConferenceJoined={this.props.onConferenceJoined} onConferenceWillJoin={this.props.onConferenceWillJoin} style={{ flex: 1, height: '100%', width: '100%' }} />
+        );
+    }
+}
+
+VideoCall.defaultProps = { 
+    onConferenceTerminated: () => {},
+    onConferenceJoined: () => {},
+    onConferenceWillJoin: () => {},
+    audio: false,
+};
+
+export default VideoCall;

+ 0 - 0
android/app/BUCK → android/app/_BUCK


+ 29 - 6
android/app/build.gradle

@@ -15,7 +15,9 @@ import com.android.build.OutputFile
  *   // the name of the generated asset file containing your JS bundle
  *   // the name of the generated asset file containing your JS bundle
  *   bundleAssetName: "index.android.bundle",
  *   bundleAssetName: "index.android.bundle",
  *
  *
- *   // the entry file for bundle generation
+ *   // the entry file for bundle generation. If none specified and
+ *   // "index.android.js" exists, it will be used. Otherwise "index.js" is
+ *   // default. Can be overridden with ENTRY_FILE environment variable.
  *   entryFile: "index.android.js",
  *   entryFile: "index.android.js",
  *
  *
  *   // https://facebook.github.io/react-native/docs/performance#enable-the-ram-format
  *   // https://facebook.github.io/react-native/docs/performance#enable-the-ram-format
@@ -77,6 +79,7 @@ import com.android.build.OutputFile
 
 
 project.ext.react = [
 project.ext.react = [
     entryFile: "index.js",
     entryFile: "index.js",
+    bundleAssetName: "app.bundle",
     enableHermes: false,  // clean and rebuild if changing
     enableHermes: false,  // clean and rebuild if changing
 ]
 ]
 
 
@@ -131,8 +134,8 @@ android {
         applicationId "com.una.android"
         applicationId "com.una.android"
         minSdkVersion rootProject.ext.minSdkVersion
         minSdkVersion rootProject.ext.minSdkVersion
         targetSdkVersion rootProject.ext.targetSdkVersion
         targetSdkVersion rootProject.ext.targetSdkVersion
-        versionCode 1330
-        versionName "1.3.3"
+        versionCode 1400
+        versionName "1.4.0"
     }
     }
     signingConfigs {
     signingConfigs {
         release {
         release {
@@ -172,6 +175,14 @@ android {
             proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
             proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
         }
         }
     }
     }
+
+    packagingOptions {
+        pickFirst "lib/armeabi-v7a/libc++_shared.so"
+        pickFirst "lib/arm64-v8a/libc++_shared.so"
+        pickFirst "lib/x86/libc++_shared.so"
+        pickFirst "lib/x86_64/libc++_shared.so"
+    }
+
     // applicationVariants are e.g. debug, release
     // applicationVariants are e.g. debug, release
     applicationVariants.all { variant ->
     applicationVariants.all { variant ->
         variant.outputs.each { output ->
         variant.outputs.each { output ->
@@ -189,12 +200,24 @@ android {
 }
 }
 
 
 dependencies {
 dependencies {
-    implementation project(':react-native-splash-screen')
-    implementation project(':react-native-webview')
-    implementation project(':react-native-onesignal')
     implementation fileTree(dir: "libs", include: ["*.jar"])
     implementation fileTree(dir: "libs", include: ["*.jar"])
+    //noinspection GradleDynamicVersion
     implementation "com.facebook.react:react-native:+"  // From node_modules
     implementation "com.facebook.react:react-native:+"  // From node_modules
 
 
+    implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.0.0"
+
+    debugImplementation("com.facebook.flipper:flipper:${FLIPPER_VERSION}") {
+      exclude group:'com.facebook.fbjni'
+    }
+
+    debugImplementation("com.facebook.flipper:flipper-network-plugin:${FLIPPER_VERSION}") {
+        exclude group:'com.facebook.flipper'
+    }
+
+    debugImplementation("com.facebook.flipper:flipper-fresco-plugin:${FLIPPER_VERSION}") {
+        exclude group:'com.facebook.flipper'
+    }
+
     if (enableHermes) {
     if (enableHermes) {
         def hermesPath = "../../node_modules/hermes-engine/android/";
         def hermesPath = "../../node_modules/hermes-engine/android/";
         debugImplementation files(hermesPath + "hermes-debug.aar")
         debugImplementation files(hermesPath + "hermes-debug.aar")

+ 72 - 0
android/app/src/debug/java/com/una/ReactNativeFlipper.java

@@ -0,0 +1,72 @@
+/**
+ * Copyright (c) Facebook, Inc. and its affiliates.
+ *
+ * <p>This source code is licensed under the MIT license found in the LICENSE file in the root
+ * directory of this source tree.
+ */
+package com.una;
+
+import android.content.Context;
+import com.facebook.flipper.android.AndroidFlipperClient;
+import com.facebook.flipper.android.utils.FlipperUtils;
+import com.facebook.flipper.core.FlipperClient;
+import com.facebook.flipper.plugins.crashreporter.CrashReporterPlugin;
+import com.facebook.flipper.plugins.databases.DatabasesFlipperPlugin;
+import com.facebook.flipper.plugins.fresco.FrescoFlipperPlugin;
+import com.facebook.flipper.plugins.inspector.DescriptorMapping;
+import com.facebook.flipper.plugins.inspector.InspectorFlipperPlugin;
+import com.facebook.flipper.plugins.network.FlipperOkhttpInterceptor;
+import com.facebook.flipper.plugins.network.NetworkFlipperPlugin;
+import com.facebook.flipper.plugins.react.ReactFlipperPlugin;
+import com.facebook.flipper.plugins.sharedpreferences.SharedPreferencesFlipperPlugin;
+import com.facebook.react.ReactInstanceManager;
+import com.facebook.react.bridge.ReactContext;
+import com.facebook.react.modules.network.NetworkingModule;
+import okhttp3.OkHttpClient;
+
+public class ReactNativeFlipper {
+  public static void initializeFlipper(Context context, ReactInstanceManager reactInstanceManager) {
+    if (FlipperUtils.shouldEnableFlipper(context)) {
+      final FlipperClient client = AndroidFlipperClient.getInstance(context);
+
+      client.addPlugin(new InspectorFlipperPlugin(context, DescriptorMapping.withDefaults()));
+      client.addPlugin(new ReactFlipperPlugin());
+      client.addPlugin(new DatabasesFlipperPlugin(context));
+      client.addPlugin(new SharedPreferencesFlipperPlugin(context));
+      client.addPlugin(CrashReporterPlugin.getInstance());
+
+      NetworkFlipperPlugin networkFlipperPlugin = new NetworkFlipperPlugin();
+      NetworkingModule.setCustomClientBuilder(
+          new NetworkingModule.CustomClientBuilder() {
+            @Override
+            public void apply(OkHttpClient.Builder builder) {
+              builder.addNetworkInterceptor(new FlipperOkhttpInterceptor(networkFlipperPlugin));
+            }
+          });
+      client.addPlugin(networkFlipperPlugin);
+      client.start();
+
+      // Fresco Plugin needs to ensure that ImagePipelineFactory is initialized
+      // Hence we run if after all native modules have been initialized
+      ReactContext reactContext = reactInstanceManager.getCurrentReactContext();
+      if (reactContext == null) {
+        reactInstanceManager.addReactInstanceEventListener(
+            new ReactInstanceManager.ReactInstanceEventListener() {
+              @Override
+              public void onReactContextInitialized(ReactContext reactContext) {
+                reactInstanceManager.removeReactInstanceEventListener(this);
+                reactContext.runOnNativeModulesQueueThread(
+                    new Runnable() {
+                      @Override
+                      public void run() {
+                        client.addPlugin(new FrescoFlipperPlugin());
+                      }
+                    });
+              }
+            });
+      } else {
+        client.addPlugin(new FrescoFlipperPlugin());
+      }
+    }
+  }
+}

+ 30 - 23
android/app/src/main/AndroidManifest.xml

@@ -1,32 +1,39 @@
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
-  package="com.una.android">
+    package="com.una.android">
 
 
     <uses-permission android:name="android.permission.INTERNET" />
     <uses-permission android:name="android.permission.INTERNET" />
-    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
+    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
 
 
     <application
     <application
-      android:name=".MainApplication"
-      android:label="@string/app_name"
-      android:icon="@mipmap/ic_launcher"
-      android:allowBackup="false"
-      android:theme="@style/AppTheme">
-      <activity
-        android:name=".MainActivity"
+        android:name=".MainApplication"
         android:label="@string/app_name"
         android:label="@string/app_name"
-        android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
-        android:windowSoftInputMode="adjustResize">
-        <intent-filter>
-            <action android:name="android.intent.action.MAIN" />
-            <category android:name="android.intent.category.LAUNCHER" />
-        </intent-filter>
-      <intent-filter android:label="UNA.IO">
-            <action android:name="android.intent.action.VIEW" />
-            <category android:name="android.intent.category.DEFAULT" />
-            <data android:scheme="https" android:host="una.io" />
-            <data android:scheme="http" android:host="una.io" />
-        </intent-filter>
-      </activity>
-      <activity android:name="com.facebook.react.devsupport.DevSettingsActivity" />
+      android:icon="@mipmap/ic_launcher"
+        android:theme="@style/AppTheme">
+        <activity
+            android:name=".MainActivity"
+            android:label="@string/app_name"
+            android:configChanges="keyboard|keyboardHidden|orientation|screenSize|uiMode"
+            android:launchMode="singleTask"
+            android:windowSoftInputMode="adjustResize">
+            <intent-filter>
+                <action android:name="android.intent.action.MAIN" />
+                <category android:name="android.intent.category.LAUNCHER" />
+            </intent-filter>
+            <intent-filter android:label="UNA.IO">
+                <action android:name="android.intent.action.VIEW" />
+
+                <category android:name="android.intent.category.DEFAULT" />
+                <category android:name="android.intent.category.BROWSABLE" />
+
+                <data
+                    android:scheme="https"
+                    android:host="una.io" />
+                <data
+                    android:scheme="http"
+                    android:host="una.io" />
+            </intent-filter>
+        </activity>
+        <activity android:name="com.facebook.react.devsupport.DevSettingsActivity" />
     </application>
     </application>
 
 
 </manifest>
 </manifest>

+ 1 - 7
android/app/src/main/java/com/una/android/MainActivity.java

@@ -1,15 +1,9 @@
 package com.una.android;
 package com.una.android;
 
 
-import android.os.Bundle;
-import org.devio.rn.splashscreen.SplashScreen;
 import com.facebook.react.ReactActivity;
 import com.facebook.react.ReactActivity;
 
 
 public class MainActivity extends ReactActivity {
 public class MainActivity extends ReactActivity {
-    @Override
-    protected void onCreate(Bundle savedInstanceState) {
-        SplashScreen.show(this, R.style.SplashScreenTheme);
-        super.onCreate(savedInstanceState);
-    }
+
   /**
   /**
    * Returns the name of the main component registered from JavaScript. This is used to schedule
    * Returns the name of the main component registered from JavaScript. This is used to schedule
    * rendering of the component.
    * rendering of the component.

+ 17 - 5
android/app/src/main/java/com/una/android/MainApplication.java

@@ -2,11 +2,13 @@ package com.una.android;
 
 
 import android.app.Application;
 import android.app.Application;
 import android.content.Context;
 import android.content.Context;
+import androidx.annotation.Nullable;
 import com.facebook.react.PackageList;
 import com.facebook.react.PackageList;
 import com.facebook.react.ReactApplication;
 import com.facebook.react.ReactApplication;
 import org.devio.rn.splashscreen.SplashScreenReactPackage;
 import org.devio.rn.splashscreen.SplashScreenReactPackage;
 import com.reactnativecommunity.webview.RNCWebViewPackage;
 import com.reactnativecommunity.webview.RNCWebViewPackage;
 import com.geektime.rnonesignalandroid.ReactNativeOneSignalPackage;
 import com.geektime.rnonesignalandroid.ReactNativeOneSignalPackage;
+import com.facebook.react.ReactInstanceManager;
 import com.facebook.react.ReactNativeHost;
 import com.facebook.react.ReactNativeHost;
 import com.facebook.react.ReactPackage;
 import com.facebook.react.ReactPackage;
 import com.facebook.soloader.SoLoader;
 import com.facebook.soloader.SoLoader;
@@ -35,6 +37,11 @@ public class MainApplication extends Application implements ReactApplication {
         protected String getJSMainModuleName() {
         protected String getJSMainModuleName() {
           return "index";
           return "index";
         }
         }
+
+        @Override
+        protected @Nullable String getBundleAssetName() {
+          return "app.bundle";
+        }
       };
       };
 
 
   @Override
   @Override
@@ -46,23 +53,28 @@ public class MainApplication extends Application implements ReactApplication {
   public void onCreate() {
   public void onCreate() {
     super.onCreate();
     super.onCreate();
     SoLoader.init(this, /* native exopackage */ false);
     SoLoader.init(this, /* native exopackage */ false);
-    initializeFlipper(this); // Remove this line if you don't want Flipper enabled
+    initializeFlipper(this, getReactNativeHost().getReactInstanceManager());
   }
   }
 
 
   /**
   /**
-   * Loads Flipper in React Native templates.
+   * Loads Flipper in React Native templates. Call this in the onCreate method with something like
+   * initializeFlipper(this, getReactNativeHost().getReactInstanceManager());
    *
    *
    * @param context
    * @param context
+   * @param reactInstanceManager
    */
    */
-  private static void initializeFlipper(Context context) {
+  private static void initializeFlipper(
+      Context context, ReactInstanceManager reactInstanceManager) {
     if (BuildConfig.DEBUG) {
     if (BuildConfig.DEBUG) {
       try {
       try {
         /*
         /*
          We use reflection here to pick up the class that initializes Flipper,
          We use reflection here to pick up the class that initializes Flipper,
         since Flipper library is not available in release mode
         since Flipper library is not available in release mode
         */
         */
-        Class<?> aClass = Class.forName("com.facebook.flipper.ReactNativeFlipper");
-        aClass.getMethod("initializeFlipper", Context.class).invoke(null, context);
+        Class<?> aClass = Class.forName("com.una.ReactNativeFlipper");
+        aClass
+            .getMethod("initializeFlipper", Context.class, ReactInstanceManager.class)
+            .invoke(null, context, reactInstanceManager);
       } catch (ClassNotFoundException e) {
       } catch (ClassNotFoundException e) {
         e.printStackTrace();
         e.printStackTrace();
       } catch (NoSuchMethodException e) {
       } catch (NoSuchMethodException e) {

BIN
android/app/src/main/res/drawable-hdpi/splash_image.png


BIN
android/app/src/main/res/drawable-land-hdpi/launch_screen.png


BIN
android/app/src/main/res/drawable-land-ldpi/launch_screen.png


BIN
android/app/src/main/res/drawable-land-mdpi/launch_screen.png


BIN
android/app/src/main/res/drawable-land-xhdpi/launch_screen.png


BIN
android/app/src/main/res/drawable-land-xxhdpi/launch_screen.png


BIN
android/app/src/main/res/drawable-land-xxxhdpi/launch_screen.png


BIN
android/app/src/main/res/drawable-mdpi/splash_image.png


BIN
android/app/src/main/res/drawable-port-hdpi/launch_screen.png


BIN
android/app/src/main/res/drawable-port-ldpi/launch_screen.png


BIN
android/app/src/main/res/drawable-port-mdpi/launch_screen.png


BIN
android/app/src/main/res/drawable-port-xhdpi/launch_screen.png


BIN
android/app/src/main/res/drawable-port-xxhdpi/launch_screen.png


BIN
android/app/src/main/res/drawable-port-xxxhdpi/launch_screen.png


BIN
android/app/src/main/res/drawable-xhdpi/splash_image.png


BIN
android/app/src/main/res/drawable-xxhdpi/splash_image.png


+ 8 - 0
android/app/src/main/res/drawable/launch_screen_bitmap.xml

@@ -0,0 +1,8 @@
+<layer-list xmlns:android="http://schemas.android.com/apk/res/android" android:opacity="opaque">
+  <item android:drawable="@color/splashBackground"/>
+  <item>
+    <bitmap
+      android:src="@drawable/launch_screen"
+      android:gravity="center"/>
+  </item>
+</layer-list>

+ 0 - 11
android/app/src/main/res/drawable/splashscreen.xml

@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
-
-    <item android:drawable="@color/splashprimary" />
-    <item>
-        <bitmap
-                android:gravity="center"
-                android:src="@drawable/splash_image" />
-    </item>
-
-</layer-list>

+ 0 - 15
android/app/src/main/res/layout/launch_screen.xml

@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<RelativeLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent">
-
-    <ImageView
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_margin="0dp"
-        android:contentDescription="Splashscreen"
-        android:scaleType="fitCenter"
-        android:background="@color/splashprimary"
-        android:src="@drawable/splashscreen"/>
-</RelativeLayout>

+ 0 - 4
android/app/src/main/res/values/colors-splash.xml

@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<resources>
-    <color name="splashprimary">#FFFFFF</color>
-</resources>

+ 1 - 4
android/app/src/main/res/values/styles.xml

@@ -1,9 +1,6 @@
 <resources>
 <resources>
-
-    <style name="SplashScreenTheme" parent="SplashScreen_SplashTheme">
-        <item name="colorPrimaryDark">@color/splashprimary</item>
-    </style>
     <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
     <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
         <item name="android:windowExitAnimation">@android:anim/fade_out</item>
         <item name="android:windowExitAnimation">@android:anim/fade_out</item>
+        <item name="android:windowBackground">@drawable/launch_screen_bitmap</item>
     </style>
     </style>
 </resources>
 </resources>

+ 6 - 4
android/build.gradle

@@ -3,7 +3,7 @@
 buildscript {
 buildscript {
     ext {
     ext {
         buildToolsVersion = "28.0.3"
         buildToolsVersion = "28.0.3"
-        minSdkVersion = 16
+        minSdkVersion = 21
         compileSdkVersion = 28
         compileSdkVersion = 28
         targetSdkVersion = 28
         targetSdkVersion = 28
     }
     }
@@ -12,7 +12,7 @@ buildscript {
         jcenter()
         jcenter()
     }
     }
     dependencies {
     dependencies {
-        classpath('com.android.tools.build:gradle:3.5.1')
+        classpath('com.android.tools.build:gradle:3.6.2')
 
 
         // NOTE: Do not place your application dependencies here; they belong
         // NOTE: Do not place your application dependencies here; they belong
         // in the individual module build.gradle files
         // in the individual module build.gradle files
@@ -30,9 +30,11 @@ allprojects {
             // Android JSC is installed from npm
             // Android JSC is installed from npm
             url("$rootDir/../node_modules/jsc-android/dist")
             url("$rootDir/../node_modules/jsc-android/dist")
         }
         }
-
+        maven {
+            url "https://github.com/jitsi/jitsi-maven-repository/raw/master/releases"
+        }
         google()
         google()
         jcenter()
         jcenter()
-        maven { url 'https://jitpack.io' }
+        maven { url 'https://www.jitpack.io' }
     }
     }
 }
 }

+ 8 - 1
android/gradle.properties

@@ -17,10 +17,17 @@
 # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
 # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
 # org.gradle.parallel=true
 # org.gradle.parallel=true
 
 
+# AndroidX package structure to make it clearer which packages are bundled with the
+# Android operating system, and which are packaged with your app's APK
+# https://developer.android.com/topic/libraries/support-library/androidx-rn
 android.useAndroidX=true
 android.useAndroidX=true
+# Automatically convert third-party libraries to use AndroidX
 android.enableJetifier=true
 android.enableJetifier=true
 
 
+# Version of flipper SDK to use with React Native
+FLIPPER_VERSION=0.33.1
+
 MYAPP_RELEASE_STORE_FILE=una-release-key.keystore
 MYAPP_RELEASE_STORE_FILE=una-release-key.keystore
 MYAPP_RELEASE_KEY_ALIAS=una
 MYAPP_RELEASE_KEY_ALIAS=una
 MYAPP_RELEASE_STORE_PASSWORD=
 MYAPP_RELEASE_STORE_PASSWORD=
-MYAPP_RELEASE_KEY_PASSWORD=
+MYAPP_RELEASE_KEY_PASSWORD=

+ 1 - 1
android/gradle/wrapper/gradle-wrapper.properties

@@ -1,5 +1,5 @@
 distributionBase=GRADLE_USER_HOME
 distributionBase=GRADLE_USER_HOME
 distributionPath=wrapper/dists
 distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-5.5-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-6.0.1-all.zip
 zipStoreBase=GRADLE_USER_HOME
 zipStoreBase=GRADLE_USER_HOME
 zipStorePath=wrapper/dists
 zipStorePath=wrapper/dists

+ 3 - 3
android/gradlew

@@ -7,7 +7,7 @@
 # you may not use this file except in compliance with the License.
 # you may not use this file except in compliance with the License.
 # You may obtain a copy of the License at
 # You may obtain a copy of the License at
 #
 #
-#      http://www.apache.org/licenses/LICENSE-2.0
+#      https://www.apache.org/licenses/LICENSE-2.0
 #
 #
 # Unless required by applicable law or agreed to in writing, software
 # Unless required by applicable law or agreed to in writing, software
 # distributed under the License is distributed on an "AS IS" BASIS,
 # distributed under the License is distributed on an "AS IS" BASIS,
@@ -125,8 +125,8 @@ if $darwin; then
     GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
     GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
 fi
 fi
 
 
-# For Cygwin, switch paths to Windows format before running java
-if $cygwin ; then
+# For Cygwin or MSYS, switch paths to Windows format before running java
+if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then
     APP_HOME=`cygpath --path --mixed "$APP_HOME"`
     APP_HOME=`cygpath --path --mixed "$APP_HOME"`
     CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
     CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
     JAVACMD=`cygpath --unix "$JAVACMD"`
     JAVACMD=`cygpath --unix "$JAVACMD"`

+ 1 - 1
android/gradlew.bat

@@ -5,7 +5,7 @@
 @rem you may not use this file except in compliance with the License.
 @rem you may not use this file except in compliance with the License.
 @rem You may obtain a copy of the License at
 @rem You may obtain a copy of the License at
 @rem
 @rem
-@rem      http://www.apache.org/licenses/LICENSE-2.0
+@rem      https://www.apache.org/licenses/LICENSE-2.0
 @rem
 @rem
 @rem Unless required by applicable law or agreed to in writing, software
 @rem Unless required by applicable law or agreed to in writing, software
 @rem distributed under the License is distributed on an "AS IS" BASIS,
 @rem distributed under the License is distributed on an "AS IS" BASIS,

+ 33 - 5
ios/Podfile

@@ -1,6 +1,26 @@
-platform :ios, '9.0'
+platform :ios, '10.0'
 require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules'
 require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules'
 
 
+def add_flipper_pods!
+  version = '~> 0.33.1'
+  pod 'FlipperKit', version, :configuration => 'Debug'
+  pod 'FlipperKit/FlipperKitLayoutPlugin', version, :configuration => 'Debug'
+  pod 'FlipperKit/SKIOSNetworkPlugin', version, :configuration => 'Debug'
+  pod 'FlipperKit/FlipperKitUserDefaultsPlugin', version, :configuration => 'Debug'
+  pod 'FlipperKit/FlipperKitReactPlugin', version, :configuration => 'Debug'
+end
+
+# Post Install processing for Flipper
+def flipper_post_install(installer)
+  installer.pods_project.targets.each do |target|
+    if target.name == 'YogaKit'
+      target.build_configurations.each do |config|
+        config.build_settings['SWIFT_VERSION'] = '4.1'
+      end
+    end
+  end
+end
+
 target 'una' do
 target 'una' do
   # Pods for una
   # Pods for una
   pod 'FBLazyVector', :path => "../node_modules/react-native/Libraries/FBLazyVector"
   pod 'FBLazyVector', :path => "../node_modules/react-native/Libraries/FBLazyVector"
@@ -26,9 +46,9 @@ target 'una' do
   pod 'React-jsi', :path => '../node_modules/react-native/ReactCommon/jsi'
   pod 'React-jsi', :path => '../node_modules/react-native/ReactCommon/jsi'
   pod 'React-jsiexecutor', :path => '../node_modules/react-native/ReactCommon/jsiexecutor'
   pod 'React-jsiexecutor', :path => '../node_modules/react-native/ReactCommon/jsiexecutor'
   pod 'React-jsinspector', :path => '../node_modules/react-native/ReactCommon/jsinspector'
   pod 'React-jsinspector', :path => '../node_modules/react-native/ReactCommon/jsinspector'
-  pod 'ReactCommon/jscallinvoker', :path => "../node_modules/react-native/ReactCommon"
+  pod 'ReactCommon/callinvoker', :path => "../node_modules/react-native/ReactCommon"
   pod 'ReactCommon/turbomodule/core', :path => "../node_modules/react-native/ReactCommon"
   pod 'ReactCommon/turbomodule/core', :path => "../node_modules/react-native/ReactCommon"
-  pod 'Yoga', :path => '../node_modules/react-native/ReactCommon/yoga'
+  pod 'Yoga', :path => '../node_modules/react-native/ReactCommon/yoga', :modular_headers => true
 
 
   pod 'DoubleConversion', :podspec => '../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec'
   pod 'DoubleConversion', :podspec => '../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec'
   pod 'glog', :podspec => '../node_modules/react-native/third-party-podspecs/glog.podspec'
   pod 'glog', :podspec => '../node_modules/react-native/third-party-podspecs/glog.podspec'
@@ -41,11 +61,20 @@ target 'una' do
   pod 'react-native-splash-screen', :path => '../node_modules/react-native-splash-screen'
   pod 'react-native-splash-screen', :path => '../node_modules/react-native-splash-screen'
 
 
   target 'unaTests' do
   target 'unaTests' do
-    inherit! :search_paths
+    inherit! :complete
     # Pods for testing
     # Pods for testing
   end
   end
 
 
   use_native_modules!
   use_native_modules!
+
+  # Enables Flipper.
+  #
+  # Note that if you have use_frameworks! enabled, Flipper will not work and
+  # you should disable these next few lines.
+  add_flipper_pods!
+  post_install do |installer|
+    flipper_post_install(installer)
+  end
 end
 end
 
 
 target 'una-tvOS' do
 target 'una-tvOS' do
@@ -55,5 +84,4 @@ target 'una-tvOS' do
     inherit! :search_paths
     inherit! :search_paths
     # Pods for testing
     # Pods for testing
   end
   end
-
 end
 end

+ 276 - 162
ios/Podfile.lock

@@ -1,14 +1,62 @@
 PODS:
 PODS:
   - boost-for-react-native (1.63.0)
   - boost-for-react-native (1.63.0)
+  - CocoaAsyncSocket (7.6.4)
+  - CocoaLibEvent (1.0.0)
   - DoubleConversion (1.1.6)
   - DoubleConversion (1.1.6)
-  - FBLazyVector (0.61.2)
-  - FBReactNativeSpec (0.61.2):
+  - FBLazyVector (0.62.1)
+  - FBReactNativeSpec (0.62.1):
     - Folly (= 2018.10.22.00)
     - Folly (= 2018.10.22.00)
-    - RCTRequired (= 0.61.2)
-    - RCTTypeSafety (= 0.61.2)
-    - React-Core (= 0.61.2)
-    - React-jsi (= 0.61.2)
-    - ReactCommon/turbomodule/core (= 0.61.2)
+    - RCTRequired (= 0.62.1)
+    - RCTTypeSafety (= 0.62.1)
+    - React-Core (= 0.62.1)
+    - React-jsi (= 0.62.1)
+    - ReactCommon/turbomodule/core (= 0.62.1)
+  - Flipper (0.33.1):
+    - Flipper-Folly (~> 2.1)
+    - Flipper-RSocket (~> 1.0)
+  - Flipper-DoubleConversion (1.1.7)
+  - Flipper-Folly (2.2.0):
+    - boost-for-react-native
+    - CocoaLibEvent (~> 1.0)
+    - Flipper-DoubleConversion
+    - Flipper-Glog
+    - OpenSSL-Universal (= 1.0.2.19)
+  - Flipper-Glog (0.3.6)
+  - Flipper-PeerTalk (0.0.4)
+  - Flipper-RSocket (1.1.0):
+    - Flipper-Folly (~> 2.2)
+  - FlipperKit (0.33.1):
+    - FlipperKit/Core (= 0.33.1)
+  - FlipperKit/Core (0.33.1):
+    - Flipper (~> 0.33.1)
+    - FlipperKit/CppBridge
+    - FlipperKit/FBCxxFollyDynamicConvert
+    - FlipperKit/FBDefines
+    - FlipperKit/FKPortForwarding
+  - FlipperKit/CppBridge (0.33.1):
+    - Flipper (~> 0.33.1)
+  - FlipperKit/FBCxxFollyDynamicConvert (0.33.1):
+    - Flipper-Folly (~> 2.1)
+  - FlipperKit/FBDefines (0.33.1)
+  - FlipperKit/FKPortForwarding (0.33.1):
+    - CocoaAsyncSocket (~> 7.6)
+    - Flipper-PeerTalk (~> 0.0.4)
+  - FlipperKit/FlipperKitHighlightOverlay (0.33.1)
+  - FlipperKit/FlipperKitLayoutPlugin (0.33.1):
+    - FlipperKit/Core
+    - FlipperKit/FlipperKitHighlightOverlay
+    - FlipperKit/FlipperKitLayoutTextSearchable
+    - YogaKit (~> 1.18)
+  - FlipperKit/FlipperKitLayoutTextSearchable (0.33.1)
+  - FlipperKit/FlipperKitNetworkPlugin (0.33.1):
+    - FlipperKit/Core
+  - FlipperKit/FlipperKitReactPlugin (0.33.1):
+    - FlipperKit/Core
+  - FlipperKit/FlipperKitUserDefaultsPlugin (0.33.1):
+    - FlipperKit/Core
+  - FlipperKit/SKIOSNetworkPlugin (0.33.1):
+    - FlipperKit/Core
+    - FlipperKit/FlipperKitNetworkPlugin
   - Folly (2018.10.22.00):
   - Folly (2018.10.22.00):
     - boost-for-react-native
     - boost-for-react-native
     - DoubleConversion
     - DoubleConversion
@@ -19,218 +67,256 @@ PODS:
     - DoubleConversion
     - DoubleConversion
     - glog
     - glog
   - glog (0.3.5)
   - glog (0.3.5)
-  - OneSignal (2.12.3)
-  - RCTRequired (0.61.2)
-  - RCTTypeSafety (0.61.2):
-    - FBLazyVector (= 0.61.2)
+  - JitsiMeetSDK (2.4.0)
+  - OneSignal (2.13.1)
+  - OpenSSL-Universal (1.0.2.19):
+    - OpenSSL-Universal/Static (= 1.0.2.19)
+  - OpenSSL-Universal/Static (1.0.2.19)
+  - RCTRequired (0.62.1)
+  - RCTTypeSafety (0.62.1):
+    - FBLazyVector (= 0.62.1)
     - Folly (= 2018.10.22.00)
     - Folly (= 2018.10.22.00)
-    - RCTRequired (= 0.61.2)
-    - React-Core (= 0.61.2)
-  - React (0.61.2):
-    - React-Core (= 0.61.2)
-    - React-Core/DevSupport (= 0.61.2)
-    - React-Core/RCTWebSocket (= 0.61.2)
-    - React-RCTActionSheet (= 0.61.2)
-    - React-RCTAnimation (= 0.61.2)
-    - React-RCTBlob (= 0.61.2)
-    - React-RCTImage (= 0.61.2)
-    - React-RCTLinking (= 0.61.2)
-    - React-RCTNetwork (= 0.61.2)
-    - React-RCTSettings (= 0.61.2)
-    - React-RCTText (= 0.61.2)
-    - React-RCTVibration (= 0.61.2)
-  - React-Core (0.61.2):
+    - RCTRequired (= 0.62.1)
+    - React-Core (= 0.62.1)
+  - React (0.62.1):
+    - React-Core (= 0.62.1)
+    - React-Core/DevSupport (= 0.62.1)
+    - React-Core/RCTWebSocket (= 0.62.1)
+    - React-RCTActionSheet (= 0.62.1)
+    - React-RCTAnimation (= 0.62.1)
+    - React-RCTBlob (= 0.62.1)
+    - React-RCTImage (= 0.62.1)
+    - React-RCTLinking (= 0.62.1)
+    - React-RCTNetwork (= 0.62.1)
+    - React-RCTSettings (= 0.62.1)
+    - React-RCTText (= 0.62.1)
+    - React-RCTVibration (= 0.62.1)
+  - React-Core (0.62.1):
     - Folly (= 2018.10.22.00)
     - Folly (= 2018.10.22.00)
     - glog
     - glog
-    - React-Core/Default (= 0.61.2)
-    - React-cxxreact (= 0.61.2)
-    - React-jsi (= 0.61.2)
-    - React-jsiexecutor (= 0.61.2)
+    - React-Core/Default (= 0.62.1)
+    - React-cxxreact (= 0.62.1)
+    - React-jsi (= 0.62.1)
+    - React-jsiexecutor (= 0.62.1)
     - Yoga
     - Yoga
-  - React-Core/CoreModulesHeaders (0.61.2):
+  - React-Core/CoreModulesHeaders (0.62.1):
     - Folly (= 2018.10.22.00)
     - Folly (= 2018.10.22.00)
     - glog
     - glog
     - React-Core/Default
     - React-Core/Default
-    - React-cxxreact (= 0.61.2)
-    - React-jsi (= 0.61.2)
-    - React-jsiexecutor (= 0.61.2)
+    - React-cxxreact (= 0.62.1)
+    - React-jsi (= 0.62.1)
+    - React-jsiexecutor (= 0.62.1)
     - Yoga
     - Yoga
-  - React-Core/Default (0.61.2):
+  - React-Core/Default (0.62.1):
     - Folly (= 2018.10.22.00)
     - Folly (= 2018.10.22.00)
     - glog
     - glog
-    - React-cxxreact (= 0.61.2)
-    - React-jsi (= 0.61.2)
-    - React-jsiexecutor (= 0.61.2)
+    - React-cxxreact (= 0.62.1)
+    - React-jsi (= 0.62.1)
+    - React-jsiexecutor (= 0.62.1)
     - Yoga
     - Yoga
-  - React-Core/DevSupport (0.61.2):
+  - React-Core/DevSupport (0.62.1):
     - Folly (= 2018.10.22.00)
     - Folly (= 2018.10.22.00)
     - glog
     - glog
-    - React-Core/Default (= 0.61.2)
-    - React-Core/RCTWebSocket (= 0.61.2)
-    - React-cxxreact (= 0.61.2)
-    - React-jsi (= 0.61.2)
-    - React-jsiexecutor (= 0.61.2)
-    - React-jsinspector (= 0.61.2)
+    - React-Core/Default (= 0.62.1)
+    - React-Core/RCTWebSocket (= 0.62.1)
+    - React-cxxreact (= 0.62.1)
+    - React-jsi (= 0.62.1)
+    - React-jsiexecutor (= 0.62.1)
+    - React-jsinspector (= 0.62.1)
     - Yoga
     - Yoga
-  - React-Core/RCTActionSheetHeaders (0.61.2):
+  - React-Core/RCTActionSheetHeaders (0.62.1):
     - Folly (= 2018.10.22.00)
     - Folly (= 2018.10.22.00)
     - glog
     - glog
     - React-Core/Default
     - React-Core/Default
-    - React-cxxreact (= 0.61.2)
-    - React-jsi (= 0.61.2)
-    - React-jsiexecutor (= 0.61.2)
+    - React-cxxreact (= 0.62.1)
+    - React-jsi (= 0.62.1)
+    - React-jsiexecutor (= 0.62.1)
     - Yoga
     - Yoga
-  - React-Core/RCTAnimationHeaders (0.61.2):
+  - React-Core/RCTAnimationHeaders (0.62.1):
     - Folly (= 2018.10.22.00)
     - Folly (= 2018.10.22.00)
     - glog
     - glog
     - React-Core/Default
     - React-Core/Default
-    - React-cxxreact (= 0.61.2)
-    - React-jsi (= 0.61.2)
-    - React-jsiexecutor (= 0.61.2)
+    - React-cxxreact (= 0.62.1)
+    - React-jsi (= 0.62.1)
+    - React-jsiexecutor (= 0.62.1)
     - Yoga
     - Yoga
-  - React-Core/RCTBlobHeaders (0.61.2):
+  - React-Core/RCTBlobHeaders (0.62.1):
     - Folly (= 2018.10.22.00)
     - Folly (= 2018.10.22.00)
     - glog
     - glog
     - React-Core/Default
     - React-Core/Default
-    - React-cxxreact (= 0.61.2)
-    - React-jsi (= 0.61.2)
-    - React-jsiexecutor (= 0.61.2)
+    - React-cxxreact (= 0.62.1)
+    - React-jsi (= 0.62.1)
+    - React-jsiexecutor (= 0.62.1)
     - Yoga
     - Yoga
-  - React-Core/RCTImageHeaders (0.61.2):
+  - React-Core/RCTImageHeaders (0.62.1):
     - Folly (= 2018.10.22.00)
     - Folly (= 2018.10.22.00)
     - glog
     - glog
     - React-Core/Default
     - React-Core/Default
-    - React-cxxreact (= 0.61.2)
-    - React-jsi (= 0.61.2)
-    - React-jsiexecutor (= 0.61.2)
+    - React-cxxreact (= 0.62.1)
+    - React-jsi (= 0.62.1)
+    - React-jsiexecutor (= 0.62.1)
     - Yoga
     - Yoga
-  - React-Core/RCTLinkingHeaders (0.61.2):
+  - React-Core/RCTLinkingHeaders (0.62.1):
     - Folly (= 2018.10.22.00)
     - Folly (= 2018.10.22.00)
     - glog
     - glog
     - React-Core/Default
     - React-Core/Default
-    - React-cxxreact (= 0.61.2)
-    - React-jsi (= 0.61.2)
-    - React-jsiexecutor (= 0.61.2)
+    - React-cxxreact (= 0.62.1)
+    - React-jsi (= 0.62.1)
+    - React-jsiexecutor (= 0.62.1)
     - Yoga
     - Yoga
-  - React-Core/RCTNetworkHeaders (0.61.2):
+  - React-Core/RCTNetworkHeaders (0.62.1):
     - Folly (= 2018.10.22.00)
     - Folly (= 2018.10.22.00)
     - glog
     - glog
     - React-Core/Default
     - React-Core/Default
-    - React-cxxreact (= 0.61.2)
-    - React-jsi (= 0.61.2)
-    - React-jsiexecutor (= 0.61.2)
+    - React-cxxreact (= 0.62.1)
+    - React-jsi (= 0.62.1)
+    - React-jsiexecutor (= 0.62.1)
     - Yoga
     - Yoga
-  - React-Core/RCTSettingsHeaders (0.61.2):
+  - React-Core/RCTSettingsHeaders (0.62.1):
     - Folly (= 2018.10.22.00)
     - Folly (= 2018.10.22.00)
     - glog
     - glog
     - React-Core/Default
     - React-Core/Default
-    - React-cxxreact (= 0.61.2)
-    - React-jsi (= 0.61.2)
-    - React-jsiexecutor (= 0.61.2)
+    - React-cxxreact (= 0.62.1)
+    - React-jsi (= 0.62.1)
+    - React-jsiexecutor (= 0.62.1)
     - Yoga
     - Yoga
-  - React-Core/RCTTextHeaders (0.61.2):
+  - React-Core/RCTTextHeaders (0.62.1):
     - Folly (= 2018.10.22.00)
     - Folly (= 2018.10.22.00)
     - glog
     - glog
     - React-Core/Default
     - React-Core/Default
-    - React-cxxreact (= 0.61.2)
-    - React-jsi (= 0.61.2)
-    - React-jsiexecutor (= 0.61.2)
+    - React-cxxreact (= 0.62.1)
+    - React-jsi (= 0.62.1)
+    - React-jsiexecutor (= 0.62.1)
     - Yoga
     - Yoga
-  - React-Core/RCTVibrationHeaders (0.61.2):
+  - React-Core/RCTVibrationHeaders (0.62.1):
     - Folly (= 2018.10.22.00)
     - Folly (= 2018.10.22.00)
     - glog
     - glog
     - React-Core/Default
     - React-Core/Default
-    - React-cxxreact (= 0.61.2)
-    - React-jsi (= 0.61.2)
-    - React-jsiexecutor (= 0.61.2)
+    - React-cxxreact (= 0.62.1)
+    - React-jsi (= 0.62.1)
+    - React-jsiexecutor (= 0.62.1)
     - Yoga
     - Yoga
-  - React-Core/RCTWebSocket (0.61.2):
+  - React-Core/RCTWebSocket (0.62.1):
     - Folly (= 2018.10.22.00)
     - Folly (= 2018.10.22.00)
     - glog
     - glog
-    - React-Core/Default (= 0.61.2)
-    - React-cxxreact (= 0.61.2)
-    - React-jsi (= 0.61.2)
-    - React-jsiexecutor (= 0.61.2)
+    - React-Core/Default (= 0.62.1)
+    - React-cxxreact (= 0.62.1)
+    - React-jsi (= 0.62.1)
+    - React-jsiexecutor (= 0.62.1)
     - Yoga
     - Yoga
-  - React-CoreModules (0.61.2):
-    - FBReactNativeSpec (= 0.61.2)
+  - React-CoreModules (0.62.1):
+    - FBReactNativeSpec (= 0.62.1)
     - Folly (= 2018.10.22.00)
     - Folly (= 2018.10.22.00)
-    - RCTTypeSafety (= 0.61.2)
-    - React-Core/CoreModulesHeaders (= 0.61.2)
-    - React-RCTImage (= 0.61.2)
-    - ReactCommon/turbomodule/core (= 0.61.2)
-  - React-cxxreact (0.61.2):
+    - RCTTypeSafety (= 0.62.1)
+    - React-Core/CoreModulesHeaders (= 0.62.1)
+    - React-RCTImage (= 0.62.1)
+    - ReactCommon/turbomodule/core (= 0.62.1)
+  - React-cxxreact (0.62.1):
     - boost-for-react-native (= 1.63.0)
     - boost-for-react-native (= 1.63.0)
     - DoubleConversion
     - DoubleConversion
     - Folly (= 2018.10.22.00)
     - Folly (= 2018.10.22.00)
     - glog
     - glog
-    - React-jsinspector (= 0.61.2)
-  - React-jsi (0.61.2):
+    - React-jsinspector (= 0.62.1)
+  - React-jsi (0.62.1):
     - boost-for-react-native (= 1.63.0)
     - boost-for-react-native (= 1.63.0)
     - DoubleConversion
     - DoubleConversion
     - Folly (= 2018.10.22.00)
     - Folly (= 2018.10.22.00)
     - glog
     - glog
-    - React-jsi/Default (= 0.61.2)
-  - React-jsi/Default (0.61.2):
+    - React-jsi/Default (= 0.62.1)
+  - React-jsi/Default (0.62.1):
     - boost-for-react-native (= 1.63.0)
     - boost-for-react-native (= 1.63.0)
     - DoubleConversion
     - DoubleConversion
     - Folly (= 2018.10.22.00)
     - Folly (= 2018.10.22.00)
     - glog
     - glog
-  - React-jsiexecutor (0.61.2):
+  - React-jsiexecutor (0.62.1):
     - DoubleConversion
     - DoubleConversion
     - Folly (= 2018.10.22.00)
     - Folly (= 2018.10.22.00)
     - glog
     - glog
-    - React-cxxreact (= 0.61.2)
-    - React-jsi (= 0.61.2)
-  - React-jsinspector (0.61.2)
-  - react-native-onesignal (3.6.1):
-    - OneSignal (= 2.12.3)
+    - React-cxxreact (= 0.62.1)
+    - React-jsi (= 0.62.1)
+  - React-jsinspector (0.62.1)
+  - react-native-jitsi-meet (2.1.1):
+    - JitsiMeetSDK (= 2.4.0)
+    - React
+  - react-native-onesignal (3.7.1):
+    - OneSignal (= 2.13.1)
     - React (< 1.0.0, >= 0.13.0)
     - React (< 1.0.0, >= 0.13.0)
   - react-native-splash-screen (3.2.0):
   - react-native-splash-screen (3.2.0):
     - React
     - React
-  - react-native-webview (7.6.0):
+  - react-native-webview (9.1.1):
     - React
     - React
-  - React-RCTActionSheet (0.61.2):
-    - React-Core/RCTActionSheetHeaders (= 0.61.2)
-  - React-RCTAnimation (0.61.2):
-    - React-Core/RCTAnimationHeaders (= 0.61.2)
-  - React-RCTBlob (0.61.2):
-    - React-Core/RCTBlobHeaders (= 0.61.2)
-    - React-Core/RCTWebSocket (= 0.61.2)
-    - React-jsi (= 0.61.2)
-    - React-RCTNetwork (= 0.61.2)
-  - React-RCTImage (0.61.2):
-    - React-Core/RCTImageHeaders (= 0.61.2)
-    - React-RCTNetwork (= 0.61.2)
-  - React-RCTLinking (0.61.2):
-    - React-Core/RCTLinkingHeaders (= 0.61.2)
-  - React-RCTNetwork (0.61.2):
-    - React-Core/RCTNetworkHeaders (= 0.61.2)
-  - React-RCTSettings (0.61.2):
-    - React-Core/RCTSettingsHeaders (= 0.61.2)
-  - React-RCTText (0.61.2):
-    - React-Core/RCTTextHeaders (= 0.61.2)
-  - React-RCTVibration (0.61.2):
-    - React-Core/RCTVibrationHeaders (= 0.61.2)
-  - ReactCommon/jscallinvoker (0.61.2):
+  - React-RCTActionSheet (0.62.1):
+    - React-Core/RCTActionSheetHeaders (= 0.62.1)
+  - React-RCTAnimation (0.62.1):
+    - FBReactNativeSpec (= 0.62.1)
+    - Folly (= 2018.10.22.00)
+    - RCTTypeSafety (= 0.62.1)
+    - React-Core/RCTAnimationHeaders (= 0.62.1)
+    - ReactCommon/turbomodule/core (= 0.62.1)
+  - React-RCTBlob (0.62.1):
+    - FBReactNativeSpec (= 0.62.1)
+    - Folly (= 2018.10.22.00)
+    - React-Core/RCTBlobHeaders (= 0.62.1)
+    - React-Core/RCTWebSocket (= 0.62.1)
+    - React-jsi (= 0.62.1)
+    - React-RCTNetwork (= 0.62.1)
+    - ReactCommon/turbomodule/core (= 0.62.1)
+  - React-RCTImage (0.62.1):
+    - FBReactNativeSpec (= 0.62.1)
+    - Folly (= 2018.10.22.00)
+    - RCTTypeSafety (= 0.62.1)
+    - React-Core/RCTImageHeaders (= 0.62.1)
+    - React-RCTNetwork (= 0.62.1)
+    - ReactCommon/turbomodule/core (= 0.62.1)
+  - React-RCTLinking (0.62.1):
+    - FBReactNativeSpec (= 0.62.1)
+    - React-Core/RCTLinkingHeaders (= 0.62.1)
+    - ReactCommon/turbomodule/core (= 0.62.1)
+  - React-RCTNetwork (0.62.1):
+    - FBReactNativeSpec (= 0.62.1)
+    - Folly (= 2018.10.22.00)
+    - RCTTypeSafety (= 0.62.1)
+    - React-Core/RCTNetworkHeaders (= 0.62.1)
+    - ReactCommon/turbomodule/core (= 0.62.1)
+  - React-RCTSettings (0.62.1):
+    - FBReactNativeSpec (= 0.62.1)
+    - Folly (= 2018.10.22.00)
+    - RCTTypeSafety (= 0.62.1)
+    - React-Core/RCTSettingsHeaders (= 0.62.1)
+    - ReactCommon/turbomodule/core (= 0.62.1)
+  - React-RCTText (0.62.1):
+    - React-Core/RCTTextHeaders (= 0.62.1)
+  - React-RCTVibration (0.62.1):
+    - FBReactNativeSpec (= 0.62.1)
+    - Folly (= 2018.10.22.00)
+    - React-Core/RCTVibrationHeaders (= 0.62.1)
+    - ReactCommon/turbomodule/core (= 0.62.1)
+  - ReactCommon/callinvoker (0.62.1):
     - DoubleConversion
     - DoubleConversion
     - Folly (= 2018.10.22.00)
     - Folly (= 2018.10.22.00)
     - glog
     - glog
-    - React-cxxreact (= 0.61.2)
-  - ReactCommon/turbomodule/core (0.61.2):
+    - React-cxxreact (= 0.62.1)
+  - ReactCommon/turbomodule/core (0.62.1):
     - DoubleConversion
     - DoubleConversion
     - Folly (= 2018.10.22.00)
     - Folly (= 2018.10.22.00)
     - glog
     - glog
-    - React-Core (= 0.61.2)
-    - React-cxxreact (= 0.61.2)
-    - React-jsi (= 0.61.2)
-    - ReactCommon/jscallinvoker (= 0.61.2)
+    - React-Core (= 0.62.1)
+    - React-cxxreact (= 0.62.1)
+    - React-jsi (= 0.62.1)
+    - ReactCommon/callinvoker (= 0.62.1)
   - Yoga (1.14.0)
   - Yoga (1.14.0)
+  - YogaKit (1.18.1):
+    - Yoga (~> 1.14)
 
 
 DEPENDENCIES:
 DEPENDENCIES:
   - DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`)
   - DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`)
   - FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`)
   - FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`)
   - FBReactNativeSpec (from `../node_modules/react-native/Libraries/FBReactNativeSpec`)
   - FBReactNativeSpec (from `../node_modules/react-native/Libraries/FBReactNativeSpec`)
+  - FlipperKit (~> 0.33.1)
+  - FlipperKit/FlipperKitLayoutPlugin (~> 0.33.1)
+  - FlipperKit/FlipperKitReactPlugin (~> 0.33.1)
+  - FlipperKit/FlipperKitUserDefaultsPlugin (~> 0.33.1)
+  - FlipperKit/SKIOSNetworkPlugin (~> 0.33.1)
   - Folly (from `../node_modules/react-native/third-party-podspecs/Folly.podspec`)
   - Folly (from `../node_modules/react-native/third-party-podspecs/Folly.podspec`)
   - glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`)
   - glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`)
   - RCTRequired (from `../node_modules/react-native/Libraries/RCTRequired`)
   - RCTRequired (from `../node_modules/react-native/Libraries/RCTRequired`)
@@ -244,6 +330,7 @@ DEPENDENCIES:
   - React-jsi (from `../node_modules/react-native/ReactCommon/jsi`)
   - React-jsi (from `../node_modules/react-native/ReactCommon/jsi`)
   - React-jsiexecutor (from `../node_modules/react-native/ReactCommon/jsiexecutor`)
   - React-jsiexecutor (from `../node_modules/react-native/ReactCommon/jsiexecutor`)
   - React-jsinspector (from `../node_modules/react-native/ReactCommon/jsinspector`)
   - React-jsinspector (from `../node_modules/react-native/ReactCommon/jsinspector`)
+  - react-native-jitsi-meet (from `../node_modules/react-native-jitsi-meet`)
   - react-native-onesignal (from `../node_modules/react-native-onesignal`)
   - react-native-onesignal (from `../node_modules/react-native-onesignal`)
   - react-native-splash-screen (from `../node_modules/react-native-splash-screen`)
   - react-native-splash-screen (from `../node_modules/react-native-splash-screen`)
   - react-native-webview (from `../node_modules/react-native-webview`)
   - react-native-webview (from `../node_modules/react-native-webview`)
@@ -256,14 +343,26 @@ DEPENDENCIES:
   - React-RCTSettings (from `../node_modules/react-native/Libraries/Settings`)
   - React-RCTSettings (from `../node_modules/react-native/Libraries/Settings`)
   - React-RCTText (from `../node_modules/react-native/Libraries/Text`)
   - React-RCTText (from `../node_modules/react-native/Libraries/Text`)
   - React-RCTVibration (from `../node_modules/react-native/Libraries/Vibration`)
   - React-RCTVibration (from `../node_modules/react-native/Libraries/Vibration`)
-  - ReactCommon/jscallinvoker (from `../node_modules/react-native/ReactCommon`)
+  - ReactCommon/callinvoker (from `../node_modules/react-native/ReactCommon`)
   - ReactCommon/turbomodule/core (from `../node_modules/react-native/ReactCommon`)
   - ReactCommon/turbomodule/core (from `../node_modules/react-native/ReactCommon`)
   - Yoga (from `../node_modules/react-native/ReactCommon/yoga`)
   - Yoga (from `../node_modules/react-native/ReactCommon/yoga`)
 
 
 SPEC REPOS:
 SPEC REPOS:
   trunk:
   trunk:
     - boost-for-react-native
     - boost-for-react-native
+    - CocoaAsyncSocket
+    - CocoaLibEvent
+    - Flipper
+    - Flipper-DoubleConversion
+    - Flipper-Folly
+    - Flipper-Glog
+    - Flipper-PeerTalk
+    - Flipper-RSocket
+    - FlipperKit
+    - JitsiMeetSDK
     - OneSignal
     - OneSignal
+    - OpenSSL-Universal
+    - YogaKit
 
 
 EXTERNAL SOURCES:
 EXTERNAL SOURCES:
   DoubleConversion:
   DoubleConversion:
@@ -294,6 +393,8 @@ EXTERNAL SOURCES:
     :path: "../node_modules/react-native/ReactCommon/jsiexecutor"
     :path: "../node_modules/react-native/ReactCommon/jsiexecutor"
   React-jsinspector:
   React-jsinspector:
     :path: "../node_modules/react-native/ReactCommon/jsinspector"
     :path: "../node_modules/react-native/ReactCommon/jsinspector"
+  react-native-jitsi-meet:
+    :path: "../node_modules/react-native-jitsi-meet"
   react-native-onesignal:
   react-native-onesignal:
     :path: "../node_modules/react-native-onesignal"
     :path: "../node_modules/react-native-onesignal"
   react-native-splash-screen:
   react-native-splash-screen:
@@ -325,36 +426,49 @@ EXTERNAL SOURCES:
 
 
 SPEC CHECKSUMS:
 SPEC CHECKSUMS:
   boost-for-react-native: 39c7adb57c4e60d6c5479dd8623128eb5b3f0f2c
   boost-for-react-native: 39c7adb57c4e60d6c5479dd8623128eb5b3f0f2c
+  CocoaAsyncSocket: 694058e7c0ed05a9e217d1b3c7ded962f4180845
+  CocoaLibEvent: 2fab71b8bd46dd33ddb959f7928ec5909f838e3f
   DoubleConversion: 5805e889d232975c086db112ece9ed034df7a0b2
   DoubleConversion: 5805e889d232975c086db112ece9ed034df7a0b2
-  FBLazyVector: 68b6a76960fbd8ecd9fb7ce0aadd3329c3340a99
-  FBReactNativeSpec: 5a764c60abdc3336a213e5310c40b74741f32839
+  FBLazyVector: 95ee3e58937a6052f86b0e32f142388c22fa22c5
+  FBReactNativeSpec: 26dd6459299e48cd64eb397c45635e466dba9f45
+  Flipper: 6c1f484f9a88d30ab3e272800d53688439e50f69
+  Flipper-DoubleConversion: 38631e41ef4f9b12861c67d17cb5518d06badc41
+  Flipper-Folly: c12092ea368353b58e992843a990a3225d4533c3
+  Flipper-Glog: 1dfd6abf1e922806c52ceb8701a3599a79a200a6
+  Flipper-PeerTalk: 116d8f857dc6ef55c7a5a75ea3ceaafe878aadc9
+  Flipper-RSocket: 64e7431a55835eb953b0bf984ef3b90ae9fdddd7
+  FlipperKit: 6dc9b8f4ef60d9e5ded7f0264db299c91f18832e
   Folly: 30e7936e1c45c08d884aa59369ed951a8e68cf51
   Folly: 30e7936e1c45c08d884aa59369ed951a8e68cf51
   glog: 1f3da668190260b06b429bb211bfbee5cd790c28
   glog: 1f3da668190260b06b429bb211bfbee5cd790c28
-  OneSignal: 30b6e03a1f14169c4313e301a7b7bdf467b5a575
-  RCTRequired: c639d59ed389cfb1f1203f65c2ea946d8ec586e2
-  RCTTypeSafety: dc23fb655d6c77667c78e327bf661bc11e3b8aec
-  React: 7e586e5d7bec12b91c1a096826b0fc9ab1da7865
-  React-Core: 8ddb9770b4a30a6ab4a754e6ed5ec76454e3d699
-  React-CoreModules: b3d9eece8ad7df36c917a41f05c1168c52fe0b34
-  React-cxxreact: 1f972757c0bd08d962ef78068e06613c27489a3f
-  React-jsi: 32285a21b1b24c36060493ed3057a34677d58d09
-  React-jsiexecutor: 8909917ff7d8f21a57e443a866fd8d4560e50c65
-  React-jsinspector: 111d7d342b07a904c400592e02a2b958f1098b60
-  react-native-onesignal: d029b061807f5d14eaf765293099987f942d19f8
+  JitsiMeetSDK: d4a3aeed1a75fd57e6a78e5d202b6051dfcb9320
+  OneSignal: fa98eaa90372bb367b6a4a1c1622ffb9832c7600
+  OpenSSL-Universal: 8b48cc0d10c1b2923617dfe5c178aa9ed2689355
+  RCTRequired: e291538a455f5ad1afc2139a4288990be0cadd46
+  RCTTypeSafety: 8b6237185765dd9a03a3647807e08864105b1f95
+  React: 7b33e15fab929c47ac9c3c94c409258b13cfe452
+  React-Core: 9a164d53492e2d8a84e7acf87988253dff09cf93
+  React-CoreModules: 9aba468d44532cbc301e1323a62b3d796c69c26d
+  React-cxxreact: 1eed6bc2a4f8e25910994b5dfca1acf1878b25c7
+  React-jsi: 600d8e42510c3254fd2abd702f4b9d3f598d8f52
+  React-jsiexecutor: e9698dee4fd43ceb44832baf15d5745f455b0157
+  React-jsinspector: f74a62727e5604119abd4a1eda52c0a12144bcd5
+  react-native-jitsi-meet: 29ed76cdc6142d9a6c013bb14dd6205df0b5452b
+  react-native-onesignal: 42ac269088570b6b92db5af5e4b4edd9036696f4
   react-native-splash-screen: 200d11d188e2e78cea3ad319964f6142b6384865
   react-native-splash-screen: 200d11d188e2e78cea3ad319964f6142b6384865
-  react-native-webview: 711cef318a554093b09a5b871894011435d87a8d
-  React-RCTActionSheet: 89b037c0fb7d2671607cb645760164e7e0c013f6
-  React-RCTAnimation: e3cefa93c38c004c318f7ec04b883eb14b8b8235
-  React-RCTBlob: d26ac0e313fbf14e7203473fd593ccaaeee8329e
-  React-RCTImage: 4bdd9588783fa9e48ef669ccd4f747224e208edf
-  React-RCTLinking: 65f0088ff463babd3d5d567964a65b74141eff3b
-  React-RCTNetwork: 0c1a73576c1cfeafe68396556de1b17d93c0c595
-  React-RCTSettings: 4194f1f0edbddf3fd44d1714dc6578bb20379b60
-  React-RCTText: e3ef6191cdb627855ff7fe8fa0c1e14094967fb8
-  React-RCTVibration: fb54c732fd20405a76598e431aa2f8c2bf527de9
-  ReactCommon: 5848032ed2f274fcb40f6b9ec24067787c42d479
-  Yoga: 14927e37bd25376d216b150ab2a561773d57911f
+  react-native-webview: 059636017bec36753d09cb4dfd0bc6f90bcbb9e0
+  React-RCTActionSheet: af8f28dd82fec89b8fe29637b8c779829e016a88
+  React-RCTAnimation: 0d21fff7c20fb8ee41de5f2ebb63221127febd96
+  React-RCTBlob: 9496bd93130b22069bfbc5d35e98653dae7c35c6
+  React-RCTImage: a220d154ab3b92bc8a3d040651a21a047c5876b7
+  React-RCTLinking: 07b694640ae4a43e25c0e3e54713345f9ef1a706
+  React-RCTNetwork: 043479410782020c2081498b5766db136aea6fe9
+  React-RCTSettings: 826bed85c8887cec143f561a27bb3044f28fbde4
+  React-RCTText: 239e040f401505001327a109f9188a4e6dad1bd2
+  React-RCTVibration: 072c3b427dd29e730c2ee5bfc509cf5054741a50
+  ReactCommon: 3585806280c51d5c2c0d3aa5a99014c3badb629d
+  Yoga: 50fb6eb13d2152e7363293ff603385db380815b1
+  YogaKit: f782866e155069a2cca2517aafea43200b01fd5a
 
 
-PODFILE CHECKSUM: 136ef0f3aacb37bea3c24628c44db68758229741
+PODFILE CHECKSUM: 72939bde85eab5a927254a20e9cb54137c228028
 
 
-COCOAPODS: 1.8.4
+COCOAPODS: 1.9.1

+ 221 - 155
ios/una.xcodeproj/project.pbxproj

@@ -8,37 +8,37 @@
 
 
 /* Begin PBXBuildFile section */
 /* Begin PBXBuildFile section */
 		00E356F31AD99517003FC87E /* unaTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* unaTests.m */; };
 		00E356F31AD99517003FC87E /* unaTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* unaTests.m */; };
-		1188E97DCD0440B4B61FB3AB /* Entypo.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 569F7E359363411296CFF2D1 /* Entypo.ttf */; };
+		062764CF400C454381A47C61 /* rubicon-icon-font.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 1225829218A74D95AA4DDC11 /* rubicon-icon-font.ttf */; };
+		10CA20F94393489C8644065E /* Roboto.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 88DF6BCA591A42399523E0D5 /* Roboto.ttf */; };
 		13B07FBC1A68108700A75B9A /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.m */; };
 		13B07FBC1A68108700A75B9A /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.m */; };
 		13B07FBD1A68108700A75B9A /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB11A68108700A75B9A /* LaunchScreen.xib */; };
 		13B07FBD1A68108700A75B9A /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB11A68108700A75B9A /* LaunchScreen.xib */; };
 		13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; };
 		13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; };
 		13B07FC11A68108700A75B9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; };
 		13B07FC11A68108700A75B9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; };
-		14B1EFD50984416F9617F820 /* Roboto.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 7046EB5D891542C0B960ACD4 /* Roboto.ttf */; };
-		1B0B4DA7F77C4E188C406F24 /* Fontisto.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 242CB23023A6406C999A6D4E /* Fontisto.ttf */; };
-		2352B25F28E44E3DB5EBC2FE /* FontAwesome.ttf in Resources */ = {isa = PBXBuildFile; fileRef = D0C637AB805149D09BFF3AF1 /* FontAwesome.ttf */; };
-		25BC101920D64D2F907471E7 /* Octicons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = C7A6B75567844A068982AF76 /* Octicons.ttf */; };
+		25F7321B2E7241CA87204F73 /* MaterialCommunityIcons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 4B56FD0C252640359B095586 /* MaterialCommunityIcons.ttf */; };
 		2D02E4BC1E0B4A80006451C7 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.m */; };
 		2D02E4BC1E0B4A80006451C7 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.m */; };
 		2D02E4BD1E0B4A84006451C7 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; };
 		2D02E4BD1E0B4A84006451C7 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; };
 		2D02E4BF1E0B4AB3006451C7 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; };
 		2D02E4BF1E0B4AB3006451C7 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; };
 		2DCD954D1E0B4F2C00145EB5 /* unaTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* unaTests.m */; };
 		2DCD954D1E0B4F2C00145EB5 /* unaTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* unaTests.m */; };
-		2F1A74C834730CBACCFDC763 /* libPods-una-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BD8C6A9D8091F9B768C9282D /* libPods-una-tvOS.a */; };
-		40DE6C34511E4FF991053D8F /* Zocial.ttf in Resources */ = {isa = PBXBuildFile; fileRef = BF40C38F5E7E46229CA76944 /* Zocial.ttf */; };
-		442A21E213DA42829A4D172E /* FontAwesome5_Solid.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 92EB0552AC554C12A0C7AF2D /* FontAwesome5_Solid.ttf */; };
-		4C71D92018F241F482B4E28E /* Feather.ttf in Resources */ = {isa = PBXBuildFile; fileRef = AA654589204C40AA93554572 /* Feather.ttf */; };
-		54848C35D83CE3F46732FADF /* libPods-una.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4036A796A6BD03FD04C3C955 /* libPods-una.a */; };
-		5BA793E5EF4BB761D6A65830 /* libPods-una-tvOSTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3E74DA37602975BC225EB0C8 /* libPods-una-tvOSTests.a */; };
-		5C09E487839C4F669C53AD20 /* Ionicons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 6D3AD509981A4781BFB326B4 /* Ionicons.ttf */; };
-		5E8F89F70ABA47629EF1F810 /* MaterialIcons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = D70EA915F1554600BAFCB4E2 /* MaterialIcons.ttf */; };
-		5F5891584FD24EBD883937F2 /* SimpleLineIcons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 3E0E72C0E33946D3A0790A2D /* SimpleLineIcons.ttf */; };
-		6CA33508C69D46FFA5213B1A /* Roboto_medium.ttf in Resources */ = {isa = PBXBuildFile; fileRef = AFDE632EFC5F48CA9B600656 /* Roboto_medium.ttf */; };
-		A1989588DC1F4CB19E15E6F1 /* rubicon-icon-font.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 882531370FF94113BDA8301E /* rubicon-icon-font.ttf */; };
-		BA7B0C7EA3D649ADA55E908F /* MaterialCommunityIcons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = CDBCE138A76C4596B9A8E2D7 /* MaterialCommunityIcons.ttf */; };
-		C23FCA03965B4F339EFB0E61 /* AntDesign.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 2041BF367CF1481CB8FCB865 /* AntDesign.ttf */; };
-		C61D4889C2B4488C885E8BAC /* FontAwesome5_Regular.ttf in Resources */ = {isa = PBXBuildFile; fileRef = C10FD6E4793B4F60A39C85FC /* FontAwesome5_Regular.ttf */; };
-		C7AFE846E0994E67A9FCEBA5 /* EvilIcons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 4CD53DDD176C47BC982C7A84 /* EvilIcons.ttf */; };
-		D0ADCE95746908E75D30CE43 /* libPods-unaTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = C7848711354BED945B1FF5A7 /* libPods-unaTests.a */; };
-		EDE8F47BFCD747C7A0E033F5 /* Foundation.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 4B828B0FE23A4EC8A95A57E6 /* Foundation.ttf */; };
-		F4CD2B0A8D6647CBA4EF4AC4 /* FontAwesome5_Brands.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 070DF716E7974462897EFD96 /* FontAwesome5_Brands.ttf */; };
+		2E174B2D63084C50ACD20F12 /* Entypo.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 8F67769F56FC41E6BD2F610A /* Entypo.ttf */; };
+		4D4BD3640C00EDBCDF9C662B /* libPods-una.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 9524B1CE07DEEAAA7F71433D /* libPods-una.a */; };
+		4EFB8C5AF3014209B39FE819 /* SimpleLineIcons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 4D3A4D9D2B024FECA3D9446D /* SimpleLineIcons.ttf */; };
+		59E90F0E21964005969402E9 /* FontAwesome5_Regular.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 7C67C25FA5BF45A084FCFAD5 /* FontAwesome5_Regular.ttf */; };
+		61E8FAE8ECB043159603DD52 /* FontAwesome.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 0B9B648C6E7E4A8E99428505 /* FontAwesome.ttf */; };
+		6389A2E0B53A430CAD3AAEE4 /* EvilIcons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 76EBB290B7BE46A6A97EFEAE /* EvilIcons.ttf */; };
+		70750EA1C33E415D818B664F /* Octicons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = BC9A63AF900048179FFE44FD /* Octicons.ttf */; };
+		75508F323398FFC043643611 /* libPods-una-unaTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7F08D5BF4BF8511D82E9D87C /* libPods-una-unaTests.a */; };
+		79E9BACA86134ED389B2A422 /* Foundation.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 2E77D2D3E1244C5D9494CDD8 /* Foundation.ttf */; };
+		79ED85869C824999E2F28685 /* libPods-una-tvOSTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 19679D02C022BB780C2A9A93 /* libPods-una-tvOSTests.a */; };
+		8898476C2F6D4144A94659BB /* FontAwesome5_Solid.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 1FFD7F742E55490682999FCF /* FontAwesome5_Solid.ttf */; };
+		9048242F4A408A7BA0AEE9ED /* libPods-una-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2FA54D00415ABAE5FA1BBB27 /* libPods-una-tvOS.a */; };
+		9FD631A3F35F4D86B3E83DEF /* Roboto_medium.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 91E61AAD7F8D4040BD543D63 /* Roboto_medium.ttf */; };
+		B438A47EF31A44F2A694F4C1 /* MaterialIcons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 1A4FA5F43264481FAA94D7A6 /* MaterialIcons.ttf */; };
+		B465A544DD3A4456B847BB56 /* Feather.ttf in Resources */ = {isa = PBXBuildFile; fileRef = CB7BD2CE5D7046E2A22C3345 /* Feather.ttf */; };
+		BB15408E151342F7884B46EA /* Fontisto.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 83B2AED15E08460B9B13609A /* Fontisto.ttf */; };
+		CB0561220F194BC4AE929656 /* Ionicons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = D3A4FE3F47B044D99AE09887 /* Ionicons.ttf */; };
+		D4D9A22FA4E34DD5B8BC0E20 /* Zocial.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 292D05F8C21C4241B9D168E5 /* Zocial.ttf */; };
+		D71A48488FAB477985EBEDBA /* AntDesign.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 5B8EE21744DA410C94242D78 /* AntDesign.ttf */; };
+		D828485C7FFB49E5ACC6C567 /* FontAwesome5_Brands.ttf in Resources */ = {isa = PBXBuildFile; fileRef = B8312FAD9FC44E40AD519EF8 /* FontAwesome5_Brands.ttf */; };
 /* End PBXBuildFile section */
 /* End PBXBuildFile section */
 
 
 /* Begin PBXContainerItemProxy section */
 /* Begin PBXContainerItemProxy section */
@@ -63,9 +63,8 @@
 		00E356EE1AD99517003FC87E /* unaTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = unaTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
 		00E356EE1AD99517003FC87E /* unaTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = unaTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
 		00E356F11AD99517003FC87E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
 		00E356F11AD99517003FC87E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
 		00E356F21AD99517003FC87E /* unaTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = unaTests.m; sourceTree = "<group>"; };
 		00E356F21AD99517003FC87E /* unaTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = unaTests.m; sourceTree = "<group>"; };
-		02698B3F892A0D39854466F4 /* Pods-una-tvOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-una-tvOS.release.xcconfig"; path = "Target Support Files/Pods-una-tvOS/Pods-una-tvOS.release.xcconfig"; sourceTree = "<group>"; };
-		070DF716E7974462897EFD96 /* FontAwesome5_Brands.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = FontAwesome5_Brands.ttf; path = "../node_modules/native-base/Fonts/FontAwesome5_Brands.ttf"; sourceTree = "<group>"; };
-		1179F2C8919A6BB387100022 /* Pods-una-tvOSTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-una-tvOSTests.release.xcconfig"; path = "Target Support Files/Pods-una-tvOSTests/Pods-una-tvOSTests.release.xcconfig"; sourceTree = "<group>"; };
+		0B9B648C6E7E4A8E99428505 /* FontAwesome.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = FontAwesome.ttf; path = "../node_modules/native-base/Fonts/FontAwesome.ttf"; sourceTree = "<group>"; };
+		1225829218A74D95AA4DDC11 /* rubicon-icon-font.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "rubicon-icon-font.ttf"; path = "../node_modules/native-base/Fonts/rubicon-icon-font.ttf"; sourceTree = "<group>"; };
 		13B07F961A680F5B00A75B9A /* una.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = una.app; sourceTree = BUILT_PRODUCTS_DIR; };
 		13B07F961A680F5B00A75B9A /* una.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = una.app; sourceTree = BUILT_PRODUCTS_DIR; };
 		13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = una/AppDelegate.h; sourceTree = "<group>"; };
 		13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = una/AppDelegate.h; sourceTree = "<group>"; };
 		13B07FB01A68108700A75B9A /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AppDelegate.m; path = una/AppDelegate.m; sourceTree = "<group>"; };
 		13B07FB01A68108700A75B9A /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AppDelegate.m; path = una/AppDelegate.m; sourceTree = "<group>"; };
@@ -73,39 +72,40 @@
 		13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = una/Images.xcassets; sourceTree = "<group>"; };
 		13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = una/Images.xcassets; sourceTree = "<group>"; };
 		13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = una/Info.plist; sourceTree = "<group>"; };
 		13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = una/Info.plist; sourceTree = "<group>"; };
 		13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = una/main.m; sourceTree = "<group>"; };
 		13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = una/main.m; sourceTree = "<group>"; };
-		2041BF367CF1481CB8FCB865 /* AntDesign.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = AntDesign.ttf; path = "../node_modules/native-base/Fonts/AntDesign.ttf"; sourceTree = "<group>"; };
-		242CB23023A6406C999A6D4E /* Fontisto.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Fontisto.ttf; path = "../node_modules/native-base/Fonts/Fontisto.ttf"; sourceTree = "<group>"; };
-		28221B39291E42AC1296B6F3 /* Pods-una-tvOSTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-una-tvOSTests.debug.xcconfig"; path = "Target Support Files/Pods-una-tvOSTests/Pods-una-tvOSTests.debug.xcconfig"; sourceTree = "<group>"; };
-		2C5EA3EDD26F4DDFCCC68D84 /* Pods-una.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-una.release.xcconfig"; path = "Target Support Files/Pods-una/Pods-una.release.xcconfig"; sourceTree = "<group>"; };
+		19679D02C022BB780C2A9A93 /* libPods-una-tvOSTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-una-tvOSTests.a"; sourceTree = BUILT_PRODUCTS_DIR; };
+		1A4FA5F43264481FAA94D7A6 /* MaterialIcons.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = MaterialIcons.ttf; path = "../node_modules/native-base/Fonts/MaterialIcons.ttf"; sourceTree = "<group>"; };
+		1FFD7F742E55490682999FCF /* FontAwesome5_Solid.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = FontAwesome5_Solid.ttf; path = "../node_modules/native-base/Fonts/FontAwesome5_Solid.ttf"; sourceTree = "<group>"; };
+		292D05F8C21C4241B9D168E5 /* Zocial.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Zocial.ttf; path = "../node_modules/native-base/Fonts/Zocial.ttf"; sourceTree = "<group>"; };
 		2D02E47B1E0B4A5D006451C7 /* una-tvOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "una-tvOS.app"; sourceTree = BUILT_PRODUCTS_DIR; };
 		2D02E47B1E0B4A5D006451C7 /* una-tvOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "una-tvOS.app"; sourceTree = BUILT_PRODUCTS_DIR; };
 		2D02E4901E0B4A5D006451C7 /* una-tvOSTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "una-tvOSTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
 		2D02E4901E0B4A5D006451C7 /* una-tvOSTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "una-tvOSTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
-		3E0E72C0E33946D3A0790A2D /* SimpleLineIcons.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = SimpleLineIcons.ttf; path = "../node_modules/native-base/Fonts/SimpleLineIcons.ttf"; sourceTree = "<group>"; };
-		3E74DA37602975BC225EB0C8 /* libPods-una-tvOSTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-una-tvOSTests.a"; sourceTree = BUILT_PRODUCTS_DIR; };
-		4036A796A6BD03FD04C3C955 /* libPods-una.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-una.a"; sourceTree = BUILT_PRODUCTS_DIR; };
-		4B828B0FE23A4EC8A95A57E6 /* Foundation.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Foundation.ttf; path = "../node_modules/native-base/Fonts/Foundation.ttf"; sourceTree = "<group>"; };
-		4CD53DDD176C47BC982C7A84 /* EvilIcons.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = EvilIcons.ttf; path = "../node_modules/native-base/Fonts/EvilIcons.ttf"; sourceTree = "<group>"; };
-		569F7E359363411296CFF2D1 /* Entypo.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Entypo.ttf; path = "../node_modules/native-base/Fonts/Entypo.ttf"; sourceTree = "<group>"; };
-		6D3AD509981A4781BFB326B4 /* Ionicons.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Ionicons.ttf; path = "../node_modules/native-base/Fonts/Ionicons.ttf"; sourceTree = "<group>"; };
-		7046EB5D891542C0B960ACD4 /* Roboto.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Roboto.ttf; path = "../node_modules/native-base/Fonts/Roboto.ttf"; sourceTree = "<group>"; };
-		75BB3B3BFF09E755B13DE525 /* Pods-una.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-una.debug.xcconfig"; path = "Target Support Files/Pods-una/Pods-una.debug.xcconfig"; sourceTree = "<group>"; };
-		882531370FF94113BDA8301E /* rubicon-icon-font.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "rubicon-icon-font.ttf"; path = "../node_modules/native-base/Fonts/rubicon-icon-font.ttf"; sourceTree = "<group>"; };
-		92EB0552AC554C12A0C7AF2D /* FontAwesome5_Solid.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = FontAwesome5_Solid.ttf; path = "../node_modules/native-base/Fonts/FontAwesome5_Solid.ttf"; sourceTree = "<group>"; };
-		A2B209F0AD67BF5A0801516D /* Pods-una-tvOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-una-tvOS.debug.xcconfig"; path = "Target Support Files/Pods-una-tvOS/Pods-una-tvOS.debug.xcconfig"; sourceTree = "<group>"; };
-		AA654589204C40AA93554572 /* Feather.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Feather.ttf; path = "../node_modules/native-base/Fonts/Feather.ttf"; sourceTree = "<group>"; };
-		AFDE632EFC5F48CA9B600656 /* Roboto_medium.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Roboto_medium.ttf; path = "../node_modules/native-base/Fonts/Roboto_medium.ttf"; sourceTree = "<group>"; };
-		BD8C6A9D8091F9B768C9282D /* libPods-una-tvOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-una-tvOS.a"; sourceTree = BUILT_PRODUCTS_DIR; };
-		BF40C38F5E7E46229CA76944 /* Zocial.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Zocial.ttf; path = "../node_modules/native-base/Fonts/Zocial.ttf"; sourceTree = "<group>"; };
-		C10FD6E4793B4F60A39C85FC /* FontAwesome5_Regular.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = FontAwesome5_Regular.ttf; path = "../node_modules/native-base/Fonts/FontAwesome5_Regular.ttf"; sourceTree = "<group>"; };
-		C7848711354BED945B1FF5A7 /* libPods-unaTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-unaTests.a"; sourceTree = BUILT_PRODUCTS_DIR; };
-		C7A6B75567844A068982AF76 /* Octicons.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Octicons.ttf; path = "../node_modules/native-base/Fonts/Octicons.ttf"; sourceTree = "<group>"; };
-		CDBCE138A76C4596B9A8E2D7 /* MaterialCommunityIcons.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = MaterialCommunityIcons.ttf; path = "../node_modules/native-base/Fonts/MaterialCommunityIcons.ttf"; sourceTree = "<group>"; };
-		D0C637AB805149D09BFF3AF1 /* FontAwesome.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = FontAwesome.ttf; path = "../node_modules/native-base/Fonts/FontAwesome.ttf"; sourceTree = "<group>"; };
-		D558F5F79893DF0CBF79D86C /* Pods-unaTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-unaTests.debug.xcconfig"; path = "Target Support Files/Pods-unaTests/Pods-unaTests.debug.xcconfig"; sourceTree = "<group>"; };
-		D70EA915F1554600BAFCB4E2 /* MaterialIcons.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = MaterialIcons.ttf; path = "../node_modules/native-base/Fonts/MaterialIcons.ttf"; sourceTree = "<group>"; };
+		2E77D2D3E1244C5D9494CDD8 /* Foundation.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Foundation.ttf; path = "../node_modules/native-base/Fonts/Foundation.ttf"; sourceTree = "<group>"; };
+		2FA54D00415ABAE5FA1BBB27 /* libPods-una-tvOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-una-tvOS.a"; sourceTree = BUILT_PRODUCTS_DIR; };
+		4B56FD0C252640359B095586 /* MaterialCommunityIcons.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = MaterialCommunityIcons.ttf; path = "../node_modules/native-base/Fonts/MaterialCommunityIcons.ttf"; sourceTree = "<group>"; };
+		4D3A4D9D2B024FECA3D9446D /* SimpleLineIcons.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = SimpleLineIcons.ttf; path = "../node_modules/native-base/Fonts/SimpleLineIcons.ttf"; sourceTree = "<group>"; };
+		4E55C231E14F44C2B9CEBC0F /* Pods-una-unaTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-una-unaTests.debug.xcconfig"; path = "Target Support Files/Pods-una-unaTests/Pods-una-unaTests.debug.xcconfig"; sourceTree = "<group>"; };
+		5B8EE21744DA410C94242D78 /* AntDesign.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = AntDesign.ttf; path = "../node_modules/native-base/Fonts/AntDesign.ttf"; sourceTree = "<group>"; };
+		618725449409EF49EB694B0E /* Pods-una-unaTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-una-unaTests.release.xcconfig"; path = "Target Support Files/Pods-una-unaTests/Pods-una-unaTests.release.xcconfig"; sourceTree = "<group>"; };
+		6C7EF65607EB055E5B6A4359 /* Pods-una-tvOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-una-tvOS.debug.xcconfig"; path = "Target Support Files/Pods-una-tvOS/Pods-una-tvOS.debug.xcconfig"; sourceTree = "<group>"; };
+		76EBB290B7BE46A6A97EFEAE /* EvilIcons.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = EvilIcons.ttf; path = "../node_modules/native-base/Fonts/EvilIcons.ttf"; sourceTree = "<group>"; };
+		7C67C25FA5BF45A084FCFAD5 /* FontAwesome5_Regular.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = FontAwesome5_Regular.ttf; path = "../node_modules/native-base/Fonts/FontAwesome5_Regular.ttf"; sourceTree = "<group>"; };
+		7F08D5BF4BF8511D82E9D87C /* libPods-una-unaTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-una-unaTests.a"; sourceTree = BUILT_PRODUCTS_DIR; };
+		83B2AED15E08460B9B13609A /* Fontisto.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Fontisto.ttf; path = "../node_modules/native-base/Fonts/Fontisto.ttf"; sourceTree = "<group>"; };
+		88DF6BCA591A42399523E0D5 /* Roboto.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Roboto.ttf; path = "../node_modules/native-base/Fonts/Roboto.ttf"; sourceTree = "<group>"; };
+		8F67769F56FC41E6BD2F610A /* Entypo.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Entypo.ttf; path = "../node_modules/native-base/Fonts/Entypo.ttf"; sourceTree = "<group>"; };
+		91E61AAD7F8D4040BD543D63 /* Roboto_medium.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Roboto_medium.ttf; path = "../node_modules/native-base/Fonts/Roboto_medium.ttf"; sourceTree = "<group>"; };
+		9524B1CE07DEEAAA7F71433D /* libPods-una.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-una.a"; sourceTree = BUILT_PRODUCTS_DIR; };
+		9E69D70DD53125C3CFB0A977 /* Pods-una-tvOSTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-una-tvOSTests.release.xcconfig"; path = "Target Support Files/Pods-una-tvOSTests/Pods-una-tvOSTests.release.xcconfig"; sourceTree = "<group>"; };
+		B8312FAD9FC44E40AD519EF8 /* FontAwesome5_Brands.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = FontAwesome5_Brands.ttf; path = "../node_modules/native-base/Fonts/FontAwesome5_Brands.ttf"; sourceTree = "<group>"; };
+		BC9A63AF900048179FFE44FD /* Octicons.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Octicons.ttf; path = "../node_modules/native-base/Fonts/Octicons.ttf"; sourceTree = "<group>"; };
+		CB7BD2CE5D7046E2A22C3345 /* Feather.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Feather.ttf; path = "../node_modules/native-base/Fonts/Feather.ttf"; sourceTree = "<group>"; };
+		CCDFB2930627A6D48D13E228 /* Pods-una-tvOSTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-una-tvOSTests.debug.xcconfig"; path = "Target Support Files/Pods-una-tvOSTests/Pods-una-tvOSTests.debug.xcconfig"; sourceTree = "<group>"; };
+		CEA915457D68D7351C920DD0 /* Pods-una-tvOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-una-tvOS.release.xcconfig"; path = "Target Support Files/Pods-una-tvOS/Pods-una-tvOS.release.xcconfig"; sourceTree = "<group>"; };
+		D3A4FE3F47B044D99AE09887 /* Ionicons.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Ionicons.ttf; path = "../node_modules/native-base/Fonts/Ionicons.ttf"; sourceTree = "<group>"; };
+		D924473A2F54C8A209E00DD3 /* Pods-una.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-una.release.xcconfig"; path = "Target Support Files/Pods-una/Pods-una.release.xcconfig"; sourceTree = "<group>"; };
+		EAA86421E3D378076B7BE29E /* Pods-una.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-una.debug.xcconfig"; path = "Target Support Files/Pods-una/Pods-una.debug.xcconfig"; sourceTree = "<group>"; };
 		ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; };
 		ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; };
 		ED2971642150620600B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS12.0.sdk/System/Library/Frameworks/JavaScriptCore.framework; sourceTree = DEVELOPER_DIR; };
 		ED2971642150620600B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS12.0.sdk/System/Library/Frameworks/JavaScriptCore.framework; sourceTree = DEVELOPER_DIR; };
-		F111EA4EF8B20FC16DBFCE92 /* Pods-unaTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-unaTests.release.xcconfig"; path = "Target Support Files/Pods-unaTests/Pods-unaTests.release.xcconfig"; sourceTree = "<group>"; };
-		FAA63098234B419B00169C35 /* una.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; name = una.entitlements; path = una/una.entitlements; sourceTree = "<group>"; };
+		FA8FD2962440907F00FBDF3A /* una.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; name = una.entitlements; path = una/una.entitlements; sourceTree = "<group>"; };
 /* End PBXFileReference section */
 /* End PBXFileReference section */
 
 
 /* Begin PBXFrameworksBuildPhase section */
 /* Begin PBXFrameworksBuildPhase section */
@@ -113,7 +113,7 @@
 			isa = PBXFrameworksBuildPhase;
 			isa = PBXFrameworksBuildPhase;
 			buildActionMask = 2147483647;
 			buildActionMask = 2147483647;
 			files = (
 			files = (
-				D0ADCE95746908E75D30CE43 /* libPods-unaTests.a in Frameworks */,
+				75508F323398FFC043643611 /* libPods-una-unaTests.a in Frameworks */,
 			);
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 			runOnlyForDeploymentPostprocessing = 0;
 		};
 		};
@@ -121,7 +121,7 @@
 			isa = PBXFrameworksBuildPhase;
 			isa = PBXFrameworksBuildPhase;
 			buildActionMask = 2147483647;
 			buildActionMask = 2147483647;
 			files = (
 			files = (
-				54848C35D83CE3F46732FADF /* libPods-una.a in Frameworks */,
+				4D4BD3640C00EDBCDF9C662B /* libPods-una.a in Frameworks */,
 			);
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 			runOnlyForDeploymentPostprocessing = 0;
 		};
 		};
@@ -129,7 +129,7 @@
 			isa = PBXFrameworksBuildPhase;
 			isa = PBXFrameworksBuildPhase;
 			buildActionMask = 2147483647;
 			buildActionMask = 2147483647;
 			files = (
 			files = (
-				2F1A74C834730CBACCFDC763 /* libPods-una-tvOS.a in Frameworks */,
+				9048242F4A408A7BA0AEE9ED /* libPods-una-tvOS.a in Frameworks */,
 			);
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 			runOnlyForDeploymentPostprocessing = 0;
 		};
 		};
@@ -137,7 +137,7 @@
 			isa = PBXFrameworksBuildPhase;
 			isa = PBXFrameworksBuildPhase;
 			buildActionMask = 2147483647;
 			buildActionMask = 2147483647;
 			files = (
 			files = (
-				5BA793E5EF4BB761D6A65830 /* libPods-una-tvOSTests.a in Frameworks */,
+				79ED85869C824999E2F28685 /* libPods-una-tvOSTests.a in Frameworks */,
 			);
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 			runOnlyForDeploymentPostprocessing = 0;
 		};
 		};
@@ -164,8 +164,8 @@
 		13B07FAE1A68108700A75B9A /* una */ = {
 		13B07FAE1A68108700A75B9A /* una */ = {
 			isa = PBXGroup;
 			isa = PBXGroup;
 			children = (
 			children = (
+				FA8FD2962440907F00FBDF3A /* una.entitlements */,
 				008F07F21AC5B25A0029DE68 /* main.jsbundle */,
 				008F07F21AC5B25A0029DE68 /* main.jsbundle */,
-				FAA63098234B419B00169C35 /* una.entitlements */,
 				13B07FAF1A68108700A75B9A /* AppDelegate.h */,
 				13B07FAF1A68108700A75B9A /* AppDelegate.h */,
 				13B07FB01A68108700A75B9A /* AppDelegate.m */,
 				13B07FB01A68108700A75B9A /* AppDelegate.m */,
 				13B07FB51A68108700A75B9A /* Images.xcassets */,
 				13B07FB51A68108700A75B9A /* Images.xcassets */,
@@ -181,25 +181,25 @@
 			children = (
 			children = (
 				ED297162215061F000B7C4FE /* JavaScriptCore.framework */,
 				ED297162215061F000B7C4FE /* JavaScriptCore.framework */,
 				ED2971642150620600B7C4FE /* JavaScriptCore.framework */,
 				ED2971642150620600B7C4FE /* JavaScriptCore.framework */,
-				4036A796A6BD03FD04C3C955 /* libPods-una.a */,
-				BD8C6A9D8091F9B768C9282D /* libPods-una-tvOS.a */,
-				3E74DA37602975BC225EB0C8 /* libPods-una-tvOSTests.a */,
-				C7848711354BED945B1FF5A7 /* libPods-unaTests.a */,
+				9524B1CE07DEEAAA7F71433D /* libPods-una.a */,
+				2FA54D00415ABAE5FA1BBB27 /* libPods-una-tvOS.a */,
+				19679D02C022BB780C2A9A93 /* libPods-una-tvOSTests.a */,
+				7F08D5BF4BF8511D82E9D87C /* libPods-una-unaTests.a */,
 			);
 			);
 			name = Frameworks;
 			name = Frameworks;
 			sourceTree = "<group>";
 			sourceTree = "<group>";
 		};
 		};
-		825089C6C3E8EBAD9E721EE9 /* Pods */ = {
+		73F9AA7DC3A3ECA71FED2FDE /* Pods */ = {
 			isa = PBXGroup;
 			isa = PBXGroup;
 			children = (
 			children = (
-				75BB3B3BFF09E755B13DE525 /* Pods-una.debug.xcconfig */,
-				2C5EA3EDD26F4DDFCCC68D84 /* Pods-una.release.xcconfig */,
-				A2B209F0AD67BF5A0801516D /* Pods-una-tvOS.debug.xcconfig */,
-				02698B3F892A0D39854466F4 /* Pods-una-tvOS.release.xcconfig */,
-				28221B39291E42AC1296B6F3 /* Pods-una-tvOSTests.debug.xcconfig */,
-				1179F2C8919A6BB387100022 /* Pods-una-tvOSTests.release.xcconfig */,
-				D558F5F79893DF0CBF79D86C /* Pods-unaTests.debug.xcconfig */,
-				F111EA4EF8B20FC16DBFCE92 /* Pods-unaTests.release.xcconfig */,
+				EAA86421E3D378076B7BE29E /* Pods-una.debug.xcconfig */,
+				D924473A2F54C8A209E00DD3 /* Pods-una.release.xcconfig */,
+				6C7EF65607EB055E5B6A4359 /* Pods-una-tvOS.debug.xcconfig */,
+				CEA915457D68D7351C920DD0 /* Pods-una-tvOS.release.xcconfig */,
+				CCDFB2930627A6D48D13E228 /* Pods-una-tvOSTests.debug.xcconfig */,
+				9E69D70DD53125C3CFB0A977 /* Pods-una-tvOSTests.release.xcconfig */,
+				4E55C231E14F44C2B9CEBC0F /* Pods-una-unaTests.debug.xcconfig */,
+				618725449409EF49EB694B0E /* Pods-una-unaTests.release.xcconfig */,
 			);
 			);
 			path = Pods;
 			path = Pods;
 			sourceTree = "<group>";
 			sourceTree = "<group>";
@@ -219,8 +219,8 @@
 				00E356EF1AD99517003FC87E /* unaTests */,
 				00E356EF1AD99517003FC87E /* unaTests */,
 				83CBBA001A601CBA00E9B192 /* Products */,
 				83CBBA001A601CBA00E9B192 /* Products */,
 				2D16E6871FA4F8E400B85C8A /* Frameworks */,
 				2D16E6871FA4F8E400B85C8A /* Frameworks */,
-				825089C6C3E8EBAD9E721EE9 /* Pods */,
-				FE8814E72A8C48BFB17A57F2 /* Resources */,
+				73F9AA7DC3A3ECA71FED2FDE /* Pods */,
+				E8DF75FABBDC4DD6AA984CA8 /* Resources */,
 			);
 			);
 			indentWidth = 2;
 			indentWidth = 2;
 			sourceTree = "<group>";
 			sourceTree = "<group>";
@@ -238,28 +238,28 @@
 			name = Products;
 			name = Products;
 			sourceTree = "<group>";
 			sourceTree = "<group>";
 		};
 		};
-		FE8814E72A8C48BFB17A57F2 /* Resources */ = {
+		E8DF75FABBDC4DD6AA984CA8 /* Resources */ = {
 			isa = PBXGroup;
 			isa = PBXGroup;
 			children = (
 			children = (
-				2041BF367CF1481CB8FCB865 /* AntDesign.ttf */,
-				569F7E359363411296CFF2D1 /* Entypo.ttf */,
-				4CD53DDD176C47BC982C7A84 /* EvilIcons.ttf */,
-				AA654589204C40AA93554572 /* Feather.ttf */,
-				D0C637AB805149D09BFF3AF1 /* FontAwesome.ttf */,
-				070DF716E7974462897EFD96 /* FontAwesome5_Brands.ttf */,
-				C10FD6E4793B4F60A39C85FC /* FontAwesome5_Regular.ttf */,
-				92EB0552AC554C12A0C7AF2D /* FontAwesome5_Solid.ttf */,
-				242CB23023A6406C999A6D4E /* Fontisto.ttf */,
-				4B828B0FE23A4EC8A95A57E6 /* Foundation.ttf */,
-				6D3AD509981A4781BFB326B4 /* Ionicons.ttf */,
-				CDBCE138A76C4596B9A8E2D7 /* MaterialCommunityIcons.ttf */,
-				D70EA915F1554600BAFCB4E2 /* MaterialIcons.ttf */,
-				C7A6B75567844A068982AF76 /* Octicons.ttf */,
-				AFDE632EFC5F48CA9B600656 /* Roboto_medium.ttf */,
-				7046EB5D891542C0B960ACD4 /* Roboto.ttf */,
-				882531370FF94113BDA8301E /* rubicon-icon-font.ttf */,
-				3E0E72C0E33946D3A0790A2D /* SimpleLineIcons.ttf */,
-				BF40C38F5E7E46229CA76944 /* Zocial.ttf */,
+				5B8EE21744DA410C94242D78 /* AntDesign.ttf */,
+				8F67769F56FC41E6BD2F610A /* Entypo.ttf */,
+				76EBB290B7BE46A6A97EFEAE /* EvilIcons.ttf */,
+				CB7BD2CE5D7046E2A22C3345 /* Feather.ttf */,
+				0B9B648C6E7E4A8E99428505 /* FontAwesome.ttf */,
+				B8312FAD9FC44E40AD519EF8 /* FontAwesome5_Brands.ttf */,
+				7C67C25FA5BF45A084FCFAD5 /* FontAwesome5_Regular.ttf */,
+				1FFD7F742E55490682999FCF /* FontAwesome5_Solid.ttf */,
+				83B2AED15E08460B9B13609A /* Fontisto.ttf */,
+				2E77D2D3E1244C5D9494CDD8 /* Foundation.ttf */,
+				D3A4FE3F47B044D99AE09887 /* Ionicons.ttf */,
+				4B56FD0C252640359B095586 /* MaterialCommunityIcons.ttf */,
+				1A4FA5F43264481FAA94D7A6 /* MaterialIcons.ttf */,
+				BC9A63AF900048179FFE44FD /* Octicons.ttf */,
+				91E61AAD7F8D4040BD543D63 /* Roboto_medium.ttf */,
+				88DF6BCA591A42399523E0D5 /* Roboto.ttf */,
+				1225829218A74D95AA4DDC11 /* rubicon-icon-font.ttf */,
+				4D3A4D9D2B024FECA3D9446D /* SimpleLineIcons.ttf */,
+				292D05F8C21C4241B9D168E5 /* Zocial.ttf */,
 			);
 			);
 			name = Resources;
 			name = Resources;
 			sourceTree = "<group>";
 			sourceTree = "<group>";
@@ -271,10 +271,11 @@
 			isa = PBXNativeTarget;
 			isa = PBXNativeTarget;
 			buildConfigurationList = 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "unaTests" */;
 			buildConfigurationList = 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "unaTests" */;
 			buildPhases = (
 			buildPhases = (
-				66E183AC30873E25A0080546 /* [CP] Check Pods Manifest.lock */,
+				6380E970E344C9DBA36E1908 /* [CP] Check Pods Manifest.lock */,
 				00E356EA1AD99517003FC87E /* Sources */,
 				00E356EA1AD99517003FC87E /* Sources */,
 				00E356EB1AD99517003FC87E /* Frameworks */,
 				00E356EB1AD99517003FC87E /* Frameworks */,
 				00E356EC1AD99517003FC87E /* Resources */,
 				00E356EC1AD99517003FC87E /* Resources */,
+				1EAC3AD03B55E60C5D080DA2 /* [CP] Embed Pods Frameworks */,
 			);
 			);
 			buildRules = (
 			buildRules = (
 			);
 			);
@@ -290,12 +291,13 @@
 			isa = PBXNativeTarget;
 			isa = PBXNativeTarget;
 			buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "una" */;
 			buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "una" */;
 			buildPhases = (
 			buildPhases = (
-				EEB82F1B753405C17A7ABBBE /* [CP] Check Pods Manifest.lock */,
+				37700DB5A83E006FBD51A94E /* [CP] Check Pods Manifest.lock */,
 				FD10A7F022414F080027D42C /* Start Packager */,
 				FD10A7F022414F080027D42C /* Start Packager */,
 				13B07F871A680F5B00A75B9A /* Sources */,
 				13B07F871A680F5B00A75B9A /* Sources */,
 				13B07F8C1A680F5B00A75B9A /* Frameworks */,
 				13B07F8C1A680F5B00A75B9A /* Frameworks */,
 				13B07F8E1A680F5B00A75B9A /* Resources */,
 				13B07F8E1A680F5B00A75B9A /* Resources */,
 				00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */,
 				00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */,
+				1EE32CFE0B1F38E8C8EC8ED5 /* [CP] Embed Pods Frameworks */,
 			);
 			);
 			buildRules = (
 			buildRules = (
 			);
 			);
@@ -310,7 +312,7 @@
 			isa = PBXNativeTarget;
 			isa = PBXNativeTarget;
 			buildConfigurationList = 2D02E4BA1E0B4A5E006451C7 /* Build configuration list for PBXNativeTarget "una-tvOS" */;
 			buildConfigurationList = 2D02E4BA1E0B4A5E006451C7 /* Build configuration list for PBXNativeTarget "una-tvOS" */;
 			buildPhases = (
 			buildPhases = (
-				837906D1F6EEF579B73C83C5 /* [CP] Check Pods Manifest.lock */,
+				5AB9D1579874876A78C834D3 /* [CP] Check Pods Manifest.lock */,
 				FD10A7F122414F3F0027D42C /* Start Packager */,
 				FD10A7F122414F3F0027D42C /* Start Packager */,
 				2D02E4771E0B4A5D006451C7 /* Sources */,
 				2D02E4771E0B4A5D006451C7 /* Sources */,
 				2D02E4781E0B4A5D006451C7 /* Frameworks */,
 				2D02E4781E0B4A5D006451C7 /* Frameworks */,
@@ -330,7 +332,7 @@
 			isa = PBXNativeTarget;
 			isa = PBXNativeTarget;
 			buildConfigurationList = 2D02E4BB1E0B4A5E006451C7 /* Build configuration list for PBXNativeTarget "una-tvOSTests" */;
 			buildConfigurationList = 2D02E4BB1E0B4A5E006451C7 /* Build configuration list for PBXNativeTarget "una-tvOSTests" */;
 			buildPhases = (
 			buildPhases = (
-				290A88B587384A1E3C76F6D1 /* [CP] Check Pods Manifest.lock */,
+				579C9C10D6B9D208B013396C /* [CP] Check Pods Manifest.lock */,
 				2D02E48C1E0B4A5D006451C7 /* Sources */,
 				2D02E48C1E0B4A5D006451C7 /* Sources */,
 				2D02E48D1E0B4A5D006451C7 /* Frameworks */,
 				2D02E48D1E0B4A5D006451C7 /* Frameworks */,
 				2D02E48E1E0B4A5D006451C7 /* Resources */,
 				2D02E48E1E0B4A5D006451C7 /* Resources */,
@@ -351,8 +353,7 @@
 		83CBB9F71A601CBA00E9B192 /* Project object */ = {
 		83CBB9F71A601CBA00E9B192 /* Project object */ = {
 			isa = PBXProject;
 			isa = PBXProject;
 			attributes = {
 			attributes = {
-				LastUpgradeCheck = 940;
-				ORGANIZATIONNAME = Facebook;
+				LastUpgradeCheck = 1130;
 				TargetAttributes = {
 				TargetAttributes = {
 					00E356ED1AD99517003FC87E = {
 					00E356ED1AD99517003FC87E = {
 						CreatedOnToolsVersion = 6.2;
 						CreatedOnToolsVersion = 6.2;
@@ -360,6 +361,7 @@
 					};
 					};
 					13B07F861A680F5B00A75B9A = {
 					13B07F861A680F5B00A75B9A = {
 						DevelopmentTeam = 235MTP3MJ2;
 						DevelopmentTeam = 235MTP3MJ2;
+						LastSwiftMigration = 1120;
 					};
 					};
 					2D02E47A1E0B4A5D006451C7 = {
 					2D02E47A1E0B4A5D006451C7 = {
 						CreatedOnToolsVersion = 8.2.1;
 						CreatedOnToolsVersion = 8.2.1;
@@ -374,10 +376,9 @@
 			};
 			};
 			buildConfigurationList = 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "una" */;
 			buildConfigurationList = 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "una" */;
 			compatibilityVersion = "Xcode 3.2";
 			compatibilityVersion = "Xcode 3.2";
-			developmentRegion = English;
+			developmentRegion = en;
 			hasScannedForEncodings = 0;
 			hasScannedForEncodings = 0;
 			knownRegions = (
 			knownRegions = (
-				English,
 				en,
 				en,
 				Base,
 				Base,
 			);
 			);
@@ -408,25 +409,25 @@
 			files = (
 			files = (
 				13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */,
 				13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */,
 				13B07FBD1A68108700A75B9A /* LaunchScreen.xib in Resources */,
 				13B07FBD1A68108700A75B9A /* LaunchScreen.xib in Resources */,
-				C23FCA03965B4F339EFB0E61 /* AntDesign.ttf in Resources */,
-				1188E97DCD0440B4B61FB3AB /* Entypo.ttf in Resources */,
-				C7AFE846E0994E67A9FCEBA5 /* EvilIcons.ttf in Resources */,
-				4C71D92018F241F482B4E28E /* Feather.ttf in Resources */,
-				2352B25F28E44E3DB5EBC2FE /* FontAwesome.ttf in Resources */,
-				F4CD2B0A8D6647CBA4EF4AC4 /* FontAwesome5_Brands.ttf in Resources */,
-				C61D4889C2B4488C885E8BAC /* FontAwesome5_Regular.ttf in Resources */,
-				442A21E213DA42829A4D172E /* FontAwesome5_Solid.ttf in Resources */,
-				1B0B4DA7F77C4E188C406F24 /* Fontisto.ttf in Resources */,
-				EDE8F47BFCD747C7A0E033F5 /* Foundation.ttf in Resources */,
-				5C09E487839C4F669C53AD20 /* Ionicons.ttf in Resources */,
-				BA7B0C7EA3D649ADA55E908F /* MaterialCommunityIcons.ttf in Resources */,
-				5E8F89F70ABA47629EF1F810 /* MaterialIcons.ttf in Resources */,
-				25BC101920D64D2F907471E7 /* Octicons.ttf in Resources */,
-				6CA33508C69D46FFA5213B1A /* Roboto_medium.ttf in Resources */,
-				14B1EFD50984416F9617F820 /* Roboto.ttf in Resources */,
-				A1989588DC1F4CB19E15E6F1 /* rubicon-icon-font.ttf in Resources */,
-				5F5891584FD24EBD883937F2 /* SimpleLineIcons.ttf in Resources */,
-				40DE6C34511E4FF991053D8F /* Zocial.ttf in Resources */,
+				D71A48488FAB477985EBEDBA /* AntDesign.ttf in Resources */,
+				2E174B2D63084C50ACD20F12 /* Entypo.ttf in Resources */,
+				6389A2E0B53A430CAD3AAEE4 /* EvilIcons.ttf in Resources */,
+				B465A544DD3A4456B847BB56 /* Feather.ttf in Resources */,
+				61E8FAE8ECB043159603DD52 /* FontAwesome.ttf in Resources */,
+				D828485C7FFB49E5ACC6C567 /* FontAwesome5_Brands.ttf in Resources */,
+				59E90F0E21964005969402E9 /* FontAwesome5_Regular.ttf in Resources */,
+				8898476C2F6D4144A94659BB /* FontAwesome5_Solid.ttf in Resources */,
+				BB15408E151342F7884B46EA /* Fontisto.ttf in Resources */,
+				79E9BACA86134ED389B2A422 /* Foundation.ttf in Resources */,
+				CB0561220F194BC4AE929656 /* Ionicons.ttf in Resources */,
+				25F7321B2E7241CA87204F73 /* MaterialCommunityIcons.ttf in Resources */,
+				B438A47EF31A44F2A694F4C1 /* MaterialIcons.ttf in Resources */,
+				70750EA1C33E415D818B664F /* Octicons.ttf in Resources */,
+				9FD631A3F35F4D86B3E83DEF /* Roboto_medium.ttf in Resources */,
+				10CA20F94393489C8644065E /* Roboto.ttf in Resources */,
+				062764CF400C454381A47C61 /* rubicon-icon-font.ttf in Resources */,
+				4EFB8C5AF3014209B39FE819 /* SimpleLineIcons.ttf in Resources */,
+				D4D9A22FA4E34DD5B8BC0E20 /* Zocial.ttf in Resources */,
 			);
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 			runOnlyForDeploymentPostprocessing = 0;
 		};
 		};
@@ -462,26 +463,44 @@
 			shellPath = /bin/sh;
 			shellPath = /bin/sh;
 			shellScript = "export NODE_BINARY=node\n../node_modules/react-native/scripts/react-native-xcode.sh";
 			shellScript = "export NODE_BINARY=node\n../node_modules/react-native/scripts/react-native-xcode.sh";
 		};
 		};
-		290A88B587384A1E3C76F6D1 /* [CP] Check Pods Manifest.lock */ = {
+		1EAC3AD03B55E60C5D080DA2 /* [CP] Embed Pods Frameworks */ = {
 			isa = PBXShellScriptBuildPhase;
 			isa = PBXShellScriptBuildPhase;
 			buildActionMask = 2147483647;
 			buildActionMask = 2147483647;
 			files = (
 			files = (
 			);
 			);
-			inputFileListPaths = (
-			);
 			inputPaths = (
 			inputPaths = (
-				"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
-				"${PODS_ROOT}/Manifest.lock",
+				"${PODS_ROOT}/Target Support Files/Pods-una-unaTests/Pods-una-unaTests-frameworks.sh",
+				"${PODS_ROOT}/JitsiMeetSDK/Frameworks/JitsiMeet.framework",
+				"${PODS_ROOT}/JitsiMeetSDK/Frameworks/WebRTC.framework",
 			);
 			);
-			name = "[CP] Check Pods Manifest.lock";
-			outputFileListPaths = (
+			name = "[CP] Embed Pods Frameworks";
+			outputPaths = (
+				"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/JitsiMeet.framework",
+				"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/WebRTC.framework",
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+			shellPath = /bin/sh;
+			shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-una-unaTests/Pods-una-unaTests-frameworks.sh\"\n";
+			showEnvVarsInLog = 0;
+		};
+		1EE32CFE0B1F38E8C8EC8ED5 /* [CP] Embed Pods Frameworks */ = {
+			isa = PBXShellScriptBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+			);
+			inputPaths = (
+				"${PODS_ROOT}/Target Support Files/Pods-una/Pods-una-frameworks.sh",
+				"${PODS_ROOT}/JitsiMeetSDK/Frameworks/JitsiMeet.framework",
+				"${PODS_ROOT}/JitsiMeetSDK/Frameworks/WebRTC.framework",
 			);
 			);
+			name = "[CP] Embed Pods Frameworks";
 			outputPaths = (
 			outputPaths = (
-				"$(DERIVED_FILE_DIR)/Pods-una-tvOSTests-checkManifestLockResult.txt",
+				"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/JitsiMeet.framework",
+				"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/WebRTC.framework",
 			);
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 			runOnlyForDeploymentPostprocessing = 0;
 			shellPath = /bin/sh;
 			shellPath = /bin/sh;
-			shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n    # print error to STDERR\n    echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n    exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
+			shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-una/Pods-una-frameworks.sh\"\n";
 			showEnvVarsInLog = 0;
 			showEnvVarsInLog = 0;
 		};
 		};
 		2D02E4CB1E0B4B27006451C7 /* Bundle React Native Code And Images */ = {
 		2D02E4CB1E0B4B27006451C7 /* Bundle React Native Code And Images */ = {
@@ -498,7 +517,7 @@
 			shellPath = /bin/sh;
 			shellPath = /bin/sh;
 			shellScript = "export NODE_BINARY=node\n../node_modules/react-native/scripts/react-native-xcode.sh";
 			shellScript = "export NODE_BINARY=node\n../node_modules/react-native/scripts/react-native-xcode.sh";
 		};
 		};
-		66E183AC30873E25A0080546 /* [CP] Check Pods Manifest.lock */ = {
+		37700DB5A83E006FBD51A94E /* [CP] Check Pods Manifest.lock */ = {
 			isa = PBXShellScriptBuildPhase;
 			isa = PBXShellScriptBuildPhase;
 			buildActionMask = 2147483647;
 			buildActionMask = 2147483647;
 			files = (
 			files = (
@@ -513,14 +532,36 @@
 			outputFileListPaths = (
 			outputFileListPaths = (
 			);
 			);
 			outputPaths = (
 			outputPaths = (
-				"$(DERIVED_FILE_DIR)/Pods-unaTests-checkManifestLockResult.txt",
+				"$(DERIVED_FILE_DIR)/Pods-una-checkManifestLockResult.txt",
 			);
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 			runOnlyForDeploymentPostprocessing = 0;
 			shellPath = /bin/sh;
 			shellPath = /bin/sh;
 			shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n    # print error to STDERR\n    echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n    exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
 			shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n    # print error to STDERR\n    echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n    exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
 			showEnvVarsInLog = 0;
 			showEnvVarsInLog = 0;
 		};
 		};
-		837906D1F6EEF579B73C83C5 /* [CP] Check Pods Manifest.lock */ = {
+		579C9C10D6B9D208B013396C /* [CP] Check Pods Manifest.lock */ = {
+			isa = PBXShellScriptBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+			);
+			inputFileListPaths = (
+			);
+			inputPaths = (
+				"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
+				"${PODS_ROOT}/Manifest.lock",
+			);
+			name = "[CP] Check Pods Manifest.lock";
+			outputFileListPaths = (
+			);
+			outputPaths = (
+				"$(DERIVED_FILE_DIR)/Pods-una-tvOSTests-checkManifestLockResult.txt",
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+			shellPath = /bin/sh;
+			shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n    # print error to STDERR\n    echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n    exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
+			showEnvVarsInLog = 0;
+		};
+		5AB9D1579874876A78C834D3 /* [CP] Check Pods Manifest.lock */ = {
 			isa = PBXShellScriptBuildPhase;
 			isa = PBXShellScriptBuildPhase;
 			buildActionMask = 2147483647;
 			buildActionMask = 2147483647;
 			files = (
 			files = (
@@ -542,7 +583,7 @@
 			shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n    # print error to STDERR\n    echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n    exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
 			shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n    # print error to STDERR\n    echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n    exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
 			showEnvVarsInLog = 0;
 			showEnvVarsInLog = 0;
 		};
 		};
-		EEB82F1B753405C17A7ABBBE /* [CP] Check Pods Manifest.lock */ = {
+		6380E970E344C9DBA36E1908 /* [CP] Check Pods Manifest.lock */ = {
 			isa = PBXShellScriptBuildPhase;
 			isa = PBXShellScriptBuildPhase;
 			buildActionMask = 2147483647;
 			buildActionMask = 2147483647;
 			files = (
 			files = (
@@ -557,7 +598,7 @@
 			outputFileListPaths = (
 			outputFileListPaths = (
 			);
 			);
 			outputPaths = (
 			outputPaths = (
-				"$(DERIVED_FILE_DIR)/Pods-una-checkManifestLockResult.txt",
+				"$(DERIVED_FILE_DIR)/Pods-una-unaTests-checkManifestLockResult.txt",
 			);
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 			runOnlyForDeploymentPostprocessing = 0;
 			shellPath = /bin/sh;
 			shellPath = /bin/sh;
@@ -669,7 +710,7 @@
 /* Begin XCBuildConfiguration section */
 /* Begin XCBuildConfiguration section */
 		00E356F61AD99517003FC87E /* Debug */ = {
 		00E356F61AD99517003FC87E /* Debug */ = {
 			isa = XCBuildConfiguration;
 			isa = XCBuildConfiguration;
-			baseConfigurationReference = D558F5F79893DF0CBF79D86C /* Pods-unaTests.debug.xcconfig */;
+			baseConfigurationReference = 4E55C231E14F44C2B9CEBC0F /* Pods-una-unaTests.debug.xcconfig */;
 			buildSettings = {
 			buildSettings = {
 				BUNDLE_LOADER = "$(TEST_HOST)";
 				BUNDLE_LOADER = "$(TEST_HOST)";
 				GCC_PREPROCESSOR_DEFINITIONS = (
 				GCC_PREPROCESSOR_DEFINITIONS = (
@@ -692,7 +733,7 @@
 		};
 		};
 		00E356F71AD99517003FC87E /* Release */ = {
 		00E356F71AD99517003FC87E /* Release */ = {
 			isa = XCBuildConfiguration;
 			isa = XCBuildConfiguration;
-			baseConfigurationReference = F111EA4EF8B20FC16DBFCE92 /* Pods-unaTests.release.xcconfig */;
+			baseConfigurationReference = 618725449409EF49EB694B0E /* Pods-una-unaTests.release.xcconfig */;
 			buildSettings = {
 			buildSettings = {
 				BUNDLE_LOADER = "$(TEST_HOST)";
 				BUNDLE_LOADER = "$(TEST_HOST)";
 				COPY_PHASE_STRIP = NO;
 				COPY_PHASE_STRIP = NO;
@@ -712,17 +753,22 @@
 		};
 		};
 		13B07F941A680F5B00A75B9A /* Debug */ = {
 		13B07F941A680F5B00A75B9A /* Debug */ = {
 			isa = XCBuildConfiguration;
 			isa = XCBuildConfiguration;
-			baseConfigurationReference = 75BB3B3BFF09E755B13DE525 /* Pods-una.debug.xcconfig */;
+			baseConfigurationReference = EAA86421E3D378076B7BE29E /* Pods-una.debug.xcconfig */;
 			buildSettings = {
 			buildSettings = {
 				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
 				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "";
+				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
+				CLANG_ENABLE_MODULES = YES;
 				CODE_SIGN_ENTITLEMENTS = una/una.entitlements;
 				CODE_SIGN_ENTITLEMENTS = una/una.entitlements;
-				CURRENT_PROJECT_VERSION = 1332;
-				DEAD_CODE_STRIPPING = NO;
+				CURRENT_PROJECT_VERSION = 1400;
 				DEVELOPMENT_TEAM = 235MTP3MJ2;
 				DEVELOPMENT_TEAM = 235MTP3MJ2;
+				ENABLE_BITCODE = NO;
+				GCC_PREPROCESSOR_DEFINITIONS = (
+					"$(inherited)",
+					"FB_SONARKIT_ENABLED=1",
+				);
 				INFOPLIST_FILE = una/Info.plist;
 				INFOPLIST_FILE = una/Info.plist;
 				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
 				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
-				MARKETING_VERSION = 1.3.3;
+				MARKETING_VERSION = 1.4.0;
 				OTHER_LDFLAGS = (
 				OTHER_LDFLAGS = (
 					"$(inherited)",
 					"$(inherited)",
 					"-ObjC",
 					"-ObjC",
@@ -730,6 +776,8 @@
 				);
 				);
 				PRODUCT_BUNDLE_IDENTIFIER = com.una.ios;
 				PRODUCT_BUNDLE_IDENTIFIER = com.una.ios;
 				PRODUCT_NAME = una;
 				PRODUCT_NAME = una;
+				SWIFT_OPTIMIZATION_LEVEL = "-Onone";
+				SWIFT_VERSION = 5.0;
 				TARGETED_DEVICE_FAMILY = "1,2";
 				TARGETED_DEVICE_FAMILY = "1,2";
 				VERSIONING_SYSTEM = "apple-generic";
 				VERSIONING_SYSTEM = "apple-generic";
 			};
 			};
@@ -737,16 +785,17 @@
 		};
 		};
 		13B07F951A680F5B00A75B9A /* Release */ = {
 		13B07F951A680F5B00A75B9A /* Release */ = {
 			isa = XCBuildConfiguration;
 			isa = XCBuildConfiguration;
-			baseConfigurationReference = 2C5EA3EDD26F4DDFCCC68D84 /* Pods-una.release.xcconfig */;
+			baseConfigurationReference = D924473A2F54C8A209E00DD3 /* Pods-una.release.xcconfig */;
 			buildSettings = {
 			buildSettings = {
 				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
 				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "";
+				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
+				CLANG_ENABLE_MODULES = YES;
 				CODE_SIGN_ENTITLEMENTS = una/una.entitlements;
 				CODE_SIGN_ENTITLEMENTS = una/una.entitlements;
-				CURRENT_PROJECT_VERSION = 1332;
+				CURRENT_PROJECT_VERSION = 1400;
 				DEVELOPMENT_TEAM = 235MTP3MJ2;
 				DEVELOPMENT_TEAM = 235MTP3MJ2;
 				INFOPLIST_FILE = una/Info.plist;
 				INFOPLIST_FILE = una/Info.plist;
 				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
 				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
-				MARKETING_VERSION = 1.3.3;
+				MARKETING_VERSION = 1.4.0;
 				OTHER_LDFLAGS = (
 				OTHER_LDFLAGS = (
 					"$(inherited)",
 					"$(inherited)",
 					"-ObjC",
 					"-ObjC",
@@ -754,6 +803,7 @@
 				);
 				);
 				PRODUCT_BUNDLE_IDENTIFIER = com.una.ios;
 				PRODUCT_BUNDLE_IDENTIFIER = com.una.ios;
 				PRODUCT_NAME = una;
 				PRODUCT_NAME = una;
+				SWIFT_VERSION = 5.0;
 				TARGETED_DEVICE_FAMILY = "1,2";
 				TARGETED_DEVICE_FAMILY = "1,2";
 				VERSIONING_SYSTEM = "apple-generic";
 				VERSIONING_SYSTEM = "apple-generic";
 			};
 			};
@@ -761,7 +811,7 @@
 		};
 		};
 		2D02E4971E0B4A5E006451C7 /* Debug */ = {
 		2D02E4971E0B4A5E006451C7 /* Debug */ = {
 			isa = XCBuildConfiguration;
 			isa = XCBuildConfiguration;
-			baseConfigurationReference = A2B209F0AD67BF5A0801516D /* Pods-una-tvOS.debug.xcconfig */;
+			baseConfigurationReference = 6C7EF65607EB055E5B6A4359 /* Pods-una-tvOS.debug.xcconfig */;
 			buildSettings = {
 			buildSettings = {
 				ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image";
 				ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image";
 				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
 				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
@@ -779,7 +829,7 @@
 					"-ObjC",
 					"-ObjC",
 					"-lc++",
 					"-lc++",
 				);
 				);
-				PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.REACT.una-tvOS";
+				PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.una-tvOS";
 				PRODUCT_NAME = "$(TARGET_NAME)";
 				PRODUCT_NAME = "$(TARGET_NAME)";
 				SDKROOT = appletvos;
 				SDKROOT = appletvos;
 				TARGETED_DEVICE_FAMILY = 3;
 				TARGETED_DEVICE_FAMILY = 3;
@@ -789,7 +839,7 @@
 		};
 		};
 		2D02E4981E0B4A5E006451C7 /* Release */ = {
 		2D02E4981E0B4A5E006451C7 /* Release */ = {
 			isa = XCBuildConfiguration;
 			isa = XCBuildConfiguration;
-			baseConfigurationReference = 02698B3F892A0D39854466F4 /* Pods-una-tvOS.release.xcconfig */;
+			baseConfigurationReference = CEA915457D68D7351C920DD0 /* Pods-una-tvOS.release.xcconfig */;
 			buildSettings = {
 			buildSettings = {
 				ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image";
 				ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image";
 				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
 				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
@@ -807,7 +857,7 @@
 					"-ObjC",
 					"-ObjC",
 					"-lc++",
 					"-lc++",
 				);
 				);
-				PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.REACT.una-tvOS";
+				PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.una-tvOS";
 				PRODUCT_NAME = "$(TARGET_NAME)";
 				PRODUCT_NAME = "$(TARGET_NAME)";
 				SDKROOT = appletvos;
 				SDKROOT = appletvos;
 				TARGETED_DEVICE_FAMILY = 3;
 				TARGETED_DEVICE_FAMILY = 3;
@@ -817,7 +867,7 @@
 		};
 		};
 		2D02E4991E0B4A5E006451C7 /* Debug */ = {
 		2D02E4991E0B4A5E006451C7 /* Debug */ = {
 			isa = XCBuildConfiguration;
 			isa = XCBuildConfiguration;
-			baseConfigurationReference = 28221B39291E42AC1296B6F3 /* Pods-una-tvOSTests.debug.xcconfig */;
+			baseConfigurationReference = CCDFB2930627A6D48D13E228 /* Pods-una-tvOSTests.debug.xcconfig */;
 			buildSettings = {
 			buildSettings = {
 				BUNDLE_LOADER = "$(TEST_HOST)";
 				BUNDLE_LOADER = "$(TEST_HOST)";
 				CLANG_ANALYZER_NONNULL = YES;
 				CLANG_ANALYZER_NONNULL = YES;
@@ -834,7 +884,7 @@
 					"-ObjC",
 					"-ObjC",
 					"-lc++",
 					"-lc++",
 				);
 				);
-				PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.REACT.una-tvOSTests";
+				PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.una-tvOSTests";
 				PRODUCT_NAME = "$(TARGET_NAME)";
 				PRODUCT_NAME = "$(TARGET_NAME)";
 				SDKROOT = appletvos;
 				SDKROOT = appletvos;
 				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/una-tvOS.app/una-tvOS";
 				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/una-tvOS.app/una-tvOS";
@@ -844,7 +894,7 @@
 		};
 		};
 		2D02E49A1E0B4A5E006451C7 /* Release */ = {
 		2D02E49A1E0B4A5E006451C7 /* Release */ = {
 			isa = XCBuildConfiguration;
 			isa = XCBuildConfiguration;
-			baseConfigurationReference = 1179F2C8919A6BB387100022 /* Pods-una-tvOSTests.release.xcconfig */;
+			baseConfigurationReference = 9E69D70DD53125C3CFB0A977 /* Pods-una-tvOSTests.release.xcconfig */;
 			buildSettings = {
 			buildSettings = {
 				BUNDLE_LOADER = "$(TEST_HOST)";
 				BUNDLE_LOADER = "$(TEST_HOST)";
 				CLANG_ANALYZER_NONNULL = YES;
 				CLANG_ANALYZER_NONNULL = YES;
@@ -861,7 +911,7 @@
 					"-ObjC",
 					"-ObjC",
 					"-lc++",
 					"-lc++",
 				);
 				);
-				PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.REACT.una-tvOSTests";
+				PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.una-tvOSTests";
 				PRODUCT_NAME = "$(TARGET_NAME)";
 				PRODUCT_NAME = "$(TARGET_NAME)";
 				SDKROOT = appletvos;
 				SDKROOT = appletvos;
 				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/una-tvOS.app/una-tvOS";
 				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/una-tvOS.app/una-tvOS";
@@ -873,6 +923,7 @@
 			isa = XCBuildConfiguration;
 			isa = XCBuildConfiguration;
 			buildSettings = {
 			buildSettings = {
 				ALWAYS_SEARCH_USER_PATHS = NO;
 				ALWAYS_SEARCH_USER_PATHS = NO;
+				CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
 				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
 				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
 				CLANG_CXX_LIBRARY = "libc++";
 				CLANG_CXX_LIBRARY = "libc++";
 				CLANG_ENABLE_MODULES = YES;
 				CLANG_ENABLE_MODULES = YES;
@@ -898,6 +949,7 @@
 				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
 				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
 				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
 				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
 				COPY_PHASE_STRIP = NO;
 				COPY_PHASE_STRIP = NO;
+				ENABLE_BITCODE = NO;
 				ENABLE_STRICT_OBJC_MSGSEND = YES;
 				ENABLE_STRICT_OBJC_MSGSEND = YES;
 				ENABLE_TESTABILITY = YES;
 				ENABLE_TESTABILITY = YES;
 				GCC_C_LANGUAGE_STANDARD = gnu99;
 				GCC_C_LANGUAGE_STANDARD = gnu99;
@@ -916,6 +968,12 @@
 				GCC_WARN_UNUSED_FUNCTION = YES;
 				GCC_WARN_UNUSED_FUNCTION = YES;
 				GCC_WARN_UNUSED_VARIABLE = YES;
 				GCC_WARN_UNUSED_VARIABLE = YES;
 				IPHONEOS_DEPLOYMENT_TARGET = 9.0;
 				IPHONEOS_DEPLOYMENT_TARGET = 9.0;
+				LD_RUNPATH_SEARCH_PATHS = "/usr/lib/swift $(inherited)";
+				LIBRARY_SEARCH_PATHS = (
+					"\"$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)\"",
+					"\"$(TOOLCHAIN_DIR)/usr/lib/swift-5.0/$(PLATFORM_NAME)\"",
+					"\"$(inherited)\"",
+				);
 				MTL_ENABLE_DEBUG_INFO = YES;
 				MTL_ENABLE_DEBUG_INFO = YES;
 				ONLY_ACTIVE_ARCH = YES;
 				ONLY_ACTIVE_ARCH = YES;
 				SDKROOT = iphoneos;
 				SDKROOT = iphoneos;
@@ -926,6 +984,7 @@
 			isa = XCBuildConfiguration;
 			isa = XCBuildConfiguration;
 			buildSettings = {
 			buildSettings = {
 				ALWAYS_SEARCH_USER_PATHS = NO;
 				ALWAYS_SEARCH_USER_PATHS = NO;
+				CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
 				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
 				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
 				CLANG_CXX_LIBRARY = "libc++";
 				CLANG_CXX_LIBRARY = "libc++";
 				CLANG_ENABLE_MODULES = YES;
 				CLANG_ENABLE_MODULES = YES;
@@ -951,6 +1010,7 @@
 				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
 				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
 				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
 				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
 				COPY_PHASE_STRIP = YES;
 				COPY_PHASE_STRIP = YES;
+				ENABLE_BITCODE = NO;
 				ENABLE_NS_ASSERTIONS = NO;
 				ENABLE_NS_ASSERTIONS = NO;
 				ENABLE_STRICT_OBJC_MSGSEND = YES;
 				ENABLE_STRICT_OBJC_MSGSEND = YES;
 				GCC_C_LANGUAGE_STANDARD = gnu99;
 				GCC_C_LANGUAGE_STANDARD = gnu99;
@@ -962,6 +1022,12 @@
 				GCC_WARN_UNUSED_FUNCTION = YES;
 				GCC_WARN_UNUSED_FUNCTION = YES;
 				GCC_WARN_UNUSED_VARIABLE = YES;
 				GCC_WARN_UNUSED_VARIABLE = YES;
 				IPHONEOS_DEPLOYMENT_TARGET = 9.0;
 				IPHONEOS_DEPLOYMENT_TARGET = 9.0;
+				LD_RUNPATH_SEARCH_PATHS = "/usr/lib/swift $(inherited)";
+				LIBRARY_SEARCH_PATHS = (
+					"\"$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)\"",
+					"\"$(TOOLCHAIN_DIR)/usr/lib/swift-5.0/$(PLATFORM_NAME)\"",
+					"\"$(inherited)\"",
+				);
 				MTL_ENABLE_DEBUG_INFO = NO;
 				MTL_ENABLE_DEBUG_INFO = NO;
 				SDKROOT = iphoneos;
 				SDKROOT = iphoneos;
 				VALIDATE_PRODUCT = YES;
 				VALIDATE_PRODUCT = YES;

+ 2 - 43
ios/una.xcodeproj/xcshareddata/xcschemes/una-tvOS.xcscheme

@@ -1,25 +1,11 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
 <Scheme
-   LastUpgradeVersion = "0940"
+   LastUpgradeVersion = "1130"
    version = "1.3">
    version = "1.3">
    <BuildAction
    <BuildAction
-      parallelizeBuildables = "NO"
+      parallelizeBuildables = "YES"
       buildImplicitDependencies = "YES">
       buildImplicitDependencies = "YES">
       <BuildActionEntries>
       <BuildActionEntries>
-         <BuildActionEntry
-            buildForTesting = "YES"
-            buildForRunning = "YES"
-            buildForProfiling = "YES"
-            buildForArchiving = "YES"
-            buildForAnalyzing = "YES">
-            <BuildableReference
-               BuildableIdentifier = "primary"
-               BlueprintIdentifier = "2D2A28121D9B038B00D4039D"
-               BuildableName = "libReact.a"
-               BlueprintName = "React-tvOS"
-               ReferencedContainer = "container:../node_modules/react-native/React/React.xcodeproj">
-            </BuildableReference>
-         </BuildActionEntry>
          <BuildActionEntry
          <BuildActionEntry
             buildForTesting = "YES"
             buildForTesting = "YES"
             buildForRunning = "YES"
             buildForRunning = "YES"
@@ -34,20 +20,6 @@
                ReferencedContainer = "container:una.xcodeproj">
                ReferencedContainer = "container:una.xcodeproj">
             </BuildableReference>
             </BuildableReference>
          </BuildActionEntry>
          </BuildActionEntry>
-         <BuildActionEntry
-            buildForTesting = "YES"
-            buildForRunning = "YES"
-            buildForProfiling = "NO"
-            buildForArchiving = "NO"
-            buildForAnalyzing = "YES">
-            <BuildableReference
-               BuildableIdentifier = "primary"
-               BlueprintIdentifier = "2D02E48F1E0B4A5D006451C7"
-               BuildableName = "una-tvOSTests.xctest"
-               BlueprintName = "una-tvOSTests"
-               ReferencedContainer = "container:una.xcodeproj">
-            </BuildableReference>
-         </BuildActionEntry>
       </BuildActionEntries>
       </BuildActionEntries>
    </BuildAction>
    </BuildAction>
    <TestAction
    <TestAction
@@ -67,17 +39,6 @@
             </BuildableReference>
             </BuildableReference>
          </TestableReference>
          </TestableReference>
       </Testables>
       </Testables>
-      <MacroExpansion>
-         <BuildableReference
-            BuildableIdentifier = "primary"
-            BlueprintIdentifier = "2D02E47A1E0B4A5D006451C7"
-            BuildableName = "una-tvOS.app"
-            BlueprintName = "una-tvOS"
-            ReferencedContainer = "container:una.xcodeproj">
-         </BuildableReference>
-      </MacroExpansion>
-      <AdditionalOptions>
-      </AdditionalOptions>
    </TestAction>
    </TestAction>
    <LaunchAction
    <LaunchAction
       buildConfiguration = "Debug"
       buildConfiguration = "Debug"
@@ -99,8 +60,6 @@
             ReferencedContainer = "container:una.xcodeproj">
             ReferencedContainer = "container:una.xcodeproj">
          </BuildableReference>
          </BuildableReference>
       </BuildableProductRunnable>
       </BuildableProductRunnable>
-      <AdditionalOptions>
-      </AdditionalOptions>
    </LaunchAction>
    </LaunchAction>
    <ProfileAction
    <ProfileAction
       buildConfiguration = "Release"
       buildConfiguration = "Release"

+ 2 - 43
ios/una.xcodeproj/xcshareddata/xcschemes/una.xcscheme

@@ -1,25 +1,11 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
 <Scheme
-   LastUpgradeVersion = "0940"
+   LastUpgradeVersion = "1130"
    version = "1.3">
    version = "1.3">
    <BuildAction
    <BuildAction
-      parallelizeBuildables = "NO"
+      parallelizeBuildables = "YES"
       buildImplicitDependencies = "YES">
       buildImplicitDependencies = "YES">
       <BuildActionEntries>
       <BuildActionEntries>
-         <BuildActionEntry
-            buildForTesting = "YES"
-            buildForRunning = "YES"
-            buildForProfiling = "YES"
-            buildForArchiving = "YES"
-            buildForAnalyzing = "YES">
-            <BuildableReference
-               BuildableIdentifier = "primary"
-               BlueprintIdentifier = "83CBBA2D1A601D0E00E9B192"
-               BuildableName = "libReact.a"
-               BlueprintName = "React"
-               ReferencedContainer = "container:../node_modules/react-native/React/React.xcodeproj">
-            </BuildableReference>
-         </BuildActionEntry>
          <BuildActionEntry
          <BuildActionEntry
             buildForTesting = "YES"
             buildForTesting = "YES"
             buildForRunning = "YES"
             buildForRunning = "YES"
@@ -34,20 +20,6 @@
                ReferencedContainer = "container:una.xcodeproj">
                ReferencedContainer = "container:una.xcodeproj">
             </BuildableReference>
             </BuildableReference>
          </BuildActionEntry>
          </BuildActionEntry>
-         <BuildActionEntry
-            buildForTesting = "YES"
-            buildForRunning = "YES"
-            buildForProfiling = "NO"
-            buildForArchiving = "NO"
-            buildForAnalyzing = "YES">
-            <BuildableReference
-               BuildableIdentifier = "primary"
-               BlueprintIdentifier = "00E356ED1AD99517003FC87E"
-               BuildableName = "unaTests.xctest"
-               BlueprintName = "unaTests"
-               ReferencedContainer = "container:una.xcodeproj">
-            </BuildableReference>
-         </BuildActionEntry>
       </BuildActionEntries>
       </BuildActionEntries>
    </BuildAction>
    </BuildAction>
    <TestAction
    <TestAction
@@ -67,17 +39,6 @@
             </BuildableReference>
             </BuildableReference>
          </TestableReference>
          </TestableReference>
       </Testables>
       </Testables>
-      <MacroExpansion>
-         <BuildableReference
-            BuildableIdentifier = "primary"
-            BlueprintIdentifier = "13B07F861A680F5B00A75B9A"
-            BuildableName = "una.app"
-            BlueprintName = "una"
-            ReferencedContainer = "container:una.xcodeproj">
-         </BuildableReference>
-      </MacroExpansion>
-      <AdditionalOptions>
-      </AdditionalOptions>
    </TestAction>
    </TestAction>
    <LaunchAction
    <LaunchAction
       buildConfiguration = "Debug"
       buildConfiguration = "Debug"
@@ -99,8 +60,6 @@
             ReferencedContainer = "container:una.xcodeproj">
             ReferencedContainer = "container:una.xcodeproj">
          </BuildableReference>
          </BuildableReference>
       </BuildableProductRunnable>
       </BuildableProductRunnable>
-      <AdditionalOptions>
-      </AdditionalOptions>
    </LaunchAction>
    </LaunchAction>
    <ProfileAction
    <ProfileAction
       buildConfiguration = "Release"
       buildConfiguration = "Release"

+ 0 - 7
ios/una/AppDelegate.h

@@ -1,10 +1,3 @@
-/**
- * Copyright (c) Facebook, Inc. and its affiliates.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- */
-
 #import <React/RCTBridgeDelegate.h>
 #import <React/RCTBridgeDelegate.h>
 #import <UIKit/UIKit.h>
 #import <UIKit/UIKit.h>
 
 

+ 23 - 9
ios/una/AppDelegate.m

@@ -1,21 +1,36 @@
-/**
- * Copyright (c) Facebook, Inc. and its affiliates.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- */
-
-#import "RNSplashScreen.h"
 #import "AppDelegate.h"
 #import "AppDelegate.h"
 
 
 #import <React/RCTBridge.h>
 #import <React/RCTBridge.h>
 #import <React/RCTBundleURLProvider.h>
 #import <React/RCTBundleURLProvider.h>
 #import <React/RCTRootView.h>
 #import <React/RCTRootView.h>
 
 
+#if DEBUG
+#import <FlipperKit/FlipperClient.h>
+#import <FlipperKitLayoutPlugin/FlipperKitLayoutPlugin.h>
+#import <FlipperKitUserDefaultsPlugin/FKUserDefaultsPlugin.h>
+#import <FlipperKitNetworkPlugin/FlipperKitNetworkPlugin.h>
+#import <SKIOSNetworkPlugin/SKIOSNetworkAdapter.h>
+#import <FlipperKitReactPlugin/FlipperKitReactPlugin.h>
+
+static void InitializeFlipper(UIApplication *application) {
+  FlipperClient *client = [FlipperClient sharedClient];
+  SKDescriptorMapper *layoutDescriptorMapper = [[SKDescriptorMapper alloc] initWithDefaults];
+  [client addPlugin:[[FlipperKitLayoutPlugin alloc] initWithRootNode:application withDescriptorMapper:layoutDescriptorMapper]];
+  [client addPlugin:[[FKUserDefaultsPlugin alloc] initWithSuiteName:nil]];
+  [client addPlugin:[FlipperKitReactPlugin new]];
+  [client addPlugin:[[FlipperKitNetworkPlugin alloc] initWithNetworkAdapter:[SKIOSNetworkAdapter new]]];
+  [client start];
+}
+#endif
+
 @implementation AppDelegate
 @implementation AppDelegate
 
 
 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
 {
 {
+#if DEBUG
+  InitializeFlipper(application);
+#endif
+
   RCTBridge *bridge = [[RCTBridge alloc] initWithDelegate:self launchOptions:launchOptions];
   RCTBridge *bridge = [[RCTBridge alloc] initWithDelegate:self launchOptions:launchOptions];
   RCTRootView *rootView = [[RCTRootView alloc] initWithBridge:bridge
   RCTRootView *rootView = [[RCTRootView alloc] initWithBridge:bridge
                                                    moduleName:@"una"
                                                    moduleName:@"una"
@@ -28,7 +43,6 @@
   rootViewController.view = rootView;
   rootViewController.view = rootView;
   self.window.rootViewController = rootViewController;
   self.window.rootViewController = rootViewController;
   [self.window makeKeyAndVisible];
   [self.window makeKeyAndVisible];
-  [RNSplashScreen show];
   return YES;
   return YES;
 }
 }
 
 

+ 26 - 12
ios/una/Base.lproj/LaunchScreen.xib

@@ -1,29 +1,43 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="14490.70" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" colorMatched="YES">
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="16096" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" colorMatched="YES">
+    <device id="retina6_1" orientation="portrait" appearance="light"/>
     <dependencies>
     <dependencies>
         <deployment identifier="iOS"/>
         <deployment identifier="iOS"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14490.49"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="16086"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
     </dependencies>
     </dependencies>
     <objects>
     <objects>
         <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
         <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
         <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
         <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
         <view contentMode="scaleToFill" id="iN0-l3-epB">
         <view contentMode="scaleToFill" id="iN0-l3-epB">
+            <rect key="frame" x="0.0" y="0.0" width="480" height="480"/>
             <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
             <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
             <subviews>
             <subviews>
-                <imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="SplashImage" translatesAutoresizingMaskIntoConstraints="NO" id="mLz-pt-VGN">
-                </imageView>
+                <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" misplaced="YES" text="Powered by React Native" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumFontSize="9" translatesAutoresizingMaskIntoConstraints="NO" id="8ie-xW-0ye">
+                    <rect key="frame" x="20" y="439" width="441" height="21"/>
+                    <fontDescription key="fontDescription" type="system" pointSize="17"/>
+                    <color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
+                    <nil key="highlightedColor"/>
+                </label>
+                <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" misplaced="YES" text="una" textAlignment="center" lineBreakMode="middleTruncation" baselineAdjustment="alignBaselines" minimumFontSize="18" translatesAutoresizingMaskIntoConstraints="NO" id="kId-c2-rCX">
+                    <rect key="frame" x="20" y="140" width="441" height="43"/>
+                    <fontDescription key="fontDescription" type="boldSystem" pointSize="36"/>
+                    <color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
+                    <nil key="highlightedColor"/>
+                </label>
             </subviews>
             </subviews>
-            <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
+            <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
             <constraints>
             <constraints>
-                <constraint firstAttribute="bottom" secondItem="mLz-pt-VGN" secondAttribute="bottom" constant="0" id="KJO-J3-fkg"/>
-                <constraint firstAttribute="trailing" secondItem="mLz-pt-VGN" secondAttribute="trailing" constant="0" id="eqZ-Y5-FHH"/>
-                <constraint firstItem="mLz-pt-VGN" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" constant="0" id="hVh-5q-gdE"/>
-                <constraint firstItem="mLz-pt-VGN" firstAttribute="top" secondItem="iN0-l3-epB" secondAttribute="top" constant="0" id="ofG-hz-s61"/>
+                <constraint firstItem="kId-c2-rCX" firstAttribute="centerY" secondItem="iN0-l3-epB" secondAttribute="bottom" multiplier="1/3" constant="1" id="5cJ-9S-tgC"/>
+                <constraint firstAttribute="centerX" secondItem="kId-c2-rCX" secondAttribute="centerX" id="Koa-jz-hwk"/>
+                <constraint firstAttribute="bottom" secondItem="8ie-xW-0ye" secondAttribute="bottom" constant="20" id="Kzo-t9-V3l"/>
+                <constraint firstItem="8ie-xW-0ye" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" constant="20" symbolic="YES" id="MfP-vx-nX0"/>
+                <constraint firstAttribute="centerX" secondItem="8ie-xW-0ye" secondAttribute="centerX" id="ZEH-qu-HZ9"/>
+                <constraint firstItem="kId-c2-rCX" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" constant="20" symbolic="YES" id="fvb-Df-36g"/>
             </constraints>
             </constraints>
+            <nil key="simulatedStatusBarMetrics"/>
+            <freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/>
+            <point key="canvasLocation" x="548" y="455"/>
         </view>
         </view>
     </objects>
     </objects>
-    <resources>
-        <image name="SplashImage"/>
-    </resources>
 </document>
 </document>

+ 104 - 104
ios/una/Images.xcassets/AppIcon.appiconset/Contents.json

@@ -1,158 +1,158 @@
 {
 {
-  "images": [
+  "images" : [
     {
     {
-      "size": "20x20",
-      "idiom": "iphone",
-      "filename": "icon-20@2x.png",
-      "scale": "2x"
+      "size" : "20x20",
+      "idiom" : "iphone",
+      "filename" : "icon-20@2x.png",
+      "scale" : "2x"
     },
     },
     {
     {
-      "size": "20x20",
-      "idiom": "iphone",
-      "filename": "icon-20@3x.png",
-      "scale": "3x"
+      "size" : "20x20",
+      "idiom" : "iphone",
+      "filename" : "icon-20@3x.png",
+      "scale" : "3x"
     },
     },
     {
     {
-      "size": "29x29",
-      "idiom": "iphone",
-      "filename": "icon-29@1x.png",
-      "scale": "1x"
+      "size" : "29x29",
+      "idiom" : "iphone",
+      "filename" : "icon-29@1x.png",
+      "scale" : "1x"
     },
     },
     {
     {
-      "size": "29x29",
-      "idiom": "iphone",
-      "filename": "icon-29@2x.png",
-      "scale": "2x"
+      "size" : "29x29",
+      "idiom" : "iphone",
+      "filename" : "icon-29@2x.png",
+      "scale" : "2x"
     },
     },
     {
     {
-      "size": "29x29",
-      "idiom": "iphone",
-      "filename": "icon-29@3x.png",
-      "scale": "3x"
+      "size" : "29x29",
+      "idiom" : "iphone",
+      "filename" : "icon-29@3x.png",
+      "scale" : "3x"
     },
     },
     {
     {
-      "size": "40x40",
-      "idiom": "iphone",
-      "filename": "icon-40@2x.png",
-      "scale": "2x"
+      "size" : "40x40",
+      "idiom" : "iphone",
+      "filename" : "icon-40@2x.png",
+      "scale" : "2x"
     },
     },
     {
     {
-      "size": "40x40",
-      "idiom": "iphone",
-      "filename": "icon-40@3x.png",
-      "scale": "3x"
+      "size" : "40x40",
+      "idiom" : "iphone",
+      "filename" : "icon-40@3x.png",
+      "scale" : "3x"
     },
     },
     {
     {
-      "size": "57x57",
-      "idiom": "iphone",
-      "filename": "icon-57@1x.png",
-      "scale": "1x"
+      "size" : "57x57",
+      "idiom" : "iphone",
+      "filename" : "icon-57@1x.png",
+      "scale" : "1x"
     },
     },
     {
     {
-      "size": "57x57",
-      "idiom": "iphone",
-      "filename": "icon-57@2x.png",
-      "scale": "2x"
+      "size" : "57x57",
+      "idiom" : "iphone",
+      "filename" : "icon-57@2x.png",
+      "scale" : "2x"
     },
     },
     {
     {
-      "size": "60x60",
-      "idiom": "iphone",
-      "filename": "icon-60@2x.png",
-      "scale": "2x"
+      "size" : "60x60",
+      "idiom" : "iphone",
+      "filename" : "icon-60@2x.png",
+      "scale" : "2x"
     },
     },
     {
     {
-      "size": "60x60",
-      "idiom": "iphone",
-      "filename": "icon-60@3x.png",
-      "scale": "3x"
+      "size" : "60x60",
+      "idiom" : "iphone",
+      "filename" : "icon-60@3x.png",
+      "scale" : "3x"
     },
     },
     {
     {
-      "size": "20x20",
-      "idiom": "ipad",
-      "filename": "icon-20@1x.png",
-      "scale": "1x"
+      "size" : "20x20",
+      "idiom" : "ipad",
+      "filename" : "icon-20@1x.png",
+      "scale" : "1x"
     },
     },
     {
     {
-      "size": "20x20",
-      "idiom": "ipad",
-      "filename": "icon-20@2x.png",
-      "scale": "2x"
+      "size" : "20x20",
+      "idiom" : "ipad",
+      "filename" : "icon-20@2x.png",
+      "scale" : "2x"
     },
     },
     {
     {
-      "size": "29x29",
-      "idiom": "ipad",
-      "filename": "icon-29@1x.png",
-      "scale": "1x"
+      "size" : "29x29",
+      "idiom" : "ipad",
+      "filename" : "icon-29@1x.png",
+      "scale" : "1x"
     },
     },
     {
     {
-      "size": "29x29",
-      "idiom": "ipad",
-      "filename": "icon-29@2x.png",
-      "scale": "2x"
+      "size" : "29x29",
+      "idiom" : "ipad",
+      "filename" : "icon-29@2x.png",
+      "scale" : "2x"
     },
     },
     {
     {
-      "size": "40x40",
-      "idiom": "ipad",
-      "filename": "icon-40@1x.png",
-      "scale": "1x"
+      "size" : "40x40",
+      "idiom" : "ipad",
+      "filename" : "icon-40@1x.png",
+      "scale" : "1x"
     },
     },
     {
     {
-      "size": "40x40",
-      "idiom": "ipad",
-      "filename": "icon-40@2x.png",
-      "scale": "2x"
+      "size" : "40x40",
+      "idiom" : "ipad",
+      "filename" : "icon-40@2x.png",
+      "scale" : "2x"
     },
     },
     {
     {
-      "size": "50x50",
-      "idiom": "ipad",
-      "filename": "icon-50@1x.png",
-      "scale": "1x"
+      "size" : "50x50",
+      "idiom" : "ipad",
+      "filename" : "icon-50@1x.png",
+      "scale" : "1x"
     },
     },
     {
     {
-      "size": "50x50",
-      "idiom": "ipad",
-      "filename": "icon-50@2x.png",
-      "scale": "2x"
+      "size" : "50x50",
+      "idiom" : "ipad",
+      "filename" : "icon-50@2x.png",
+      "scale" : "2x"
     },
     },
     {
     {
-      "size": "72x72",
-      "idiom": "ipad",
-      "filename": "icon-72@1x.png",
-      "scale": "1x"
+      "size" : "72x72",
+      "idiom" : "ipad",
+      "filename" : "icon-72@1x.png",
+      "scale" : "1x"
     },
     },
     {
     {
-      "size": "72x72",
-      "idiom": "ipad",
-      "filename": "icon-72@2x.png",
-      "scale": "2x"
+      "size" : "72x72",
+      "idiom" : "ipad",
+      "filename" : "icon-72@2x.png",
+      "scale" : "2x"
     },
     },
     {
     {
-      "size": "76x76",
-      "idiom": "ipad",
-      "filename": "icon-76@1x.png",
-      "scale": "1x"
+      "size" : "76x76",
+      "idiom" : "ipad",
+      "filename" : "icon-76@1x.png",
+      "scale" : "1x"
     },
     },
     {
     {
-      "size": "76x76",
-      "idiom": "ipad",
-      "filename": "icon-76@2x.png",
-      "scale": "2x"
+      "size" : "76x76",
+      "idiom" : "ipad",
+      "filename" : "icon-76@2x.png",
+      "scale" : "2x"
     },
     },
     {
     {
-      "size": "83.5x83.5",
-      "idiom": "ipad",
-      "filename": "icon-83.5@2x.png",
-      "scale": "2x"
+      "size" : "83.5x83.5",
+      "idiom" : "ipad",
+      "filename" : "icon-83.5@2x.png",
+      "scale" : "2x"
     },
     },
     {
     {
-      "size": "1024x1024",
-      "idiom": "ios-marketing",
-      "filename": "icon-1024@1x.png",
-      "scale": "1x"
+      "size" : "1024x1024",
+      "idiom" : "ios-marketing",
+      "filename" : "icon-1024@1x.png",
+      "scale" : "1x"
     }
     }
   ],
   ],
-  "info": {
-    "version": 1,
-    "author": "xcode"
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
   }
   }
 }
 }

BIN
ios/una/Images.xcassets/AppIcon.appiconset/icon-1024@1x.png


BIN
ios/una/Images.xcassets/AppIcon.appiconset/icon-20@1x.png


BIN
ios/una/Images.xcassets/AppIcon.appiconset/icon-20@2x.png


BIN
ios/una/Images.xcassets/AppIcon.appiconset/icon-20@3x.png


BIN
ios/una/Images.xcassets/AppIcon.appiconset/icon-29@1x.png


BIN
ios/una/Images.xcassets/AppIcon.appiconset/icon-29@2x.png


BIN
ios/una/Images.xcassets/AppIcon.appiconset/icon-29@3x.png


BIN
ios/una/Images.xcassets/AppIcon.appiconset/icon-40@1x.png


BIN
ios/una/Images.xcassets/AppIcon.appiconset/icon-40@2x.png


BIN
ios/una/Images.xcassets/AppIcon.appiconset/icon-40@3x.png


BIN
ios/una/Images.xcassets/AppIcon.appiconset/icon-50@1x.png


BIN
ios/una/Images.xcassets/AppIcon.appiconset/icon-50@2x.png


BIN
ios/una/Images.xcassets/AppIcon.appiconset/icon-57@1x.png


BIN
ios/una/Images.xcassets/AppIcon.appiconset/icon-57@2x.png


BIN
ios/una/Images.xcassets/AppIcon.appiconset/icon-60@2x.png


BIN
ios/una/Images.xcassets/AppIcon.appiconset/icon-60@3x.png


BIN
ios/una/Images.xcassets/AppIcon.appiconset/icon-72@1x.png


BIN
ios/una/Images.xcassets/AppIcon.appiconset/icon-72@2x.png


BIN
ios/una/Images.xcassets/AppIcon.appiconset/icon-76@1x.png


BIN
ios/una/Images.xcassets/AppIcon.appiconset/icon-76@2x.png


BIN
ios/una/Images.xcassets/AppIcon.appiconset/icon-83.5@2x.png


+ 1 - 1
ios/una/Images.xcassets/Contents.json

@@ -3,4 +3,4 @@
     "version" : 1,
     "version" : 1,
     "author" : "xcode"
     "author" : "xcode"
   }
   }
-}
+}

+ 135 - 0
ios/una/Images.xcassets/LaunchImage.launchimage/Contents.json

@@ -0,0 +1,135 @@
+{
+  "images" : [
+    {
+      "orientation": "portrait",
+      "idiom": "iphone",
+      "extent": "full-screen",
+      "minimum-system-version": "11.0",
+      "filename": "Default-Portrait-812h@3x.png",
+      "subtype": "2436h",
+      "scale": "3x"
+    },
+    {
+      "orientation": "landscape",
+      "idiom": "iphone",
+      "extent": "full-screen",
+      "filename": "Default-Landscape-812h@3x.png",
+      "minimum-system-version": "11.0",
+      "subtype": "2436h",
+      "scale": "3x"
+    },
+    {
+      "extent" : "full-screen",
+      "idiom" : "iphone",
+      "subtype" : "736h",
+      "filename" : "Default-Portrait-736h@3x.png",
+      "minimum-system-version" : "8.0",
+      "orientation" : "portrait",
+      "scale" : "3x"
+    },
+    {
+      "extent" : "full-screen",
+      "idiom" : "iphone",
+      "subtype" : "736h",
+      "filename" : "Default-Landscape-736h@3x.png",
+      "minimum-system-version" : "8.0",
+      "orientation" : "landscape",
+      "scale" : "3x"
+    },
+    {
+      "extent" : "full-screen",
+      "idiom" : "iphone",
+      "subtype" : "667h",
+      "filename" : "Default-667h@2x.png",
+      "minimum-system-version" : "8.0",
+      "orientation" : "portrait",
+      "scale" : "2x"
+    },
+    {
+      "orientation" : "portrait",
+      "idiom" : "iphone",
+      "filename" : "Default@2x.png",
+      "extent" : "full-screen",
+      "minimum-system-version" : "7.0",
+      "scale" : "2x"
+    },
+    {
+      "extent" : "full-screen",
+      "idiom" : "iphone",
+      "subtype" : "retina4",
+      "filename" : "Default-568h@2x.png",
+      "minimum-system-version" : "7.0",
+      "orientation" : "portrait",
+      "scale" : "2x"
+    },
+    {
+      "orientation" : "landscape",
+      "idiom" : "ipad",
+      "filename" : "Default-Landscape.png",
+      "extent" : "full-screen",
+      "minimum-system-version" : "7.0",
+      "scale" : "1x"
+    },
+    {
+      "orientation" : "landscape",
+      "idiom" : "ipad",
+      "filename" : "Default-Landscape@2x.png",
+      "extent" : "full-screen",
+      "minimum-system-version" : "7.0",
+      "scale" : "2x"
+    },
+    {
+      "orientation" : "portrait",
+      "idiom" : "iphone",
+      "extent" : "full-screen",
+      "scale" : "1x"
+    },
+    {
+      "orientation" : "portrait",
+      "idiom" : "iphone",
+      "extent" : "full-screen",
+      "scale" : "2x"
+    },
+    {
+      "orientation" : "portrait",
+      "idiom" : "iphone",
+      "extent" : "full-screen",
+      "subtype" : "retina4",
+      "scale" : "2x"
+    },
+    {
+      "orientation" : "portrait",
+      "idiom" : "ipad",
+      "filename" : "Default-Portrait.png",
+      "extent" : "full-screen",
+      "scale" : "1x"
+    },
+    {
+      "orientation" : "portrait",
+      "idiom" : "ipad",
+      "filename" : "Default-Portrait@2x.png",
+      "extent" : "full-screen",
+      "scale" : "2x"
+    },
+    {
+      "orientation" : "portrait",
+      "idiom" : "ipad",
+      "filename" : "Default-Portrait.png",
+      "extent" : "full-screen",
+      "minimum-system-version" : "7.0",
+      "scale" : "1x"
+    },
+    {
+      "orientation" : "portrait",
+      "idiom" : "ipad",
+      "filename" : "Default-Portrait@2x.png",
+      "extent" : "full-screen",
+      "minimum-system-version" : "7.0",
+      "scale" : "2x"
+    },
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN
ios/una/Images.xcassets/LaunchImage.launchimage/Default-568h@2x.png


BIN
ios/una/Images.xcassets/LaunchImage.launchimage/Default-667h@2x.png


BIN
ios/una/Images.xcassets/LaunchImage.launchimage/Default-Landscape-736h@3x.png


BIN
ios/una/Images.xcassets/LaunchImage.launchimage/Default-Landscape-812h@3x.png


BIN
ios/una/Images.xcassets/LaunchImage.launchimage/Default-Landscape.png


BIN
ios/una/Images.xcassets/LaunchImage.launchimage/Default-Landscape@2x.png


BIN
ios/una/Images.xcassets/LaunchImage.launchimage/Default-Portrait-736h@3x.png


BIN
ios/una/Images.xcassets/LaunchImage.launchimage/Default-Portrait-812h@3x.png


BIN
ios/una/Images.xcassets/LaunchImage.launchimage/Default-Portrait.png


BIN
ios/una/Images.xcassets/LaunchImage.launchimage/Default-Portrait@2x.png


BIN
ios/una/Images.xcassets/LaunchImage.launchimage/Default@2x.png


+ 0 - 23
ios/una/Images.xcassets/SplashImage.imageset/Contents.json

@@ -1,23 +0,0 @@
-{
-  "images" : [
-    {
-      "idiom" : "universal",
-      "filename" : "splash@1x.png",
-      "scale" : "1x"
-    },
-    {
-      "idiom" : "universal",
-      "filename" : "splash@2x.png",
-      "scale" : "2x"
-    },
-    {
-      "idiom" : "universal",
-      "filename" : "splash@3x.png",
-      "scale" : "3x"
-    }
-  ],
-  "info" : {
-    "version" : 1,
-    "author" : "xcode"
-  }
-}

BIN
ios/una/Images.xcassets/SplashImage.imageset/splash@1x.png


BIN
ios/una/Images.xcassets/SplashImage.imageset/splash@2x.png


BIN
ios/una/Images.xcassets/SplashImage.imageset/splash@3x.png


+ 8 - 5
ios/una/Info.plist

@@ -37,14 +37,16 @@
 			</dict>
 			</dict>
 		</dict>
 		</dict>
 	</dict>
 	</dict>
+	<key>NSCalendarsUsageDescription</key>
+	<string>Video chat</string>
 	<key>NSCameraUsageDescription</key>
 	<key>NSCameraUsageDescription</key>
-	<string>$(PRODUCT_NAME) would like to take picture to publish it on the site</string>
+	<string>$(PRODUCT_NAME) would like to take picture to publish it on the site or use for video chat</string>
 	<key>NSLocationAlwaysUsageDescription</key>
 	<key>NSLocationAlwaysUsageDescription</key>
 	<string>This shouldn't happen in this app</string>
 	<string>This shouldn't happen in this app</string>
 	<key>NSLocationWhenInUseUsageDescription</key>
 	<key>NSLocationWhenInUseUsageDescription</key>
 	<string>Make a post with your current location or save profile location</string>
 	<string>Make a post with your current location or save profile location</string>
 	<key>NSMicrophoneUsageDescription</key>
 	<key>NSMicrophoneUsageDescription</key>
-	<string>$(PRODUCT_NAME) would like to record video to publish it on the site</string>
+	<string>$(PRODUCT_NAME) would like to record video to publish it on the site or use it for video/audio chat</string>
 	<key>NSPhotoLibraryAddUsageDescription</key>
 	<key>NSPhotoLibraryAddUsageDescription</key>
 	<string>$(PRODUCT_NAME) would like to save photos to your photo gallery</string>
 	<string>$(PRODUCT_NAME) would like to save photos to your photo gallery</string>
 	<key>OneSignal_disable_badge_clearing</key>
 	<key>OneSignal_disable_badge_clearing</key>
@@ -71,8 +73,10 @@
 		<string>SimpleLineIcons.ttf</string>
 		<string>SimpleLineIcons.ttf</string>
 		<string>Zocial.ttf</string>
 		<string>Zocial.ttf</string>
 	</array>
 	</array>
-	<key>UILaunchStoryboardName</key>
-	<string>LaunchScreen</string>
+	<key>UIBackgroundModes</key>
+	<array>
+		<string>voip</string>
+	</array>
 	<key>UIRequiredDeviceCapabilities</key>
 	<key>UIRequiredDeviceCapabilities</key>
 	<array>
 	<array>
 		<string>armv7</string>
 		<string>armv7</string>
@@ -82,7 +86,6 @@
 		<string>UIInterfaceOrientationPortrait</string>
 		<string>UIInterfaceOrientationPortrait</string>
 		<string>UIInterfaceOrientationLandscapeLeft</string>
 		<string>UIInterfaceOrientationLandscapeLeft</string>
 		<string>UIInterfaceOrientationLandscapeRight</string>
 		<string>UIInterfaceOrientationLandscapeRight</string>
-		<string>UIInterfaceOrientationPortraitUpsideDown</string>
 	</array>
 	</array>
 	<key>UIViewControllerBasedStatusBarAppearance</key>
 	<key>UIViewControllerBasedStatusBarAppearance</key>
 	<false/>
 	<false/>

+ 0 - 7
ios/una/main.m

@@ -1,10 +1,3 @@
-/**
- * Copyright (c) Facebook, Inc. and its affiliates.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- */
-
 #import <UIKit/UIKit.h>
 #import <UIKit/UIKit.h>
 
 
 #import "AppDelegate.h"
 #import "AppDelegate.h"

+ 1 - 8
ios/unaTests/unaTests.m

@@ -1,10 +1,3 @@
-/**
- * Copyright (c) Facebook, Inc. and its affiliates.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- */
-
 #import <UIKit/UIKit.h>
 #import <UIKit/UIKit.h>
 #import <XCTest/XCTest.h>
 #import <XCTest/XCTest.h>
 
 
@@ -59,7 +52,7 @@
       return NO;
       return NO;
     }];
     }];
   }
   }
-  
+
 #ifdef DEBUG
 #ifdef DEBUG
   RCTSetLogFunction(RCTDefaultLogFunction);
   RCTSetLogFunction(RCTDefaultLogFunction);
 #endif
 #endif

+ 8 - 0
metro.config.js

@@ -5,6 +5,8 @@
  * @format
  * @format
  */
  */
 
 
+const blacklist = require('metro-config/src/defaults/blacklist');
+
 module.exports = {
 module.exports = {
   transformer: {
   transformer: {
     getTransformOptions: async () => ({
     getTransformOptions: async () => ({
@@ -14,4 +16,10 @@ module.exports = {
       },
       },
     }),
     }),
   },
   },
+  resolver: {
+    blacklistRE: blacklist([
+      /ios\/Pods\/JitsiMeetSDK\/Frameworks\/JitsiMeet.framework\/assets\/node_modules\/react-native\/.*/,
+    ]),
+  },
 };
 };
+

File diff suppressed because it is too large
+ 398 - 843
package-lock.json


+ 13 - 13
package.json

@@ -1,6 +1,6 @@
 {
 {
   "name": "UNA",
   "name": "UNA",
-  "version": "1.3.3",
+  "version": "1.4.0",
   "private": true,
   "private": true,
   "scripts": {
   "scripts": {
     "android": "react-native run-android",
     "android": "react-native run-android",
@@ -10,24 +10,24 @@
     "lint": "eslint ."
     "lint": "eslint ."
   },
   },
   "dependencies": {
   "dependencies": {
-    "@react-native-community/cli-platform-android": "^2.9.0",
-    "native-base": "^2.13.8",
-    "react": "16.9.0",
-    "react-native": "0.61.2",
-    "react-native-onesignal": "^3.6.1",
+    "native-base": "^2.13.12",
+    "react": "16.11.0",
+    "react-native": "0.62.1",
+    "react-native-jitsi-meet": "^2.1.1",
+    "react-native-onesignal": "^3.7.1",
     "react-native-splash-screen": "^3.2.0",
     "react-native-splash-screen": "^3.2.0",
-    "react-native-webview": "^7.6.0"
+    "react-native-webview": "^9.1.1"
   },
   },
   "devDependencies": {
   "devDependencies": {
-    "@babel/core": "^7.7.7",
-    "@babel/runtime": "^7.7.7",
-    "@bam.tech/react-native-make": "^1.0.3",
+    "@babel/core": "^7.6.2",
+    "@babel/runtime": "^7.6.2",
+    "@bam.tech/react-native-make": "^2.0.0",
     "@react-native-community/eslint-config": "^0.0.5",
     "@react-native-community/eslint-config": "^0.0.5",
     "babel-jest": "^24.9.0",
     "babel-jest": "^24.9.0",
-    "eslint": "^6.8.0",
+    "eslint": "^6.5.1",
     "jest": "^24.9.0",
     "jest": "^24.9.0",
-    "metro-react-native-babel-preset": "^0.56.3",
-    "react-test-renderer": "16.9.0"
+    "metro-react-native-babel-preset": "^0.58.0",
+    "react-test-renderer": "16.11.0"
   },
   },
   "jest": {
   "jest": {
     "preset": "react-native"
     "preset": "react-native"

File diff suppressed because it is too large
+ 481 - 471
yarn.lock


Some files were not shown because too many files changed in this diff