react-native-bootsplash 5.0.4 → 5.1.0-beta.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 +5 -5
- package/android/src/main/java/com/zoontek/rnbootsplash/RNBootSplashDialog.java +70 -3
- package/android/src/main/java/com/zoontek/rnbootsplash/RNBootSplashModuleImpl.java +52 -66
- package/android/src/main/res/drawable/compat_splash_screen.xml +2 -6
- package/android/src/main/res/drawable/compat_splash_screen_oneui_4.xml +15 -0
- package/android/src/main/res/drawable-v23/compat_splash_screen.xml +20 -0
- package/android/src/main/res/drawable-v23/compat_splash_screen_oneui_4.xml +22 -0
- package/android/src/main/res/values/styles.xml +4 -6
- package/android/src/main/res/values-v23/styles.xml +1 -1
- package/android/src/main/res/values-v29/styles.xml +4 -0
- package/android/src/newarch/com/zoontek/rnbootsplash/RNBootSplashModule.java +16 -1
- package/android/src/oldarch/com/zoontek/rnbootsplash/RNBootSplashModule.java +16 -1
- package/dist/commonjs/NativeRNBootSplash.js.map +1 -1
- package/dist/commonjs/NativeRNBootSplash.web.js +1 -0
- package/dist/commonjs/NativeRNBootSplash.web.js.map +1 -1
- package/dist/commonjs/addon/index.js +29 -29
- package/dist/commonjs/addon/index.js.map +1 -1
- package/dist/commonjs/generate.js +9 -7
- package/dist/commonjs/generate.js.map +1 -1
- package/dist/commonjs/index.js +23 -11
- package/dist/commonjs/index.js.map +1 -1
- package/dist/module/NativeRNBootSplash.js.map +1 -1
- package/dist/module/NativeRNBootSplash.web.js +1 -0
- package/dist/module/NativeRNBootSplash.web.js.map +1 -1
- package/dist/module/addon/index.js +29 -29
- package/dist/module/addon/index.js.map +1 -1
- package/dist/module/generate.js +6 -6
- package/dist/module/generate.js.map +1 -1
- package/dist/module/index.js +23 -11
- package/dist/module/index.js.map +1 -1
- package/dist/typescript/NativeRNBootSplash.d.ts +1 -0
- package/dist/typescript/NativeRNBootSplash.d.ts.map +1 -1
- package/dist/typescript/NativeRNBootSplash.web.d.ts +1 -0
- package/dist/typescript/NativeRNBootSplash.web.d.ts.map +1 -1
- package/dist/typescript/addon/index.d.ts.map +1 -1
- package/dist/typescript/generate.d.ts +1 -1
- package/dist/typescript/generate.d.ts.map +1 -1
- package/dist/typescript/index.d.ts +2 -2
- package/dist/typescript/index.d.ts.map +1 -1
- package/ios/RNBootSplash.mm +3 -2
- package/package.json +17 -15
- package/src/NativeRNBootSplash.ts +5 -1
- package/src/NativeRNBootSplash.web.ts +5 -1
- package/src/generate.ts +6 -6
- package/src/index.ts +46 -32
- package/android/src/main/res/anim/bootsplash_fade_in.xml +0 -7
package/README.md
CHANGED
|
@@ -356,7 +356,7 @@ type isVisible = () => Promise<boolean>;
|
|
|
356
356
|
```ts
|
|
357
357
|
import BootSplash from "react-native-bootsplash";
|
|
358
358
|
|
|
359
|
-
|
|
359
|
+
BootSplash.isVisible().then((value) => console.log(value));
|
|
360
360
|
```
|
|
361
361
|
|
|
362
362
|
### useHideAnimation()
|
|
@@ -371,7 +371,7 @@ type useHideAnimation = (config: {
|
|
|
371
371
|
manifest: Manifest; // the manifest file is generated when --assets-output is specified
|
|
372
372
|
|
|
373
373
|
// the required generated assets
|
|
374
|
-
logo
|
|
374
|
+
logo?: ImageRequireSource;
|
|
375
375
|
darkLogo?: ImageRequireSource;
|
|
376
376
|
brand?: ImageRequireSource;
|
|
377
377
|
darkBrand?: ImageRequireSource;
|
|
@@ -385,7 +385,7 @@ type useHideAnimation = (config: {
|
|
|
385
385
|
}) => {
|
|
386
386
|
container: ViewProps;
|
|
387
387
|
logo: ImageProps;
|
|
388
|
-
brand
|
|
388
|
+
brand: ImageProps;
|
|
389
389
|
};
|
|
390
390
|
```
|
|
391
391
|
|
|
@@ -428,8 +428,8 @@ const AnimatedBootSplash = ({ onAnimationEnd }: Props) => {
|
|
|
428
428
|
|
|
429
429
|
return (
|
|
430
430
|
<Animated.View {...container} style={[container.style, { opacity }]}>
|
|
431
|
-
<Image {...logo}
|
|
432
|
-
{/*
|
|
431
|
+
<Image {...logo} />
|
|
432
|
+
{/* <Image {...brand} /> */}
|
|
433
433
|
</Animated.View>
|
|
434
434
|
);
|
|
435
435
|
};
|
|
@@ -2,6 +2,7 @@ package com.zoontek.rnbootsplash;
|
|
|
2
2
|
|
|
3
3
|
import android.app.Activity;
|
|
4
4
|
import android.app.Dialog;
|
|
5
|
+
import android.content.DialogInterface;
|
|
5
6
|
import android.os.Bundle;
|
|
6
7
|
import android.view.Window;
|
|
7
8
|
import android.view.WindowManager;
|
|
@@ -11,7 +12,7 @@ import androidx.annotation.StyleRes;
|
|
|
11
12
|
|
|
12
13
|
public class RNBootSplashDialog extends Dialog {
|
|
13
14
|
|
|
14
|
-
|
|
15
|
+
private final boolean mFade;
|
|
15
16
|
|
|
16
17
|
public RNBootSplashDialog(@NonNull Activity activity, @StyleRes int themeResId, boolean fade) {
|
|
17
18
|
super(activity, themeResId);
|
|
@@ -32,6 +33,68 @@ public class RNBootSplashDialog extends Dialog {
|
|
|
32
33
|
}
|
|
33
34
|
}
|
|
34
35
|
|
|
36
|
+
@Override
|
|
37
|
+
public void dismiss() {
|
|
38
|
+
if (!isShowing()) {
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
try {
|
|
43
|
+
super.dismiss();
|
|
44
|
+
} catch (Exception ignored) {}
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
public void dismiss(@NonNull final Runnable callback) {
|
|
48
|
+
if (!isShowing()) {
|
|
49
|
+
callback.run();
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
setOnDismissListener(new OnDismissListener() {
|
|
54
|
+
@Override
|
|
55
|
+
public void onDismiss(DialogInterface dialog) {
|
|
56
|
+
callback.run();
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
try {
|
|
61
|
+
super.dismiss();
|
|
62
|
+
} catch (Exception ignored) {
|
|
63
|
+
callback.run();
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
@Override
|
|
68
|
+
public void show() {
|
|
69
|
+
if (isShowing()) {
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
try {
|
|
74
|
+
super.show();
|
|
75
|
+
} catch (Exception ignored) {}
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
public void show(@NonNull final Runnable callback) {
|
|
79
|
+
if (isShowing()) {
|
|
80
|
+
callback.run();
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
setOnShowListener(new DialogInterface.OnShowListener() {
|
|
85
|
+
@Override
|
|
86
|
+
public void onShow(DialogInterface dialog) {
|
|
87
|
+
callback.run();
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
|
|
91
|
+
try {
|
|
92
|
+
super.show();
|
|
93
|
+
} catch (Exception ignored) {
|
|
94
|
+
callback.run();
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
|
|
35
98
|
@Override
|
|
36
99
|
protected void onCreate(Bundle savedInstanceState) {
|
|
37
100
|
final Window window = getWindow();
|
|
@@ -42,8 +105,12 @@ public class RNBootSplashDialog extends Dialog {
|
|
|
42
105
|
WindowManager.LayoutParams.MATCH_PARENT
|
|
43
106
|
);
|
|
44
107
|
|
|
45
|
-
|
|
46
|
-
|
|
108
|
+
window.setWindowAnimations(mFade
|
|
109
|
+
? R.style.BootSplashFadeOutAnimation
|
|
110
|
+
: R.style.BootSplashNoAnimation);
|
|
111
|
+
|
|
112
|
+
if (RNBootSplashModuleImpl.isSamsungOneUI4()) {
|
|
113
|
+
window.setBackgroundDrawableResource(R.drawable.compat_splash_screen_oneui_4);
|
|
47
114
|
}
|
|
48
115
|
}
|
|
49
116
|
|
|
@@ -2,7 +2,6 @@ package com.zoontek.rnbootsplash;
|
|
|
2
2
|
|
|
3
3
|
import android.annotation.SuppressLint;
|
|
4
4
|
import android.app.Activity;
|
|
5
|
-
import android.content.DialogInterface;
|
|
6
5
|
import android.content.res.Resources;
|
|
7
6
|
import android.os.Build;
|
|
8
7
|
import android.util.TypedValue;
|
|
@@ -23,6 +22,7 @@ import com.facebook.react.bridge.UiThreadUtil;
|
|
|
23
22
|
import com.facebook.react.common.ReactConstants;
|
|
24
23
|
import com.facebook.react.uimanager.PixelUtil;
|
|
25
24
|
|
|
25
|
+
import java.lang.reflect.Field;
|
|
26
26
|
import java.util.HashMap;
|
|
27
27
|
import java.util.Map;
|
|
28
28
|
import java.util.Timer;
|
|
@@ -43,52 +43,6 @@ public class RNBootSplashModuleImpl {
|
|
|
43
43
|
@Nullable
|
|
44
44
|
private static RNBootSplashDialog mFadeOutDialog = null;
|
|
45
45
|
|
|
46
|
-
private static void showDialog(
|
|
47
|
-
@NonNull final RNBootSplashDialog dialog,
|
|
48
|
-
@NonNull final Runnable callback
|
|
49
|
-
) {
|
|
50
|
-
if (dialog.isShowing()) {
|
|
51
|
-
callback.run();
|
|
52
|
-
return;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
dialog.setOnShowListener(new DialogInterface.OnShowListener() {
|
|
56
|
-
@Override
|
|
57
|
-
public void onShow(DialogInterface dialog) {
|
|
58
|
-
callback.run();
|
|
59
|
-
}
|
|
60
|
-
});
|
|
61
|
-
|
|
62
|
-
try {
|
|
63
|
-
dialog.show();
|
|
64
|
-
} catch (Exception exception) {
|
|
65
|
-
callback.run();
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
private static void dismissDialog(
|
|
70
|
-
@Nullable final RNBootSplashDialog dialog,
|
|
71
|
-
@NonNull final Runnable callback
|
|
72
|
-
) {
|
|
73
|
-
if (dialog == null || !dialog.isShowing()) {
|
|
74
|
-
callback.run();
|
|
75
|
-
return;
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
dialog.setOnDismissListener(new DialogInterface.OnDismissListener() {
|
|
79
|
-
@Override
|
|
80
|
-
public void onDismiss(DialogInterface dialog) {
|
|
81
|
-
callback.run();
|
|
82
|
-
}
|
|
83
|
-
});
|
|
84
|
-
|
|
85
|
-
try {
|
|
86
|
-
dialog.dismiss();
|
|
87
|
-
} catch (Exception exception) {
|
|
88
|
-
callback.run();
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
|
|
92
46
|
protected static void init(
|
|
93
47
|
@Nullable final Activity activity,
|
|
94
48
|
@StyleRes int themeResId
|
|
@@ -125,19 +79,19 @@ public class RNBootSplashModuleImpl {
|
|
|
125
79
|
contentView
|
|
126
80
|
.getViewTreeObserver()
|
|
127
81
|
.addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
82
|
+
@Override
|
|
83
|
+
public boolean onPreDraw() {
|
|
84
|
+
if (mShouldKeepOnScreen) {
|
|
85
|
+
return false;
|
|
86
|
+
}
|
|
133
87
|
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
88
|
+
contentView
|
|
89
|
+
.getViewTreeObserver()
|
|
90
|
+
.removeOnPreDrawListener(this);
|
|
137
91
|
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
92
|
+
return true;
|
|
93
|
+
}
|
|
94
|
+
});
|
|
141
95
|
|
|
142
96
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
|
|
143
97
|
// This is not called on Android 12 when activity is started using intent
|
|
@@ -163,7 +117,7 @@ public class RNBootSplashModuleImpl {
|
|
|
163
117
|
UiThreadUtil.runOnUiThread(new Runnable() {
|
|
164
118
|
@Override
|
|
165
119
|
public void run() {
|
|
166
|
-
|
|
120
|
+
mInitialDialog.show(new Runnable() {
|
|
167
121
|
@Override
|
|
168
122
|
public void run() {
|
|
169
123
|
mShouldKeepOnScreen = false;
|
|
@@ -173,6 +127,24 @@ public class RNBootSplashModuleImpl {
|
|
|
173
127
|
});
|
|
174
128
|
}
|
|
175
129
|
|
|
130
|
+
public static void onHostResume() {
|
|
131
|
+
if (mInitialDialog != null) {
|
|
132
|
+
mInitialDialog.show();
|
|
133
|
+
}
|
|
134
|
+
if (mFadeOutDialog != null) {
|
|
135
|
+
mFadeOutDialog.show();
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
public static void onHostPause() {
|
|
140
|
+
if (mInitialDialog != null) {
|
|
141
|
+
mInitialDialog.dismiss();
|
|
142
|
+
}
|
|
143
|
+
if (mFadeOutDialog != null) {
|
|
144
|
+
mFadeOutDialog.dismiss();
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
|
|
176
148
|
private static void clearPromiseQueue() {
|
|
177
149
|
while (!mPromiseQueue.isEmpty()) {
|
|
178
150
|
Promise promise = mPromiseQueue.shift();
|
|
@@ -220,7 +192,7 @@ public class RNBootSplashModuleImpl {
|
|
|
220
192
|
}
|
|
221
193
|
|
|
222
194
|
if (!fade) {
|
|
223
|
-
|
|
195
|
+
mInitialDialog.dismiss(new Runnable() {
|
|
224
196
|
@Override
|
|
225
197
|
public void run() {
|
|
226
198
|
mInitialDialog = null;
|
|
@@ -234,17 +206,16 @@ public class RNBootSplashModuleImpl {
|
|
|
234
206
|
// Create a new Dialog instance with fade out animation
|
|
235
207
|
mFadeOutDialog = new RNBootSplashDialog(activity, mThemeResId, true);
|
|
236
208
|
|
|
237
|
-
|
|
238
|
-
|
|
209
|
+
mFadeOutDialog.show(new Runnable() {
|
|
239
210
|
@Override
|
|
240
211
|
public void run() {
|
|
241
|
-
dismissDialog(mInitialDialog, new Runnable() {
|
|
242
212
|
|
|
213
|
+
mInitialDialog.dismiss(new Runnable() {
|
|
243
214
|
@Override
|
|
244
215
|
public void run() {
|
|
245
216
|
mInitialDialog = null;
|
|
246
217
|
|
|
247
|
-
|
|
218
|
+
mFadeOutDialog.dismiss(new Runnable() {
|
|
248
219
|
@Override
|
|
249
220
|
public void run() {
|
|
250
221
|
mFadeOutDialog = null;
|
|
@@ -259,6 +230,19 @@ public class RNBootSplashModuleImpl {
|
|
|
259
230
|
});
|
|
260
231
|
}
|
|
261
232
|
|
|
233
|
+
// From https://stackoverflow.com/a/61062773
|
|
234
|
+
public static boolean isSamsungOneUI4() {
|
|
235
|
+
String name = "SEM_PLATFORM_INT";
|
|
236
|
+
|
|
237
|
+
try {
|
|
238
|
+
Field field = Build.VERSION.class.getDeclaredField(name);
|
|
239
|
+
int version = (field.getInt(null) - 90000) / 10000;
|
|
240
|
+
return version == 4;
|
|
241
|
+
} catch (Exception ignored) {
|
|
242
|
+
return false;
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
|
|
262
246
|
public static Map<String, Object> getConstants(final ReactApplicationContext reactContext) {
|
|
263
247
|
final Resources resources = reactContext.getResources();
|
|
264
248
|
HashMap<String, Object> constants = new HashMap<>();
|
|
@@ -273,12 +257,14 @@ public class RNBootSplashModuleImpl {
|
|
|
273
257
|
? PixelUtil.toDIPFromPixel(resources.getDimensionPixelSize(statusBarHeightResId))
|
|
274
258
|
: 0;
|
|
275
259
|
|
|
276
|
-
float navigationBarHeight = navigationBarHeightResId > 0 &&
|
|
260
|
+
float navigationBarHeight = navigationBarHeightResId > 0 &&
|
|
261
|
+
!ViewConfiguration.get(reactContext).hasPermanentMenuKey()
|
|
277
262
|
? PixelUtil.toDIPFromPixel(resources.getDimensionPixelSize(navigationBarHeightResId))
|
|
278
263
|
: 0;
|
|
279
264
|
|
|
280
|
-
constants.put("
|
|
265
|
+
constants.put("logoSizeRatio", isSamsungOneUI4() ? 0.5 : 1);
|
|
281
266
|
constants.put("navigationBarHeight", navigationBarHeight);
|
|
267
|
+
constants.put("statusBarHeight", statusBarHeight);
|
|
282
268
|
|
|
283
269
|
return constants;
|
|
284
270
|
}
|
|
@@ -6,14 +6,10 @@
|
|
|
6
6
|
</item>
|
|
7
7
|
|
|
8
8
|
<item android:gravity="fill">
|
|
9
|
-
<bitmap
|
|
10
|
-
android:src="?bootSplashLogo"
|
|
11
|
-
android:gravity="center" />
|
|
9
|
+
<bitmap android:src="?bootSplashLogo" android:gravity="center" />
|
|
12
10
|
</item>
|
|
13
11
|
|
|
14
12
|
<item android:gravity="fill" android:bottom="60dp">
|
|
15
|
-
<bitmap
|
|
16
|
-
android:src="?bootSplashBrand"
|
|
17
|
-
android:gravity="center_horizontal|bottom" />
|
|
13
|
+
<bitmap android:src="?bootSplashBrand" android:gravity="bottom|center_horizontal" />
|
|
18
14
|
</item>
|
|
19
15
|
</layer-list>
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
+
|
|
3
|
+
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" android:opacity="opaque">
|
|
4
|
+
<item android:gravity="fill">
|
|
5
|
+
<color android:color="?attr/bootSplashBackground" />
|
|
6
|
+
</item>
|
|
7
|
+
|
|
8
|
+
<item android:gravity="fill">
|
|
9
|
+
<bitmap android:src="?bootSplashLogo" android:gravity="center" />
|
|
10
|
+
</item>
|
|
11
|
+
|
|
12
|
+
<item android:gravity="fill" android:bottom="60dp">
|
|
13
|
+
<bitmap android:src="?bootSplashBrand" android:gravity="bottom|center_horizontal" />
|
|
14
|
+
</item>
|
|
15
|
+
</layer-list>
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
+
|
|
3
|
+
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" android:opacity="opaque">
|
|
4
|
+
<item android:gravity="fill">
|
|
5
|
+
<color android:color="?attr/bootSplashBackground" />
|
|
6
|
+
</item>
|
|
7
|
+
|
|
8
|
+
<item
|
|
9
|
+
android:drawable="?bootSplashLogo"
|
|
10
|
+
android:gravity="center"
|
|
11
|
+
android:width="288dp"
|
|
12
|
+
android:height="288dp" />
|
|
13
|
+
|
|
14
|
+
<item
|
|
15
|
+
android:drawable="?bootSplashBrand"
|
|
16
|
+
android:gravity="bottom|center_horizontal"
|
|
17
|
+
android:width="200dp"
|
|
18
|
+
android:height="80dp"
|
|
19
|
+
android:bottom="60dp" />
|
|
20
|
+
</layer-list>
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
+
|
|
3
|
+
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" android:opacity="opaque">
|
|
4
|
+
<item android:gravity="fill">
|
|
5
|
+
<color android:color="?attr/bootSplashBackground" />
|
|
6
|
+
</item>
|
|
7
|
+
|
|
8
|
+
<!-- There's an issue with logo size on Samsung OneUI v4
|
|
9
|
+
We need to render it 2 times smaller (288 / 2 = 144) -->
|
|
10
|
+
<item
|
|
11
|
+
android:drawable="?bootSplashLogo"
|
|
12
|
+
android:gravity="center"
|
|
13
|
+
android:width="144dp"
|
|
14
|
+
android:height="144dp" />
|
|
15
|
+
|
|
16
|
+
<item
|
|
17
|
+
android:drawable="?bootSplashBrand"
|
|
18
|
+
android:gravity="bottom|center_horizontal"
|
|
19
|
+
android:width="200dp"
|
|
20
|
+
android:height="80dp"
|
|
21
|
+
android:bottom="60dp" />
|
|
22
|
+
</layer-list>
|
|
@@ -6,11 +6,6 @@
|
|
|
6
6
|
<item name="android:windowExitAnimation">@null</item>
|
|
7
7
|
</style>
|
|
8
8
|
|
|
9
|
-
<style name="BootSplashFadeInAnimation">
|
|
10
|
-
<item name="android:windowEnterAnimation">@anim/bootsplash_fade_in</item>
|
|
11
|
-
<item name="android:windowExitAnimation">@null</item>
|
|
12
|
-
</style>
|
|
13
|
-
|
|
14
9
|
<style name="BootSplashFadeOutAnimation">
|
|
15
10
|
<item name="android:windowEnterAnimation">@null</item>
|
|
16
11
|
<item name="android:windowExitAnimation">@anim/bootsplash_fade_out</item>
|
|
@@ -21,7 +16,10 @@
|
|
|
21
16
|
<item name="android:windowBackground">@drawable/compat_splash_screen</item>
|
|
22
17
|
</style>
|
|
23
18
|
|
|
24
|
-
<style name="Theme.BootSplash.
|
|
19
|
+
<style name="Theme.BootSplash.DayNight" parent="Theme.BootSplash.Common">
|
|
20
|
+
</style>
|
|
21
|
+
|
|
22
|
+
<style name="Theme.BootSplash.Branded" parent="Theme.BootSplash.DayNight">
|
|
25
23
|
<item name="bootSplashBrand">@drawable/transparent_pixel</item>
|
|
26
24
|
</style>
|
|
27
25
|
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
<?xml version="1.0" encoding="utf-8"?>
|
|
2
2
|
|
|
3
3
|
<resources>
|
|
4
|
+
<style name="Theme.BootSplash.DayNight" parent="Theme.BootSplash.Common">
|
|
5
|
+
<item name="android:forceDarkAllowed">false</item>
|
|
6
|
+
</style>
|
|
7
|
+
|
|
4
8
|
<style name="Theme.BootSplash.EdgeToEdge" parent="Theme.BootSplash.EdgeToEdge.Common">
|
|
5
9
|
<item name="android:windowLayoutInDisplayCutoutMode">shortEdges</item>
|
|
6
10
|
<item name="android:statusBarColor">@android:color/transparent</item>
|
|
@@ -2,6 +2,7 @@ package com.zoontek.rnbootsplash;
|
|
|
2
2
|
|
|
3
3
|
import androidx.annotation.NonNull;
|
|
4
4
|
|
|
5
|
+
import com.facebook.react.bridge.LifecycleEventListener;
|
|
5
6
|
import com.facebook.react.bridge.Promise;
|
|
6
7
|
import com.facebook.react.bridge.ReactApplicationContext;
|
|
7
8
|
import com.facebook.react.module.annotations.ReactModule;
|
|
@@ -9,10 +10,11 @@ import com.facebook.react.module.annotations.ReactModule;
|
|
|
9
10
|
import java.util.Map;
|
|
10
11
|
|
|
11
12
|
@ReactModule(name = RNBootSplashModuleImpl.NAME)
|
|
12
|
-
public class RNBootSplashModule extends NativeRNBootSplashSpec {
|
|
13
|
+
public class RNBootSplashModule extends NativeRNBootSplashSpec implements LifecycleEventListener {
|
|
13
14
|
|
|
14
15
|
public RNBootSplashModule(ReactApplicationContext reactContext) {
|
|
15
16
|
super(reactContext);
|
|
17
|
+
reactContext.addLifecycleEventListener(this);
|
|
16
18
|
}
|
|
17
19
|
|
|
18
20
|
@Override
|
|
@@ -26,6 +28,19 @@ public class RNBootSplashModule extends NativeRNBootSplashSpec {
|
|
|
26
28
|
return RNBootSplashModuleImpl.getConstants(getReactApplicationContext());
|
|
27
29
|
}
|
|
28
30
|
|
|
31
|
+
@Override
|
|
32
|
+
public void onHostDestroy() {}
|
|
33
|
+
|
|
34
|
+
@Override
|
|
35
|
+
public void onHostResume() {
|
|
36
|
+
RNBootSplashModuleImpl.onHostResume();
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
@Override
|
|
40
|
+
public void onHostPause() {
|
|
41
|
+
RNBootSplashModuleImpl.onHostPause();
|
|
42
|
+
}
|
|
43
|
+
|
|
29
44
|
@Override
|
|
30
45
|
public void hide(boolean fade, Promise promise) {
|
|
31
46
|
RNBootSplashModuleImpl.hide(getReactApplicationContext(), fade, promise);
|
|
@@ -3,6 +3,7 @@ package com.zoontek.rnbootsplash;
|
|
|
3
3
|
import androidx.annotation.NonNull;
|
|
4
4
|
import androidx.annotation.Nullable;
|
|
5
5
|
|
|
6
|
+
import com.facebook.react.bridge.LifecycleEventListener;
|
|
6
7
|
import com.facebook.react.bridge.Promise;
|
|
7
8
|
import com.facebook.react.bridge.ReactApplicationContext;
|
|
8
9
|
import com.facebook.react.bridge.ReactContextBaseJavaModule;
|
|
@@ -12,10 +13,11 @@ import com.facebook.react.module.annotations.ReactModule;
|
|
|
12
13
|
import java.util.Map;
|
|
13
14
|
|
|
14
15
|
@ReactModule(name = RNBootSplashModuleImpl.NAME)
|
|
15
|
-
public class RNBootSplashModule extends ReactContextBaseJavaModule {
|
|
16
|
+
public class RNBootSplashModule extends ReactContextBaseJavaModule implements LifecycleEventListener {
|
|
16
17
|
|
|
17
18
|
public RNBootSplashModule(ReactApplicationContext reactContext) {
|
|
18
19
|
super(reactContext);
|
|
20
|
+
reactContext.addLifecycleEventListener(this);
|
|
19
21
|
}
|
|
20
22
|
|
|
21
23
|
@NonNull
|
|
@@ -30,6 +32,19 @@ public class RNBootSplashModule extends ReactContextBaseJavaModule {
|
|
|
30
32
|
return RNBootSplashModuleImpl.getConstants(getReactApplicationContext());
|
|
31
33
|
}
|
|
32
34
|
|
|
35
|
+
@Override
|
|
36
|
+
public void onHostDestroy() {}
|
|
37
|
+
|
|
38
|
+
@Override
|
|
39
|
+
public void onHostResume() {
|
|
40
|
+
RNBootSplashModuleImpl.onHostResume();
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
@Override
|
|
44
|
+
public void onHostPause() {
|
|
45
|
+
RNBootSplashModuleImpl.onHostPause();
|
|
46
|
+
}
|
|
47
|
+
|
|
33
48
|
@ReactMethod
|
|
34
49
|
public void hide(boolean fade, Promise promise) {
|
|
35
50
|
RNBootSplashModuleImpl.hide(getReactApplicationContext(), fade, promise);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_default","exports","default","TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../src","sources":["NativeRNBootSplash.ts"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AAAmD,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_default","exports","default","TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../src","sources":["NativeRNBootSplash.ts"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AAAmD,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAYpCC,gCAAmB,CAACC,YAAY,CAAO,cAAc,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["resolveAfter","delay","Promise","resolve","setTimeout","removeNode","node","parent","parentNode","removeChild","_default","exports","default","getConstants","navigationBarHeight","statusBarHeight","hide","fade","document","fonts","ready","then","container","getElementById","style","transitionProperty","transitionDuration","opacity","isVisible"],"sourceRoot":"../../src","sources":["NativeRNBootSplash.web.ts"],"mappings":";;;;;;AAEA,SAASA,YAAYA,CAACC,KAAa,EAAE;EACnC,OAAO,IAAIC,OAAO,CAAEC,OAAO,IAAKC,UAAU,CAACD,OAAO,EAAEF,KAAK,CAAC,CAAC;AAC7D;AAEA,SAASI,UAAUA,CAACC,IAAiB,EAAE;EACrC,MAAMC,MAAM,GAAGD,IAAI,EAAEE,UAAU;EAE/B,IAAIF,IAAI,IAAI,IAAI,IAAIC,MAAM,IAAI,IAAI,EAAE;IAClCA,MAAM,CAACE,WAAW,CAACH,IAAI,CAAC;EAC1B;AACF;AAAC,IAAAI,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEc;EACbC,YAAY,EAAEA,CAAA,MAAO;
|
|
1
|
+
{"version":3,"names":["resolveAfter","delay","Promise","resolve","setTimeout","removeNode","node","parent","parentNode","removeChild","_default","exports","default","getConstants","logoSizeRatio","navigationBarHeight","statusBarHeight","hide","fade","document","fonts","ready","then","container","getElementById","style","transitionProperty","transitionDuration","opacity","isVisible"],"sourceRoot":"../../src","sources":["NativeRNBootSplash.web.ts"],"mappings":";;;;;;AAEA,SAASA,YAAYA,CAACC,KAAa,EAAE;EACnC,OAAO,IAAIC,OAAO,CAAEC,OAAO,IAAKC,UAAU,CAACD,OAAO,EAAEF,KAAK,CAAC,CAAC;AAC7D;AAEA,SAASI,UAAUA,CAACC,IAAiB,EAAE;EACrC,MAAMC,MAAM,GAAGD,IAAI,EAAEE,UAAU;EAE/B,IAAIF,IAAI,IAAI,IAAI,IAAIC,MAAM,IAAI,IAAI,EAAE;IAClCA,MAAM,CAACE,WAAW,CAACH,IAAI,CAAC;EAC1B;AACF;AAAC,IAAAI,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEc;EACbC,YAAY,EAAEA,CAAA,MAAO;IACnBC,aAAa,EAAE,CAAC;IAChBC,mBAAmB,EAAE,CAAC;IACtBC,eAAe,EAAE;EACnB,CAAC,CAAC;EAEFC,IAAI,EAAGC,IAAI,IACTC,QAAQ,CAACC,KAAK,CAACC,KAAK,CAACC,IAAI,CAAC,MAAM;IAC9B,MAAMC,SAAS,GAAGJ,QAAQ,CAACK,cAAc,CAAC,YAAY,CAAC;IACvD,MAAMC,KAAK,GAAGN,QAAQ,CAACK,cAAc,CAAC,kBAAkB,CAAC;IAEzD,IAAID,SAAS,IAAI,IAAI,IAAI,CAACL,IAAI,EAAE;MAC9Bb,UAAU,CAACkB,SAAS,CAAC;MACrBlB,UAAU,CAACoB,KAAK,CAAC;IACnB,CAAC,MAAM;MACLF,SAAS,CAACE,KAAK,CAACC,kBAAkB,GAAG,SAAS;MAC9CH,SAAS,CAACE,KAAK,CAACE,kBAAkB,GAAG,OAAO;MAC5CJ,SAAS,CAACE,KAAK,CAACG,OAAO,GAAG,GAAG;MAE7B,OAAO5B,YAAY,CAAC,GAAG,CAAC,CAACsB,IAAI,CAAC,MAAM;QAClCjB,UAAU,CAACkB,SAAS,CAAC;QACrBlB,UAAU,CAACoB,KAAK,CAAC;MACnB,CAAC,CAAC;IACJ;EACF,CAAC,CAAC;EAEJI,SAAS,EAAEA,CAAA,KAAM;IACf,MAAMN,SAAS,GAAGJ,QAAQ,CAACK,cAAc,CAAC,YAAY,CAAC;IACvD,OAAOtB,OAAO,CAACC,OAAO,CAACoB,SAAS,IAAI,IAAI,CAAC;EAC3C;AACF,CAAC"}
|