my fork of the bluesky client

Fix android splash jump (#3316)

* Setup translucent status bar of splash screen on android (#3300)

Co-authored-by: Eric Bailey <git@esb.lol>

* Fix conflict better

---------

Co-authored-by: Eiichi Yoshikawa <edo@bari-ikutsu.com>

authored by

Eric Bailey
Eric Bailey
Eiichi Yoshikawa
and committed by
GitHub
7503d83e 396d183d

+29 -3
+1
app.config.js
··· 161 './plugins/withAndroidManifestPlugin.js', 162 './plugins/withAndroidManifestFCMIconPlugin.js', 163 './plugins/withAndroidStylesWindowBackgroundPlugin.js', 164 './plugins/shareExtension/withShareExtensions.js', 165 ].filter(Boolean), 166 extra: {
··· 161 './plugins/withAndroidManifestPlugin.js', 162 './plugins/withAndroidManifestFCMIconPlugin.js', 163 './plugins/withAndroidStylesWindowBackgroundPlugin.js', 164 + './plugins/withAndroidSplashScreenStatusBarTranslucentPlugin.js', 165 './plugins/shareExtension/withShareExtensions.js', 166 ].filter(Boolean), 167 extra: {
+28
plugins/withAndroidSplashScreenStatusBarTranslucentPlugin.js
···
··· 1 + const {withStringsXml, AndroidConfig} = require('@expo/config-plugins') 2 + 3 + module.exports = function withAndroidSplashScreenStatusBarTranslucentPlugin( 4 + appConfig, 5 + ) { 6 + return withStringsXml(appConfig, function (decoratedAppConfig) { 7 + try { 8 + decoratedAppConfig.modResults = AndroidConfig.Strings.setStringItem( 9 + [ 10 + { 11 + _: 'true', 12 + $: { 13 + name: 'expo_splash_screen_status_bar_translucent', 14 + translatable: 'false', 15 + }, 16 + }, 17 + ], 18 + decoratedAppConfig.modResults, 19 + ) 20 + } catch (e) { 21 + console.error( 22 + `withAndroidSplashScreenStatusBarTranslucentPlugin failed`, 23 + e, 24 + ) 25 + } 26 + return decoratedAppConfig 27 + }) 28 + }
-3
src/App.native.tsx
··· 10 SafeAreaProvider, 11 } from 'react-native-safe-area-context' 12 import * as SplashScreen from 'expo-splash-screen' 13 - import {StatusBar} from 'expo-status-bar' 14 import {msg} from '@lingui/macro' 15 import {useLingui} from '@lingui/react' 16 import {PersistQueryClientProvider} from '@tanstack/react-query-persist-client' ··· 28 } from 'lib/react-query' 29 import {s} from 'lib/styles' 30 import {ThemeProvider} from 'lib/ThemeContext' 31 - import {isAndroid} from 'platform/detection' 32 import {Provider as DialogStateProvider} from 'state/dialogs' 33 import {Provider as InvitesStateProvider} from 'state/invites' 34 import {Provider as LightboxStateProvider} from 'state/lightbox' ··· 76 77 return ( 78 <SafeAreaProvider initialMetrics={initialWindowMetrics}> 79 - {isAndroid && <StatusBar />} 80 <Alf theme={theme}> 81 <Splash isReady={!isInitialLoad}> 82 <React.Fragment
··· 10 SafeAreaProvider, 11 } from 'react-native-safe-area-context' 12 import * as SplashScreen from 'expo-splash-screen' 13 import {msg} from '@lingui/macro' 14 import {useLingui} from '@lingui/react' 15 import {PersistQueryClientProvider} from '@tanstack/react-query-persist-client' ··· 27 } from 'lib/react-query' 28 import {s} from 'lib/styles' 29 import {ThemeProvider} from 'lib/ThemeContext' 30 import {Provider as DialogStateProvider} from 'state/dialogs' 31 import {Provider as InvitesStateProvider} from 'state/invites' 32 import {Provider as LightboxStateProvider} from 'state/lightbox' ··· 74 75 return ( 76 <SafeAreaProvider initialMetrics={initialWindowMetrics}> 77 <Alf theme={theme}> 78 <Splash isReady={!isInitialLoad}> 79 <React.Fragment