0

I force restart react native application after installing code push update using codePush.restartApp(true). At the moment of restart, a white screen appears for a second and then the splash screen from react-native-bootsplash is shown. Please tell me how to get rid of this white screen

Here is the reboot initialization and codePush configuration

if (intervalId) {
      return clearInterval(intervalId)
    }
    const codePushSyncCallback = (status: codePush.SyncStatus) => {
      switch (status) {
        case codePush.SyncStatus.CHECKING_FOR_UPDATE: {
          rootStore.userStorage.setIsShowProgressBar(false)
          rootStore.userStorage.setUpdateStatus(status);
          setStatus(status);
          break;
        }
        case codePush.SyncStatus.UP_TO_DATE: {
          rootStore.userStorage.setIsShowProgressBar(false)
          rootStore.userStorage.setUpdateStatus(status)
          setStatus(status)
          rootStore.userStorage.setUpdateProgress(50)

          intervalId = setInterval(async () => {
            if (rootStore.userStorage.updateProgress === 100) {
              if (Platform.OS === 'android') {
                await changeNavigationBarColor(WHITE, true, true)
              }
              rootStore.userStorage.setIsShowUpdateProgress(false)
              return
            }
            rootStore.userStorage.setUpdateProgress(rootStore.userStorage.updateProgress + 10)
          }, 500)
          break;
        }
        case codePush.SyncStatus.DOWNLOADING_PACKAGE: {
          rootStore.userStorage.setIsShowProgressBar(true)
          rootStore.userStorage.setIsShowUpdateProgress(true)
          rootStore.userStorage.setUpdateStatus(status);
          if (Platform.OS === 'android') {
            changeNavigationBarColor(CUSTOM_BLUE, true, true)
          }
          setStatus(status);
          break;
        }
        case codePush.SyncStatus.INSTALLING_UPDATE: {
          rootStore.userStorage.setUpdateStatus(status);
          setStatus(status);
          break;
        }
        case codePush.SyncStatus.UPDATE_INSTALLED: {
          rootStore.userStorage.setUpdateStatus(status);
          setStatus(status);
          rootStore.userStorage.setIsShowProgressBar(false)
          rootStore.userStorage.setIsShowUpdateProgress(false)
          **codePush.allowRestart();
          codePush.restartApp(true);**
          break;
        }
        case codePush.SyncStatus.UNKNOWN_ERROR: {
          rootStore.userStorage.setIsShowProgressBar(false)
          rootStore.userStorage.setUpdateStatus(status);
          rootStore.userStorage.setIsShowUpdateProgress(false)
          if (Platform.OS === 'android') {
            changeNavigationBarColor(CUSTOM_BLUE, true, true)
          }
          setStatus(status);
          break;
        }
        default: {
          break
        }
      }
    }

    **codePush.sync**(
      codePushOptions,
      codePushSyncCallback,
      (progress) => {
        const percentage = Math.floor((progress.receivedBytes / progress.totalBytes) * 100)
        rootStore.userStorage.setUpdateProgress(percentage)
        setProgress(percentage)
      }
    )

0 Answers0