react-native-bootsplash 4.4.0 → 4.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -40,7 +40,7 @@ $ npm install --save react-native-bootsplash
40
40
  $ yarn add react-native-bootsplash
41
41
  ```
42
42
 
43
- Don't forget going into the `ios` directory to execute a `pod install`.
43
+ _⚠️  Don't forget going into the `ios` directory to execute a `pod install`._
44
44
 
45
45
  ## 🆘 Manual linking
46
46
 
@@ -104,6 +104,8 @@ public class MainApplication extends Application implements ReactApplication {
104
104
 
105
105
  ## Setup
106
106
 
107
+ ℹ️ For `react-native` < `0.71` setup, follow the [`v4.4.0 README.md`](https://github.com/zoontek/react-native-bootsplash/blob/4.4.0/README.md).
108
+
107
109
  ### Assets generation
108
110
 
109
111
  In order to speed up the setup, we provide a **CLI** to generate assets, create the Android Drawable XML file and the iOS Storyboard file automatically ✨.
@@ -181,7 +183,7 @@ _⚠️  Only `.storyboard` files are supported ([Apple has deprecated other m
181
183
 
182
184
  ---
183
185
 
184
- Edit the `ios/YourProjectName/AppDelegate.m(m)` file:
186
+ Edit the `ios/YourProjectName/AppDelegate.mm` file:
185
187
 
186
188
  ```obj-c
187
189
  #import "AppDelegate.h"
@@ -193,13 +195,10 @@ Edit the `ios/YourProjectName/AppDelegate.m(m)` file:
193
195
 
194
196
  - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
195
197
  {
196
- //
197
-
198
- rootViewController.view = rootView;
199
- self.window.rootViewController = rootViewController;
200
- [self.window makeKeyAndVisible];
198
+ self.moduleName = @"RNBootSplashExample";
199
+ [super application:application didFinishLaunchingWithOptions:launchOptions];
201
200
 
202
- [RNBootSplash initWithStoryboard:@"BootSplash" rootView:rootView]; // <- initialization using the storyboard file name
201
+ [RNBootSplash initWithStoryboard:@"BootSplash" rootView:self.window.rootViewController.view]; // <- initialization using the storyboard file name
203
202
 
204
203
  return YES;
205
204
  }
@@ -217,32 +216,21 @@ _⚠️  On Android >= 12, the splash screen will not appear if you start your
217
216
 
218
217
  ---
219
218
 
220
- 1. As this library only support Android 6+, you probably have to edit your `android/build.gradle` file:
221
-
222
- ```gradle
223
- buildscript {
224
- ext {
225
- buildToolsVersion = "31.0.0"
226
- minSdkVersion = 23 // <- AndroidX splashscreen has basic support for 21 (only the background color), so 23 is best
227
- compileSdkVersion = 31 // <- set at least 31
228
- targetSdkVersion = 31 // <- set at least 31
229
-
230
- // …
231
- ```
232
-
233
- 2. Then edit your `android/app/build.gradle` file:
219
+ 1. Edit your `android/app/build.gradle` file:
234
220
 
235
221
  ```gradle
236
222
  dependencies {
237
223
  // …
238
224
 
239
- implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.0.0"
240
- implementation "androidx.core:core-splashscreen:1.0.0" // Add this line
225
+ implementation("androidx.swiperefreshlayout:swiperefreshlayout:1.0.0")
226
+ implementation("androidx.core:core-splashscreen:1.0.0") // Add this line
241
227
 
242
228
  // …
243
229
  ```
244
230
 
245
- 3. Edit your `android/app/src/main/res/values/styles.xml` file:
231
+ _⚠️  Don't forget going into the `android` directory to execute a `./gradlew clean && ./gradlew build` (or perform a Gradle sync in Android Studio)._
232
+
233
+ 2. Edit your `android/app/src/main/res/values/styles.xml` file:
246
234
 
247
235
  ```xml
248
236
  <resources>
@@ -261,7 +249,7 @@ dependencies {
261
249
  </resources>
262
250
  ```
263
251
 
264
- 4. Edit your `android/app/src/main/AndroidManifest.xml` file:
252
+ 3. Edit your `android/app/src/main/AndroidManifest.xml` file:
265
253
 
266
254
  ```xml
267
255
  <manifest xmlns:android="http://schemas.android.com/apk/res/android"
@@ -282,7 +270,7 @@ dependencies {
282
270
 
283
271
  ```
284
272
 
285
- 5. Finally edit your `android/app/src/main/java/com/yourprojectname/MainActivity.java` file:
273
+ 4. Finally edit your `android/app/src/main/java/com/yourprojectname/MainActivity.java` file:
286
274
 
287
275
  ```java
288
276
  // …
@@ -310,7 +298,7 @@ public class MainActivity extends ReactActivity {
310
298
  #### Method type
311
299
 
312
300
  ```ts
313
- type hide = (config?: { fade?: boolean, duration?: boolean }) => Promise<void>;
301
+ type hide = (config?: { fade?: boolean; duration?: number }) => Promise<void>;
314
302
  ```
315
303
 
316
304
  Note: Only durations above 220ms are visually noticeable. Smaller values will be ignored and the default duration will be used.
@@ -387,7 +375,7 @@ function App() {
387
375
 
388
376
  ## With react-native-bars
389
377
 
390
- In order to keep fully transparent status and navigation bars on Android once the splash screen is hidden (and control them), this library play nicely with [react-native-bars](https://github.com/zoontek/react-native-bars). Check the [README](https://github.com/zoontek/react-native-bars/blob/main/README.md#with-react-native-bootsplash) for more informations.
378
+ In order to keep fully transparent status and navigation bars on Android once the splash screen is hidden (and control them), this library play nicely with [react-native-bars](https://github.com/zoontek/react-native-bars). Check its [README](https://github.com/zoontek/react-native-bars/blob/main/README.md#with-react-native-bootsplash) for more informations.
391
379
 
392
380
  ## Testing with Jest
393
381
 
@@ -12,7 +12,7 @@ buildscript {
12
12
  mavenCentral()
13
13
  }
14
14
  dependencies {
15
- classpath("com.android.tools.build:gradle:7.2.1")
15
+ classpath("com.android.tools.build:gradle:7.3.1")
16
16
  }
17
17
  }
18
18
  }
@@ -20,11 +20,11 @@ buildscript {
20
20
  apply plugin: "com.android.library"
21
21
 
22
22
  android {
23
- compileSdkVersion safeExtGet("compileSdkVersion", 31)
24
- buildToolsVersion safeExtGet("buildToolsVersion", "31.0.0")
23
+ compileSdkVersion safeExtGet("compileSdkVersion", 33)
24
+ buildToolsVersion safeExtGet("buildToolsVersion", "33.0.0")
25
25
  defaultConfig {
26
26
  minSdkVersion safeExtGet("minSdkVersion", 23)
27
- targetSdkVersion safeExtGet("targetSdkVersion", 31)
27
+ targetSdkVersion safeExtGet("targetSdkVersion", 33)
28
28
  }
29
29
  lintOptions {
30
30
  abortOnError false
@@ -8,14 +8,13 @@ exports.getVisibilityStatus = getVisibilityStatus;
8
8
  exports.hide = hide;
9
9
  var _reactNative = require("react-native");
10
10
  const NativeModule = _reactNative.NativeModules.RNBootSplash;
11
- const DEFAULT_DURATION = 220;
12
11
  function hide() {
13
12
  let config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
14
13
  const {
15
14
  fade = false,
16
- duration = DEFAULT_DURATION
15
+ duration = 0
17
16
  } = config;
18
- return NativeModule.hide(fade, Math.max(duration, DEFAULT_DURATION)).then(() => {});
17
+ return NativeModule.hide(fade, Math.max(duration, 220)).then(() => {});
19
18
  }
20
19
  function getVisibilityStatus() {
21
20
  return NativeModule.getVisibilityStatus();
@@ -1 +1 @@
1
- {"version":3,"names":["NativeModule","NativeModules","RNBootSplash","DEFAULT_DURATION","hide","config","fade","duration","Math","max","then","getVisibilityStatus"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;;AAAA;AAKA,MAAMA,YAGL,GAAGC,0BAAa,CAACC,YAAY;AAE9B,MAAMC,gBAAgB,GAAG,GAAG;AAErB,SAASC,IAAI,GAAqC;EAAA,IAApCC,MAAc,uEAAG,CAAC,CAAC;EACtC,MAAM;IAAEC,IAAI,GAAG,KAAK;IAAEC,QAAQ,GAAGJ;EAAiB,CAAC,GAAGE,MAAM;EAC5D,OAAOL,YAAY,CAACI,IAAI,CAACE,IAAI,EAAEE,IAAI,CAACC,GAAG,CAACF,QAAQ,EAAEJ,gBAAgB,CAAC,CAAC,CAACO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;AACrF;AAEO,SAASC,mBAAmB,GAA8B;EAC/D,OAAOX,YAAY,CAACW,mBAAmB,EAAE;AAC3C;AAAC,eAEc;EACbP,IAAI;EACJO;AACF,CAAC;AAAA"}
1
+ {"version":3,"names":["NativeModule","NativeModules","RNBootSplash","hide","config","fade","duration","Math","max","then","getVisibilityStatus"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;;AAAA;AAKA,MAAMA,YAGL,GAAGC,0BAAa,CAACC,YAAY;AAEvB,SAASC,IAAI,GAAqC;EAAA,IAApCC,MAAc,uEAAG,CAAC,CAAC;EACtC,MAAM;IAAEC,IAAI,GAAG,KAAK;IAAEC,QAAQ,GAAG;EAAE,CAAC,GAAGF,MAAM;EAC7C,OAAOJ,YAAY,CAACG,IAAI,CAACE,IAAI,EAAEE,IAAI,CAACC,GAAG,CAACF,QAAQ,EAAE,GAAG,CAAC,CAAC,CAACG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;AACxE;AAEO,SAASC,mBAAmB,GAA8B;EAC/D,OAAOV,YAAY,CAACU,mBAAmB,EAAE;AAC3C;AAAC,eAEc;EACbP,IAAI;EACJO;AACF,CAAC;AAAA"}
@@ -1,13 +1,12 @@
1
1
  import { NativeModules } from "react-native";
2
2
  const NativeModule = NativeModules.RNBootSplash;
3
- const DEFAULT_DURATION = 220;
4
3
  export function hide() {
5
4
  let config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
6
5
  const {
7
6
  fade = false,
8
- duration = DEFAULT_DURATION
7
+ duration = 0
9
8
  } = config;
10
- return NativeModule.hide(fade, Math.max(duration, DEFAULT_DURATION)).then(() => {});
9
+ return NativeModule.hide(fade, Math.max(duration, 220)).then(() => {});
11
10
  }
12
11
  export function getVisibilityStatus() {
13
12
  return NativeModule.getVisibilityStatus();
@@ -1 +1 @@
1
- {"version":3,"names":["NativeModules","NativeModule","RNBootSplash","DEFAULT_DURATION","hide","config","fade","duration","Math","max","then","getVisibilityStatus"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"AAAA,SAASA,aAAa,QAAQ,cAAc;AAK5C,MAAMC,YAGL,GAAGD,aAAa,CAACE,YAAY;AAE9B,MAAMC,gBAAgB,GAAG,GAAG;AAE5B,OAAO,SAASC,IAAI,GAAqC;EAAA,IAApCC,MAAc,uEAAG,CAAC,CAAC;EACtC,MAAM;IAAEC,IAAI,GAAG,KAAK;IAAEC,QAAQ,GAAGJ;EAAiB,CAAC,GAAGE,MAAM;EAC5D,OAAOJ,YAAY,CAACG,IAAI,CAACE,IAAI,EAAEE,IAAI,CAACC,GAAG,CAACF,QAAQ,EAAEJ,gBAAgB,CAAC,CAAC,CAACO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;AACrF;AAEA,OAAO,SAASC,mBAAmB,GAA8B;EAC/D,OAAOV,YAAY,CAACU,mBAAmB,EAAE;AAC3C;AAEA,eAAe;EACbP,IAAI;EACJO;AACF,CAAC"}
1
+ {"version":3,"names":["NativeModules","NativeModule","RNBootSplash","hide","config","fade","duration","Math","max","then","getVisibilityStatus"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"AAAA,SAASA,aAAa,QAAQ,cAAc;AAK5C,MAAMC,YAGL,GAAGD,aAAa,CAACE,YAAY;AAE9B,OAAO,SAASC,IAAI,GAAqC;EAAA,IAApCC,MAAc,uEAAG,CAAC,CAAC;EACtC,MAAM;IAAEC,IAAI,GAAG,KAAK;IAAEC,QAAQ,GAAG;EAAE,CAAC,GAAGF,MAAM;EAC7C,OAAOH,YAAY,CAACE,IAAI,CAACE,IAAI,EAAEE,IAAI,CAACC,GAAG,CAACF,QAAQ,EAAE,GAAG,CAAC,CAAC,CAACG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;AACxE;AAEA,OAAO,SAASC,mBAAmB,GAA8B;EAC/D,OAAOT,YAAY,CAACS,mBAAmB,EAAE;AAC3C;AAEA,eAAe;EACbP,IAAI;EACJO;AACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,QAAQ,GAAG,eAAe,CAAC;AACtE,MAAM,MAAM,MAAM,GAAG;IAAE,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAS3D,wBAAgB,IAAI,CAAC,MAAM,GAAE,MAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAGvD;AAED,wBAAgB,mBAAmB,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAE/D;;;;;AAED,wBAGE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,QAAQ,GAAG,eAAe,CAAC;AACtE,MAAM,MAAM,MAAM,GAAG;IAAE,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAO3D,wBAAgB,IAAI,CAAC,MAAM,GAAE,MAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAGvD;AAED,wBAAgB,mBAAmB,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAE/D;;;;;AAED,wBAGE"}
@@ -0,0 +1,351 @@
1
+ #! /bin/sh
2
+ # Wrapper for compilers which do not understand '-c -o'.
3
+
4
+ scriptversion=2018-03-27.18; # UTC
5
+
6
+ # Copyright (C) 1999-2018 Free Software Foundation, Inc.
7
+ # Written by Tom Tromey <tromey@cygnus.com>.
8
+ #
9
+ # This program is free software; you can redistribute it and/or modify
10
+ # it under the terms of the GNU General Public License as published by
11
+ # the Free Software Foundation; either version 2, or (at your option)
12
+ # any later version.
13
+ #
14
+ # This program is distributed in the hope that it will be useful,
15
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
16
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17
+ # GNU General Public License for more details.
18
+ #
19
+ # You should have received a copy of the GNU General Public License
20
+ # along with this program. If not, see <https://www.gnu.org/licenses/>.
21
+
22
+ # As a special exception to the GNU General Public License, if you
23
+ # distribute this file as part of a program that contains a
24
+ # configuration script generated by Autoconf, you may include it under
25
+ # the same distribution terms that you use for the rest of that program.
26
+
27
+ # This file is maintained in Automake, please report
28
+ # bugs to <bug-automake@gnu.org> or send patches to
29
+ # <automake-patches@gnu.org>.
30
+
31
+ nl='
32
+ '
33
+
34
+ # We need space, tab and new line, in precisely that order. Quoting is
35
+ # there to prevent tools from complaining about whitespace usage.
36
+ IFS=" "" $nl"
37
+
38
+ file_conv=
39
+
40
+ # func_file_conv build_file lazy
41
+ # Convert a $build file to $host form and store it in $file
42
+ # Currently only supports Windows hosts. If the determined conversion
43
+ # type is listed in (the comma separated) LAZY, no conversion will
44
+ # take place.
45
+ func_file_conv ()
46
+ {
47
+ file=$1
48
+ case $file in
49
+ / | /[!/]*) # absolute file, and not a UNC file
50
+ if test -z "$file_conv"; then
51
+ # lazily determine how to convert abs files
52
+ case `uname -s` in
53
+ MINGW*)
54
+ file_conv=mingw
55
+ ;;
56
+ CYGWIN*)
57
+ file_conv=cygwin
58
+ ;;
59
+ *)
60
+ file_conv=wine
61
+ ;;
62
+ esac
63
+ fi
64
+ case $file_conv/,$2, in
65
+ *,$file_conv,*)
66
+ ;;
67
+ mingw/*)
68
+ file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
69
+ ;;
70
+ cygwin/*)
71
+ file=`cygpath -m "$file" || echo "$file"`
72
+ ;;
73
+ wine/*)
74
+ file=`winepath -w "$file" || echo "$file"`
75
+ ;;
76
+ esac
77
+ ;;
78
+ esac
79
+ }
80
+
81
+ # func_cl_dashL linkdir
82
+ # Make cl look for libraries in LINKDIR
83
+ func_cl_dashL ()
84
+ {
85
+ func_file_conv "$1"
86
+ if test -z "$lib_path"; then
87
+ lib_path=$file
88
+ else
89
+ lib_path="$lib_path;$file"
90
+ fi
91
+ linker_opts="$linker_opts -LIBPATH:$file"
92
+ }
93
+
94
+ # func_cl_dashl library
95
+ # Do a library search-path lookup for cl
96
+ func_cl_dashl ()
97
+ {
98
+ lib=$1
99
+ found=no
100
+ save_IFS=$IFS
101
+ IFS=';'
102
+ for dir in $lib_path $LIB
103
+ do
104
+ IFS=$save_IFS
105
+ if $shared && test -f "$dir/$lib.dll.lib"; then
106
+ found=yes
107
+ lib=$dir/$lib.dll.lib
108
+ break
109
+ fi
110
+ if test -f "$dir/$lib.lib"; then
111
+ found=yes
112
+ lib=$dir/$lib.lib
113
+ break
114
+ fi
115
+ if test -f "$dir/lib$lib.a"; then
116
+ found=yes
117
+ lib=$dir/lib$lib.a
118
+ break
119
+ fi
120
+ done
121
+ IFS=$save_IFS
122
+
123
+ if test "$found" != yes; then
124
+ lib=$lib.lib
125
+ fi
126
+ }
127
+
128
+ # func_cl_wrapper cl arg...
129
+ # Adjust compile command to suit cl
130
+ func_cl_wrapper ()
131
+ {
132
+ # Assume a capable shell
133
+ lib_path=
134
+ shared=:
135
+ linker_opts=
136
+ for arg
137
+ do
138
+ if test -n "$eat"; then
139
+ eat=
140
+ else
141
+ case $1 in
142
+ -o)
143
+ # configure might choose to run compile as 'compile cc -o foo foo.c'.
144
+ eat=1
145
+ case $2 in
146
+ *.o | *.[oO][bB][jJ])
147
+ func_file_conv "$2"
148
+ set x "$@" -Fo"$file"
149
+ shift
150
+ ;;
151
+ *)
152
+ func_file_conv "$2"
153
+ set x "$@" -Fe"$file"
154
+ shift
155
+ ;;
156
+ esac
157
+ ;;
158
+ -I)
159
+ eat=1
160
+ func_file_conv "$2" mingw
161
+ set x "$@" -I"$file"
162
+ shift
163
+ ;;
164
+ -I*)
165
+ func_file_conv "${1#-I}" mingw
166
+ set x "$@" -I"$file"
167
+ shift
168
+ ;;
169
+ -l)
170
+ eat=1
171
+ func_cl_dashl "$2"
172
+ set x "$@" "$lib"
173
+ shift
174
+ ;;
175
+ -l*)
176
+ func_cl_dashl "${1#-l}"
177
+ set x "$@" "$lib"
178
+ shift
179
+ ;;
180
+ -L)
181
+ eat=1
182
+ func_cl_dashL "$2"
183
+ ;;
184
+ -L*)
185
+ func_cl_dashL "${1#-L}"
186
+ ;;
187
+ -static)
188
+ shared=false
189
+ ;;
190
+ -warn)
191
+ eat=1
192
+ ;;
193
+ -Wl,*)
194
+ arg=${1#-Wl,}
195
+ save_ifs="$IFS"; IFS=','
196
+ for flag in $arg; do
197
+ IFS="$save_ifs"
198
+ linker_opts="$linker_opts $flag"
199
+ done
200
+ IFS="$save_ifs"
201
+ ;;
202
+ -Xlinker)
203
+ eat=1
204
+ linker_opts="$linker_opts $2"
205
+ ;;
206
+ -*)
207
+ set x "$@" "$1"
208
+ shift
209
+ ;;
210
+ *.cc | *.CC | *.cxx | *.CXX | *.[cC]++)
211
+ func_file_conv "$1"
212
+ set x "$@" -Tp"$file"
213
+ shift
214
+ ;;
215
+ *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO])
216
+ func_file_conv "$1" mingw
217
+ set x "$@" "$file"
218
+ shift
219
+ ;;
220
+ *)
221
+ set x "$@" "$1"
222
+ shift
223
+ ;;
224
+ esac
225
+ fi
226
+ shift
227
+ done
228
+ if test -n "$linker_opts"; then
229
+ linker_opts="-link$linker_opts"
230
+ fi
231
+ exec "$@" $linker_opts
232
+ exit 1
233
+ }
234
+
235
+ eat=
236
+
237
+ case $1 in
238
+ '')
239
+ echo "$0: No command. Try '$0 --help' for more information." 1>&2
240
+ exit 1;
241
+ ;;
242
+ -h | --h*)
243
+ cat <<\EOF
244
+ Usage: compile [--help] [--version] PROGRAM [ARGS]
245
+
246
+ Wrapper for compilers which do not understand '-c -o'.
247
+ Remove '-o dest.o' from ARGS, run PROGRAM with the remaining
248
+ arguments, and rename the output as expected.
249
+
250
+ If you are trying to build a whole package this is not the
251
+ right script to run: please start by reading the file 'INSTALL'.
252
+
253
+ Report bugs to <bug-automake@gnu.org>.
254
+ EOF
255
+ exit $?
256
+ ;;
257
+ -v | --v*)
258
+ echo "compile $scriptversion"
259
+ exit $?
260
+ ;;
261
+ cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \
262
+ icl | *[/\\]icl | icl.exe | *[/\\]icl.exe )
263
+ func_cl_wrapper "$@" # Doesn't return...
264
+ ;;
265
+ esac
266
+
267
+ ofile=
268
+ cfile=
269
+
270
+ for arg
271
+ do
272
+ if test -n "$eat"; then
273
+ eat=
274
+ else
275
+ case $1 in
276
+ -o)
277
+ # configure might choose to run compile as 'compile cc -o foo foo.c'.
278
+ # So we strip '-o arg' only if arg is an object.
279
+ eat=1
280
+ case $2 in
281
+ *.o | *.obj)
282
+ ofile=$2
283
+ ;;
284
+ *)
285
+ set x "$@" -o "$2"
286
+ shift
287
+ ;;
288
+ esac
289
+ ;;
290
+ *.c)
291
+ cfile=$1
292
+ set x "$@" "$1"
293
+ shift
294
+ ;;
295
+ *)
296
+ set x "$@" "$1"
297
+ shift
298
+ ;;
299
+ esac
300
+ fi
301
+ shift
302
+ done
303
+
304
+ if test -z "$ofile" || test -z "$cfile"; then
305
+ # If no '-o' option was seen then we might have been invoked from a
306
+ # pattern rule where we don't need one. That is ok -- this is a
307
+ # normal compilation that the losing compiler can handle. If no
308
+ # '.c' file was seen then we are probably linking. That is also
309
+ # ok.
310
+ exec "$@"
311
+ fi
312
+
313
+ # Name of file we expect compiler to create.
314
+ cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'`
315
+
316
+ # Create the lock directory.
317
+ # Note: use '[/\\:.-]' here to ensure that we don't use the same name
318
+ # that we are using for the .o file. Also, base the name on the expected
319
+ # object file name, since that is what matters with a parallel build.
320
+ lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d
321
+ while true; do
322
+ if mkdir "$lockdir" >/dev/null 2>&1; then
323
+ break
324
+ fi
325
+ sleep 1
326
+ done
327
+ # FIXME: race condition here if user kills between mkdir and trap.
328
+ trap "rmdir '$lockdir'; exit 1" 1 2 15
329
+
330
+ # Run the compile.
331
+ "$@"
332
+ ret=$?
333
+
334
+ if test -f "$cofile"; then
335
+ test "$cofile" = "$ofile" || mv "$cofile" "$ofile"
336
+ elif test -f "${cofile}bj"; then
337
+ test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile"
338
+ fi
339
+
340
+ rmdir "$lockdir"
341
+ exit $ret
342
+
343
+ # Local Variables:
344
+ # mode: shell-script
345
+ # sh-indentation: 2
346
+ # eval: (add-hook 'before-save-hook 'time-stamp)
347
+ # time-stamp-start: "scriptversion="
348
+ # time-stamp-format: "%:y-%02m-%02d.%02H"
349
+ # time-stamp-time-zone: "UTC0"
350
+ # time-stamp-end: "; # UTC"
351
+ # End:
@@ -0,0 +1,28 @@
1
+ CC = gcc
2
+ CFLAGS = -O2 -Wall
3
+ prefix =
4
+ includedir = $(prefix)/include
5
+ libdir = $(prefix)/lib
6
+ CPPFLAGS = -I$(includedir)
7
+ LDFLAGS = -L$(libdir) -Wl,-rpath,$(libdir)
8
+
9
+ all: check-call check-callback
10
+
11
+ test-call: test-call.c testcases.c
12
+ $(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -o test-call test-call.c -lffi
13
+
14
+ test-callback: test-callback.c testcases.c
15
+ $(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -o test-callback test-callback.c -lffi
16
+
17
+ check-call: test-call
18
+ ./test-call > test-call.out
19
+ LC_ALL=C uniq -u < test-call.out > failed-call
20
+ test '!' -s failed-call
21
+
22
+ check-callback: test-callback
23
+ ./test-callback > test-callback.out
24
+ LC_ALL=C uniq -u < test-callback.out > failed-callback
25
+ test '!' -s failed-callback
26
+
27
+ clean:
28
+ rm -f test-call test-callback test-call.out test-callback.out failed-call failed-callback
package/ios/.DS_Store CHANGED
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-bootsplash",
3
- "version": "4.4.0",
3
+ "version": "4.4.1",
4
4
  "license": "MIT",
5
5
  "description": "Display a bootsplash on your app starts. Hide it when you want.",
6
6
  "author": "Mathieu Acthernoene <zoontek@gmail.com>",
@@ -64,15 +64,14 @@
64
64
  "picocolors": "^1.0.0"
65
65
  },
66
66
  "devDependencies": {
67
- "@types/fs-extra": "^9.0.13",
68
- "@types/react-native": "^0.70.7",
69
- "lint-staged": "^13.0.4",
70
- "prettier": "^2.8.0",
71
- "prettier-plugin-organize-imports": "^3.2.1",
72
- "react": "18.1.0",
73
- "react-native": "0.70.6",
74
- "react-native-builder-bob": "^0.20.2",
67
+ "@types/fs-extra": "^11.0.1",
68
+ "lint-staged": "^13.1.0",
69
+ "prettier": "^2.8.3",
70
+ "prettier-plugin-organize-imports": "^3.2.2",
71
+ "react": "18.2.0",
72
+ "react-native": "0.71.0",
73
+ "react-native-builder-bob": "^0.20.3",
75
74
  "rescript": "^10.0.1",
76
- "typescript": "^4.9.3"
75
+ "typescript": "^4.9.4"
77
76
  }
78
77
  }
package/src/index.ts CHANGED
@@ -1,18 +1,16 @@
1
1
  import { NativeModules } from "react-native";
2
2
 
3
3
  export type VisibilityStatus = "visible" | "hidden" | "transitioning";
4
- export type Config = { fade?: boolean, duration?: number };
4
+ export type Config = { fade?: boolean; duration?: number };
5
5
 
6
6
  const NativeModule: {
7
7
  hide: (fade: boolean, duration: number) => Promise<true>;
8
8
  getVisibilityStatus: () => Promise<VisibilityStatus>;
9
9
  } = NativeModules.RNBootSplash;
10
10
 
11
- const DEFAULT_DURATION = 220;
12
-
13
11
  export function hide(config: Config = {}): Promise<void> {
14
- const { fade = false, duration = DEFAULT_DURATION } = config;
15
- return NativeModule.hide(fade, Math.max(duration, DEFAULT_DURATION)).then(() => {});
12
+ const { fade = false, duration = 0 } = config;
13
+ return NativeModule.hide(fade, Math.max(duration, 220)).then(() => {});
16
14
  }
17
15
 
18
16
  export function getVisibilityStatus(): Promise<VisibilityStatus> {