Browse Source

feat(mobile) add splash screen

j8
tmoldovan8x8 4 years ago
parent
commit
8e19597e38
No account linked to committer's email address

+ 7
- 0
android/app/src/main/java/org/jitsi/meet/MainActivity.java View File

27
 import android.provider.Settings;
27
 import android.provider.Settings;
28
 import android.util.Log;
28
 import android.util.Log;
29
 import android.view.KeyEvent;
29
 import android.view.KeyEvent;
30
+
30
 import androidx.annotation.Nullable;
31
 import androidx.annotation.Nullable;
31
 
32
 
32
 import org.jitsi.meet.sdk.JitsiMeet;
33
 import org.jitsi.meet.sdk.JitsiMeet;
78
     // JitsiMeetActivity overrides
79
     // JitsiMeetActivity overrides
79
     //
80
     //
80
 
81
 
82
+    @Override
83
+    protected void onCreate(Bundle savedInstanceState) {
84
+        JitsiMeet.showSplashScreen(this);
85
+        super.onCreate(savedInstanceState);
86
+    }
87
+
81
     @Override
88
     @Override
82
     protected boolean extraInitialize() {
89
     protected boolean extraInitialize() {
83
         Log.d(this.getClass().getSimpleName(), "LIBRE_BUILD="+BuildConfig.LIBRE_BUILD);
90
         Log.d(this.getClass().getSimpleName(), "LIBRE_BUILD="+BuildConfig.LIBRE_BUILD);

+ 70
- 0
android/app/src/main/res/drawable/ic_jitsi_logosvg.xml View File

1
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
2
+    android:width="262.91376dp"
3
+    android:height="262.91376dp"
4
+    android:viewportWidth="262.91376"
5
+    android:viewportHeight="262.91376">
6
+  <group>
7
+    <clip-path
8
+        android:pathData="m0,0 l262.914,-0L262.914,262.914 0,262.914 0,0Z"/>
9
+    <path
10
+        android:pathData="m142.646,105.099c0.117,0.026 0.255,0.036 0.406,0.036 3.186,-0 10.297,-4.615 11.617,-6.721l0.1,-0.17 0.153,-0.135c0.451,-0.441 1.746,-2.773 2.374,-4.17 -6.751,-2.023 -7.49,-5.677 -8.153,-8.919 -0.069,-0.376 -0.138,-0.717 -0.204,-1.019 -0.074,-0.397 -0.153,-0.8 -0.226,-1.112C138.668,86.221 135.593,88.094 133.921,89.483 133.056,90.201 132.542,92.251 135.042,97.926 136.323,100.816 140.727,104.733 142.646,105.099"
11
+        android:fillColor="#ffffff"
12
+        android:strokeColor="#00000000"
13
+        android:fillType="nonZero"/>
14
+    <path
15
+        android:pathData="m115.413,146.042c5.934,-0 18.464,-3.543 26.748,-5.887 1.21,-0.336 2.33,-0.66 3.351,-0.944 0.166,-0.046 0.321,-0.091 0.472,-0.124 -0.463,-0.461 -1.239,-1.159 -2.497,-2.216 -5.521,-3.741 -10.736,-5.484 -16.403,-5.484 -1.237,-0 -2.522,0.071 -3.923,0.231 -4.801,0.55 -8.8,1.69 -10.722,2.237 -0.967,0.284 -1.263,0.366 -1.567,0.366 -0.58,-0 -1.079,-0.341 -1.273,-0.878 -0.194,-0.534 -0.027,-1.121 0.425,-1.507l0.024,-0.011c3.316,-2.784 9.489,-7.951 21.198,-10.256 2.027,-0.401 4.202,-0.605 6.454,-0.605 5.242,-0 10.67,1.086 16.125,3.219 7.436,2.899 12.521,6.625 16.602,9.62 2.199,1.609 4.105,3.007 5.755,3.771 0.421,0.2 0.637,0.255 0.746,0.265 0.074,-0.095 0.23,-0.365 0.474,-1.069 0.066,-0.185 0.529,-2.161 -2.806,-13.374 -1.931,-6.51 -4.264,-13.156 -5.479,-16.104 -2.356,-5.711 -1.778,-9.76 -1.051,-12.125 -1.999,0.735 -4.033,1.87 -6.174,3.446L161.758,98.711C160.694,99.506 159.599,100.404 158.426,101.454 151.517,107.64 146.344,110.864 143.035,111.04l-0.093,0.004 -0.093,-0.009c-2.912,-0.245 -7.324,-4.489 -9.133,-6.634 -0.373,-0.251 -0.8,-0.366 -1.366,-0.366 -0.564,-0 -1.202,0.116 -1.82,0.235C130.086,104.354 129.623,104.441 129.167,104.489 127.708,104.632 125.668,105.106 123.694,105.561 122.746,105.777 121.762,106.005 120.864,106.189 120.851,106.19 120.463,106.272 119.774,106.454 114.903,107.891 111.228,109.55 109.432,111.111 109.414,111.127 109.352,111.174 109.266,111.242 108.048,112.105 105.124,114.567 104.248,118.762L104.237,118.795C102.398,126.516 105.187,136.087 108.892,141.554 110.636,144.125 112.513,145.727 114.048,145.959 114.437,146.015 114.891,146.042 115.413,146.042"
16
+        android:fillColor="#ffffff"
17
+        android:strokeColor="#00000000"
18
+        android:fillType="nonZero"/>
19
+    <path
20
+        android:pathData="m90.093,173.175c-1.252,-1.472 -1.783,-3.324 -1.574,-5.521 0.884,-10.642 -0.329,-13.215 -0.891,-13.829 -0.131,-0.144 -0.207,-0.144 -0.265,-0.144 -0.022,-0 -0.041,0.003 -0.064,0.003 -1.044,0.248 -8.066,5.002 -9.615,19.171 -0.749,6.845 0.561,15.63 1.679,20.974 0.897,-3.155 2.314,-6.624 5.057,-10.204 2.556,-3.326 5.345,-5.955 8.801,-8.253C92.143,174.93 90.991,174.235 90.093,173.175"
21
+        android:fillColor="#ffffff"
22
+        android:strokeColor="#00000000"
23
+        android:fillType="nonZero"/>
24
+    <path
25
+        android:pathData="m94.906,156.389c-0.03,2.229 -0.326,4.36 -0.61,6.445 -0.151,1.119 -0.314,2.286 -0.434,3.46 -0.161,2.341 0.346,3.166 0.571,3.406 0.127,0.136 0.326,0.287 0.76,0.287 0.339,-0 0.741,-0.091 1.161,-0.268 4.202,-1.756 8.195,-4.815 10.115,-6.515C103.522,161.892 98.995,159.058 94.906,156.389"
26
+        android:fillColor="#ffffff"
27
+        android:strokeColor="#00000000"
28
+        android:fillType="nonZero"/>
29
+    <path
30
+        android:pathData="m154.002,81.595c-0.031,0.074 -0.065,0.148 -0.101,0.216 -0.821,2.403 0.306,5.664 2.419,6.898 0.561,0.327 1.106,0.526 1.624,0.596 0.072,0.006 0.148,0.009 0.219,0.009 1.645,-0 2.971,-1.199 3.961,-3.561C162.752,83.959 162.836,81.827 162.37,79.904 162.003,78.409 161.057,76.627 160.453,75.738 159.332,76.509 157.111,78.207 155.585,79.553 154.518,80.582 154.136,81.229 154.002,81.595"
31
+        android:fillColor="#ffffff"
32
+        android:strokeColor="#00000000"
33
+        android:fillType="nonZero"/>
34
+    <path
35
+        android:pathData="M148.97,77.699C153.957,73.194 156.988,65.754 158.253,61.334 153.915,65.513 148.633,67.758 145.25,69.198 144.084,69.695 143.08,70.124 142.477,70.476 142.224,70.623 141.965,70.77 141.708,70.919 139.654,72.109 136.55,73.905 136.1,75.011l-0.012,0.036 -0.012,0.034c-1.406,2.956 -2.199,7.401 -2.457,9.95 3.266,-1.99 6.625,-3.322 9.416,-4.42C145.628,79.585 147.863,78.703 148.97,77.699"
36
+        android:fillColor="#ffffff"
37
+        android:strokeColor="#00000000"
38
+        android:fillType="nonZero"/>
39
+    <path
40
+        android:pathData="m164.464,51.921c-0.84,5.539 -2.205,10.799 -4.751,16.347 2.781,-3.144 4.396,-6.568 4.941,-10.401C164.886,56.275 165.097,54.756 164.464,51.921"
41
+        android:fillColor="#ffffff"
42
+        android:strokeColor="#00000000"
43
+        android:fillType="nonZero"/>
44
+    <path
45
+        android:pathData="M148.749,142.639C148.718,142.598 148.684,142.56 148.658,142.519 148.523,142.539 148.307,142.584 147.972,142.683l-0.14,0.04c-1.726,0.644 -4.899,1.708 -8.556,2.946 -4.396,1.479 -9.365,3.154 -13.526,4.649 -5.297,1.975 -7.021,2.755 -7.557,3.024 -0.098,0.266 -0.203,0.599 -0.327,0.965 -1.254,3.816 -4.125,12.541 -18.276,18.653 2.928,2.956 9.289,8.27 21.809,8.27 1.082,-0 2.21,-0.036 3.341,-0.12 9.451,-0.666 18.342,-4.855 25.026,-11.78 6.087,-6.291 9.538,-14.136 9.585,-21.7C157.876,147.509 155.367,147.135 153.043,146.033 153.014,146.02 150.361,144.745 148.749,142.639"
46
+        android:fillColor="#ffffff"
47
+        android:strokeColor="#00000000"
48
+        android:fillType="nonZero"/>
49
+    <path
50
+        android:pathData="m189.478,117.853c-0.523,9.749 -2.122,18.424 -4.744,25.8 -2.128,5.988 -4.94,11.134 -8.356,15.316 -5.676,6.931 -11.555,9.256 -12.804,9.304 -0.866,-0 -1.313,-0.309 -3.046,-1.528 -0.17,-0.114 -0.37,-0.252 -0.581,-0.4 -3.313,5.953 -8.505,11.097 -15.065,14.959 -7.079,4.144 -15.297,6.423 -23.157,6.423 -9.078,-0 -17.13,-2.924 -23.341,-8.456 -7.467,4.799 -12.31,9.074 -16.267,27.005l-1.363,6.17 -2.971,-5.564c-0.424,-0.786 -1.929,-3.731 -3.332,-8.887 -1.934,-7.104 -2.86,-15.181 -2.758,-24.01 0.117,-10.049 3.154,-16.526 5.68,-20.186 2.98,-4.314 6.837,-6.994 10.076,-6.994 0.216,-0 0.428,0.006 0.616,0.035 5.159,0.575 8.435,2.75 14.396,6.686l1.899,1.252c2.059,1.344 4.481,2.7 5.259,2.989 0.54,-0.284 1.749,-2.3 2.155,-5.271l0.069,-0.451c0.005,-0.045 0.009,-0.091 0.014,-0.131 -0.036,-0.02 -0.065,-0.029 -0.094,-0.041 -4.008,-1.375 -9.539,-7.7 -12.364,-17.134 -2.684,-9.382 -2.129,-17.185 1.644,-23.193 6.12,-9.736 19.198,-11.974 23.466,-12.702 1.331,-0.266 2.716,-0.511 4.041,-0.717 0.255,-0.061 0.469,-0.121 0.642,-0.168 -0.031,-0.126 -0.071,-0.265 -0.114,-0.43 -0.108,-0.417 -0.23,-0.891 -0.354,-1.447 -1.345,-6.035 -0.664,-11.069 0.181,-15.193 0.928,-4.546 1.489,-7.287 3.747,-9.936 3.029,-4.165 8.319,-5.936 11.479,-6.991 0.746,-0.249 1.511,-0.509 1.894,-0.689 8.988,-4.31 11.82,-8.739 12.615,-11.694 0.656,-2.451 1.699,-8.884 1.251,-13.335 -0.085,-0.805 0.129,-1.521 0.621,-2.065 0.45,-0.505 1.101,-0.794 1.778,-0.794 1.515,-0 2.82,-0 7.511,14.598 2.481,7.698 0.645,14.903 -5.45,21.424l-0.226,0.231c0.024,0.044 0.049,0.09 0.08,0.144 2.57,4.236 3.963,9.54 3.553,13.51 -0.099,0.906 -0.265,1.775 -0.419,2.549 -0.003,0.01 -0.003,0.016 -0.004,0.029 0.516,-0.032 1.119,-0.055 1.775,-0.055 3.052,-0 7.435,0.474 10.989,2.735 2.135,1.352 4.845,3.439 6.835,7.615C189.223,102.942 190.076,109.575 189.478,117.853m4.77,-23.191c-2.916,-6.1 -6.989,-9.177 -9.793,-10.96 -2.355,-1.494 -5.064,-2.584 -8.077,-3.24l-0.676,-0.146 -0.111,-0.689c-0.339,-2.119 -0.918,-4.275 -1.715,-6.406l-0.185,-0.49 0.292,-0.434c5.095,-7.594 6.323,-16.17 3.54,-24.802 -2.191,-6.824 -3.895,-11.211 -5.341,-13.799 -2.954,-5.305 -7.006,-6.417 -9.891,-6.417 -2.964,-0 -5.8,1.261 -7.789,3.457 -2.043,2.254 -2.993,5.207 -2.678,8.31 0.316,3.134 -0.494,8.516 -1.014,10.439 -0.04,0.117 -0.975,2.929 -8.201,6.428 -0.162,0.056 -0.512,0.179 -1.053,0.359 -3.729,1.246 -10.666,3.571 -15.258,9.64 -3.465,4.205 -4.332,8.441 -5.338,13.346 -0.586,2.865 -1.236,6.744 -1.079,11.344l0.026,0.841 -0.824,0.188c-11.646,2.585 -20.025,7.835 -24.909,15.605 -5.054,8.04 -5.919,18.055 -2.543,29.853 0.063,0.204 0.126,0.407 0.189,0.615l0.527,1.608 -1.665,-0.286c-0.561,-0.101 -1.135,-0.18 -1.729,-0.241 -0.493,-0.06 -1.001,-0.082 -1.509,-0.082 -5.633,-0 -11.663,3.585 -16.128,9.592 -3.451,4.641 -7.588,12.849 -7.735,25.601 -0.114,9.573 0.906,18.401 3.038,26.228 1.581,5.795 3.326,9.329 4.004,10.577l13.306,24.94 6.096,-27.619c2.454,-11.09 4.864,-15.262 7.725,-18.111l0.561,-0.563 0.679,0.411c6.605,3.977 14.466,6.084 22.73,6.084 9.286,-0 18.965,-2.682 27.259,-7.551 5.38,-3.16 9.974,-7.036 13.649,-11.531l0.45,-0.369 0.85,-0.02c2.156,-0.068 5.16,-1.164 8.222,-3.004 2.6,-1.555 6.543,-4.428 10.501,-9.262 3.997,-4.884 7.274,-10.854 9.716,-17.734 2.876,-8.073 4.625,-17.489 5.204,-28.004 0.689,-9.668 -0.434,-17.641 -3.327,-23.704"
51
+        android:fillColor="#ffffff"
52
+        android:strokeColor="#00000000"
53
+        android:fillType="nonZero"/>
54
+    <path
55
+        android:pathData="m180.026,98.414c-1.67,-2.596 -3.771,-4.206 -5.475,-4.206 -0.313,-0 -0.613,0.051 -0.895,0.161 -0.911,0.361 -2.356,4.532 -1.714,7.566 0.434,2.066 2.938,9.04 4.151,12.394 0.456,1.281 0.68,1.91 0.754,2.142 0.064,0.183 0.145,0.448 0.256,0.774 0.97,2.971 3.467,10.586 4.206,16.761 1.549,-6.579 2.424,-14.512 2.085,-23.997C183.235,105.662 182.04,101.538 180.026,98.414"
56
+        android:fillColor="#ffffff"
57
+        android:strokeColor="#00000000"
58
+        android:fillType="nonZero"/>
59
+    <path
60
+        android:pathData="M168.088,142.604C169.896,142.111 171.33,141.705 172.398,141.395 170.213,139.874 167.689,137.979 164.247,135.304c-8.418,-6.546 -17.449,-9.87 -26.839,-9.87 -5.135,-0 -9.611,0.991 -13.156,2.186 0.882,-0.05 1.779,-0.079 2.7,-0.079 1.1,-0 2.247,0.04 3.411,0.119 3.652,0.246 13.061,1.901 21.565,12.047 1.714,2.039 3.559,3.73 8.794,3.73 1.873,-0 4.051,-0.207 6.662,-0.645C167.544,142.751 167.793,142.678 168.088,142.604"
61
+        android:fillColor="#ffffff"
62
+        android:strokeColor="#00000000"
63
+        android:fillType="nonZero"/>
64
+    <path
65
+        android:pathData="m164.3,147.583c-0.122,1.563 -0.376,4.509 -0.782,6.76 -0.495,2.719 -1.31,5.02 -1.791,6.226 0.85,0.786 1.694,1.553 2.247,2.043 2.214,-1.447 9.47,-6.96 14.483,-19.474C176.847,144.229 174.59,145.178 171.671,146.018 168.701,146.861 165.82,147.357 164.3,147.583"
66
+        android:fillColor="#ffffff"
67
+        android:strokeColor="#00000000"
68
+        android:fillType="nonZero"/>
69
+  </group>
70
+</vector>

+ 11
- 0
android/app/src/main/res/layout/launch_screen.xml View File

1
+<?xml version="1.0" encoding="utf-8"?>
2
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
3
+    android:layout_width="match_parent"
4
+    android:layout_height="match_parent"
5
+    android:background="@color/colorPrimary">
6
+    <ImageView
7
+        android:layout_width="wrap_content"
8
+        android:layout_height="wrap_content"
9
+        android:layout_centerInParent="true"
10
+        android:src="@drawable/ic_jitsi_logosvg"/>
11
+</RelativeLayout>

+ 5
- 0
android/app/src/main/res/values/colors.xml View File

1
+<?xml version="1.0" encoding="utf-8"?>
2
+<resources>
3
+    <color name="colorPrimary">#17A0DB</color>
4
+    <color name="colorPrimaryDark">#1081B2</color>
5
+</resources>

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

2
     <!-- Base application theme. -->
2
     <!-- Base application theme. -->
3
     <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
3
     <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
4
         <!-- Customize your theme here. -->
4
         <!-- Customize your theme here. -->
5
-        <item name="android:navigationBarColor">#1081B2</item>
5
+        <item name="android:navigationBarColor">@color/colorPrimaryDark</item>
6
     </style>
6
     </style>
7
 </resources>
7
 </resources>

+ 1
- 0
android/sdk/build.gradle View File

71
     implementation project(':react-native-svg')
71
     implementation project(':react-native-svg')
72
     implementation project(':react-native-webrtc')
72
     implementation project(':react-native-webrtc')
73
     implementation project(':react-native-webview')
73
     implementation project(':react-native-webview')
74
+    implementation project(':react-native-splash-screen')
74
 
75
 
75
     testImplementation 'junit:junit:4.12'
76
     testImplementation 'junit:junit:4.12'
76
 }
77
 }

+ 18
- 2
android/sdk/src/main/java/org/jitsi/meet/sdk/JitsiMeet.java View File

1
 /*
1
 /*
2
- * Copyright @ 2018-present 8x8, Inc.
3
- * Copyright @ 2017-2018 Atlassian Pty Ltd
2
+ * Copyright @ 2017-present 8x8, Inc.
4
  *
3
  *
5
  * Licensed under the Apache License, Version 2.0 (the "License");
4
  * Licensed under the Apache License, Version 2.0 (the "License");
6
  * you may not use this file except in compliance with the License.
5
  * you may not use this file except in compliance with the License.
16
  */
15
  */
17
 package org.jitsi.meet.sdk;
16
 package org.jitsi.meet.sdk;
18
 
17
 
18
+import android.app.Activity;
19
 import android.content.Context;
19
 import android.content.Context;
20
 import android.content.SharedPreferences;
20
 import android.content.SharedPreferences;
21
 import android.os.Bundle;
21
 import android.os.Bundle;
22
 
22
 
23
 import com.facebook.react.ReactInstanceManager;
23
 import com.facebook.react.ReactInstanceManager;
24
 
24
 
25
+import org.devio.rn.splashscreen.SplashScreen;
26
+import org.jitsi.meet.sdk.log.JitsiMeetLogger;
27
+
25
 public class JitsiMeet {
28
 public class JitsiMeet {
26
 
29
 
27
     /**
30
     /**
81
         String value = preferences.getString("isCrashReportingDisabled", "");
84
         String value = preferences.getString("isCrashReportingDisabled", "");
82
         return Boolean.parseBoolean(value);
85
         return Boolean.parseBoolean(value);
83
     }
86
     }
87
+
88
+    /**
89
+     * Helper method to show the SplashScreen.
90
+     *
91
+     * @param activity - The activity on which to show the SplashScreen {@link Activity}.
92
+     */
93
+    public static void showSplashScreen(Activity activity) {
94
+        try {
95
+            SplashScreen.show(activity);
96
+        } catch (Exception e) {
97
+            JitsiMeetLogger.e(e, "Failed to show splash screen");
98
+        }
99
+    }
84
 }
100
 }

+ 3
- 3
android/sdk/src/main/java/org/jitsi/meet/sdk/ReactInstanceManagerHolder.java View File

23
 import com.facebook.react.ReactInstanceManager;
23
 import com.facebook.react.ReactInstanceManager;
24
 import com.facebook.react.ReactPackage;
24
 import com.facebook.react.ReactPackage;
25
 import com.facebook.react.bridge.NativeModule;
25
 import com.facebook.react.bridge.NativeModule;
26
-import com.facebook.react.bridge.ReactContext;
27
 import com.facebook.react.bridge.ReactApplicationContext;
26
 import com.facebook.react.bridge.ReactApplicationContext;
27
+import com.facebook.react.bridge.ReactContext;
28
 import com.facebook.react.common.LifecycleState;
28
 import com.facebook.react.common.LifecycleState;
29
 import com.facebook.react.devsupport.DevInternalSettings;
29
 import com.facebook.react.devsupport.DevInternalSettings;
30
 import com.facebook.react.jscexecutor.JSCExecutorFactory;
30
 import com.facebook.react.jscexecutor.JSCExecutorFactory;
31
 import com.facebook.react.modules.core.DeviceEventManagerModule;
31
 import com.facebook.react.modules.core.DeviceEventManagerModule;
32
 import com.facebook.react.uimanager.ViewManager;
32
 import com.facebook.react.uimanager.ViewManager;
33
 import com.facebook.soloader.SoLoader;
33
 import com.facebook.soloader.SoLoader;
34
-
35
 import com.oney.WebRTCModule.RTCVideoViewManager;
34
 import com.oney.WebRTCModule.RTCVideoViewManager;
36
 import com.oney.WebRTCModule.WebRTCModule;
35
 import com.oney.WebRTCModule.WebRTCModule;
37
 
36
 
38
-import org.jitsi.meet.sdk.log.JitsiMeetLogger;
37
+import org.devio.rn.splashscreen.SplashScreenModule;
39
 import org.webrtc.SoftwareVideoDecoderFactory;
38
 import org.webrtc.SoftwareVideoDecoderFactory;
40
 import org.webrtc.SoftwareVideoEncoderFactory;
39
 import org.webrtc.SoftwareVideoEncoderFactory;
41
 import org.webrtc.audio.AudioDeviceModule;
40
 import org.webrtc.audio.AudioDeviceModule;
69
                 new JavaScriptSandboxModule(reactContext),
68
                 new JavaScriptSandboxModule(reactContext),
70
                 new LocaleDetector(reactContext),
69
                 new LocaleDetector(reactContext),
71
                 new LogBridgeModule(reactContext),
70
                 new LogBridgeModule(reactContext),
71
+                new SplashScreenModule(reactContext),
72
                 new PictureInPictureModule(reactContext),
72
                 new PictureInPictureModule(reactContext),
73
                 new ProximityModule(reactContext),
73
                 new ProximityModule(reactContext),
74
                 new WiFiStatsModule(reactContext),
74
                 new WiFiStatsModule(reactContext),

+ 2
- 0
android/settings.gradle View File

21
 project(':react-native-linear-gradient').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-linear-gradient/android')
21
 project(':react-native-linear-gradient').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-linear-gradient/android')
22
 include ':react-native-sound'
22
 include ':react-native-sound'
23
 project(':react-native-sound').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-sound/android')
23
 project(':react-native-sound').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-sound/android')
24
+include ':react-native-splash-screen'
25
+project(':react-native-splash-screen').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-splash-screen/android')
24
 include ':react-native-svg'
26
 include ':react-native-svg'
25
 project(':react-native-svg').projectDir = new File(rootProject.projectDir, 	'../node_modules/react-native-svg/android')
27
 project(':react-native-svg').projectDir = new File(rootProject.projectDir, 	'../node_modules/react-native-svg/android')
26
 include ':react-native-webrtc'
28
 include ':react-native-webrtc'

+ 1
- 0
ios/Podfile View File

66
   pod 'RNSVG', :path => '../node_modules/react-native-svg'
66
   pod 'RNSVG', :path => '../node_modules/react-native-svg'
67
   pod 'RNWatch', :path => '../node_modules/react-native-watch-connectivity'
67
   pod 'RNWatch', :path => '../node_modules/react-native-watch-connectivity'
68
   pod 'RNDefaultPreference', :path => '../node_modules/react-native-default-preference'
68
   pod 'RNDefaultPreference', :path => '../node_modules/react-native-default-preference'
69
+  pod 'react-native-splash-screen', :path => '../node_modules/react-native-splash-screen'
69
 
70
 
70
   # Native pod dependencies
71
   # Native pod dependencies
71
   #
72
   #

+ 7
- 1
ios/Podfile.lock View File

291
     - React
291
     - React
292
   - react-native-netinfo (4.1.5):
292
   - react-native-netinfo (4.1.5):
293
     - React
293
     - React
294
+  - react-native-splash-screen (3.2.0):
295
+    - React
294
   - react-native-webrtc (1.84.0):
296
   - react-native-webrtc (1.84.0):
295
     - React
297
     - React
296
   - react-native-webview (10.9.0):
298
   - react-native-webview (10.9.0):
395
   - react-native-calendar-events (from `../node_modules/react-native-calendar-events`)
397
   - react-native-calendar-events (from `../node_modules/react-native-calendar-events`)
396
   - react-native-keep-awake (from `../node_modules/react-native-keep-awake`)
398
   - react-native-keep-awake (from `../node_modules/react-native-keep-awake`)
397
   - "react-native-netinfo (from `../node_modules/@react-native-community/netinfo`)"
399
   - "react-native-netinfo (from `../node_modules/@react-native-community/netinfo`)"
400
+  - react-native-splash-screen (from `../node_modules/react-native-splash-screen`)
398
   - react-native-webrtc (from `../node_modules/react-native-webrtc`)
401
   - react-native-webrtc (from `../node_modules/react-native-webrtc`)
399
   - react-native-webview (from `../node_modules/react-native-webview`)
402
   - react-native-webview (from `../node_modules/react-native-webview`)
400
   - React-RCTActionSheet (from `../node_modules/react-native/Libraries/ActionSheetIOS`)
403
   - React-RCTActionSheet (from `../node_modules/react-native/Libraries/ActionSheetIOS`)
477
     :path: "../node_modules/react-native-keep-awake"
480
     :path: "../node_modules/react-native-keep-awake"
478
   react-native-netinfo:
481
   react-native-netinfo:
479
     :path: "../node_modules/@react-native-community/netinfo"
482
     :path: "../node_modules/@react-native-community/netinfo"
483
+  react-native-splash-screen:
484
+    :path: "../node_modules/react-native-splash-screen"
480
   react-native-webrtc:
485
   react-native-webrtc:
481
     :path: "../node_modules/react-native-webrtc"
486
     :path: "../node_modules/react-native-webrtc"
482
   react-native-webview:
487
   react-native-webview:
556
   react-native-calendar-events: 1442fad71a00388f933cfa25512588fec300fcf8
561
   react-native-calendar-events: 1442fad71a00388f933cfa25512588fec300fcf8
557
   react-native-keep-awake: eba3137546b10003361b37c761f6c429b59814ae
562
   react-native-keep-awake: eba3137546b10003361b37c761f6c429b59814ae
558
   react-native-netinfo: 8d8db463bcc5db66a8ac5c48a7d86beb3b92f61a
563
   react-native-netinfo: 8d8db463bcc5db66a8ac5c48a7d86beb3b92f61a
564
+  react-native-splash-screen: 200d11d188e2e78cea3ad319964f6142b6384865
559
   react-native-webrtc: 9268ae9a2bc9730796b0968d012327e92c392adf
565
   react-native-webrtc: 9268ae9a2bc9730796b0968d012327e92c392adf
560
   react-native-webview: 6ee7868ca8eba635dbf7963986d1ab7959da0391
566
   react-native-webview: 6ee7868ca8eba635dbf7963986d1ab7959da0391
561
   React-RCTActionSheet: bcbc311dc3b47bc8efb2737ff0940239a45789a9
567
   React-RCTActionSheet: bcbc311dc3b47bc8efb2737ff0940239a45789a9
576
   RNWatch: a5320c959c75e72845c07985f3e935e58998f1d3
582
   RNWatch: a5320c959c75e72845c07985f3e935e58998f1d3
577
   Yoga: 96b469c5e81ff51b917b92e8c3390642d4ded30c
583
   Yoga: 96b469c5e81ff51b917b92e8c3390642d4ded30c
578
 
584
 
579
-PODFILE CHECKSUM: 224e84629bf45ae487c4ebc66faf33ec8304fb67
585
+PODFILE CHECKSUM: f2400f8e5a52c4d91697cbacba6956569efc5ab8
580
 
586
 
581
 COCOAPODS: 1.9.3
587
 COCOAPODS: 1.9.3

+ 3
- 0
ios/app/src/AppDelegate.m View File

53
         [[FIRCrashlytics crashlytics] setCrashlyticsCollectionEnabled:![jitsiMeet isCrashReportingDisabled]];
53
         [[FIRCrashlytics crashlytics] setCrashlyticsCollectionEnabled:![jitsiMeet isCrashReportingDisabled]];
54
     }
54
     }
55
 
55
 
56
+    ViewController *rootController = (ViewController *)self.window.rootViewController;
57
+    [jitsiMeet showSplashScreen:rootController.view];
58
+  
56
     [jitsiMeet application:application didFinishLaunchingWithOptions:launchOptions];
59
     [jitsiMeet application:application didFinishLaunchingWithOptions:launchOptions];
57
 
60
 
58
     return YES;
61
     return YES;

+ 2
- 0
ios/sdk/src/JitsiMeet.h View File

67
 
67
 
68
 - (BOOL)isCrashReportingDisabled;
68
 - (BOOL)isCrashReportingDisabled;
69
 
69
 
70
+- (void)showSplashScreen:(UIView * _Nonnull) rootView;
71
+
70
 @end
72
 @end

+ 5
- 0
ios/sdk/src/JitsiMeet.m View File

22
 #import "JitsiMeetView+Private.h"
22
 #import "JitsiMeetView+Private.h"
23
 #import "RCTBridgeWrapper.h"
23
 #import "RCTBridgeWrapper.h"
24
 #import "ReactUtils.h"
24
 #import "ReactUtils.h"
25
+#import "RNSplashScreen.h"
25
 
26
 
26
 #import <RNGoogleSignin/RNGoogleSignin.h>
27
 #import <RNGoogleSignin/RNGoogleSignin.h>
27
 #import <WebRTC/RTCLogging.h>
28
 #import <WebRTC/RTCLogging.h>
183
     return nil;
184
     return nil;
184
 }
185
 }
185
 
186
 
187
+- (void)showSplashScreen:(UIView*)rootView {
188
+    [RNSplashScreen showSplash:@"LaunchScreen" inRootView:rootView];
189
+}
190
+
186
 #pragma mark - Property getter / setters
191
 #pragma mark - Property getter / setters
187
 
192
 
188
 - (NSArray<NSString *> *)universalLinkDomains {
193
 - (NSArray<NSString *> *)universalLinkDomains {

+ 5
- 0
package-lock.json View File

14183
       "version": "github:jitsi/react-native-sound#3fe5480fce935e888d5089d94a191c7c7e3aa190",
14183
       "version": "github:jitsi/react-native-sound#3fe5480fce935e888d5089d94a191c7c7e3aa190",
14184
       "from": "github:jitsi/react-native-sound#3fe5480fce935e888d5089d94a191c7c7e3aa190"
14184
       "from": "github:jitsi/react-native-sound#3fe5480fce935e888d5089d94a191c7c7e3aa190"
14185
     },
14185
     },
14186
+    "react-native-splash-screen": {
14187
+      "version": "3.2.0",
14188
+      "resolved": "https://registry.npmjs.org/react-native-splash-screen/-/react-native-splash-screen-3.2.0.tgz",
14189
+      "integrity": "sha512-Ls9qiNZzW/OLFoI25wfjjAcrf2DZ975hn2vr6U9gyuxi2nooVbzQeFoQS5vQcbCt9QX5NY8ASEEAtlLdIa6KVg=="
14190
+    },
14186
     "react-native-svg": {
14191
     "react-native-svg": {
14187
       "version": "10.1.0",
14192
       "version": "10.1.0",
14188
       "resolved": "https://registry.npmjs.org/react-native-svg/-/react-native-svg-10.1.0.tgz",
14193
       "resolved": "https://registry.npmjs.org/react-native-svg/-/react-native-svg-10.1.0.tgz",

+ 1
- 0
package.json View File

80
     "react-native-keep-awake": "4.0.0",
80
     "react-native-keep-awake": "4.0.0",
81
     "react-native-linear-gradient": "2.5.6",
81
     "react-native-linear-gradient": "2.5.6",
82
     "react-native-sound": "github:jitsi/react-native-sound#3fe5480fce935e888d5089d94a191c7c7e3aa190",
82
     "react-native-sound": "github:jitsi/react-native-sound#3fe5480fce935e888d5089d94a191c7c7e3aa190",
83
+    "react-native-splash-screen": "3.2.0",
83
     "react-native-svg": "10.1.0",
84
     "react-native-svg": "10.1.0",
84
     "react-native-svg-transformer": "0.14.3",
85
     "react-native-svg-transformer": "0.14.3",
85
     "react-native-watch-connectivity": "0.4.3",
86
     "react-native-watch-connectivity": "0.4.3",

+ 3
- 0
react/features/app/components/App.native.js View File

1
 // @flow
1
 // @flow
2
 
2
 
3
 import React from 'react';
3
 import React from 'react';
4
+import SplashScreen from 'react-native-splash-screen';
4
 
5
 
5
 import { setColorScheme } from '../../base/color-scheme';
6
 import { setColorScheme } from '../../base/color-scheme';
6
 import { DialogContainer } from '../../base/dialog';
7
 import { DialogContainer } from '../../base/dialog';
84
     componentDidMount() {
85
     componentDidMount() {
85
         super.componentDidMount();
86
         super.componentDidMount();
86
 
87
 
88
+        SplashScreen.hide();
89
+
87
         this._init.then(() => {
90
         this._init.then(() => {
88
             const { dispatch, getState } = this.state.store;
91
             const { dispatch, getState } = this.state.store;
89
 
92
 

Loading…
Cancel
Save