Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Android][sdk39] Make SplashScreen methods work in SDK39 #10294

Expand Up @@ -39,7 +39,7 @@
import androidx.core.app.NotificationCompat;
import androidx.core.content.ContextCompat;
import de.greenrobot.event.EventBus;
import expo.modules.splashscreen.SplashScreen;
import expo.modules.splashscreen.singletons.SplashScreen;
import host.exp.exponent.ABIVersion;
import host.exp.exponent.AppLoader;
import host.exp.exponent.Constants;
Expand Down
Expand Up @@ -35,7 +35,7 @@
import expo.modules.medialibrary.MediaLibraryPackage;
import expo.modules.notifications.NotificationsPackage;
import expo.modules.permissions.PermissionsPackage;
import expo.modules.splashscreen.SplashScreen;
import expo.modules.splashscreen.singletons.SplashScreen;
import expo.modules.splashscreen.SplashScreenImageResizeMode;
import expo.modules.splashscreen.SplashScreenPackage;
import expo.modules.taskManager.TaskManagerPackage;
Expand Down
Expand Up @@ -3,7 +3,7 @@
import android.app.Activity;
import android.content.Context;

import expo.modules.splashscreen.SplashScreen;
import expo.modules.splashscreen.singletons.SplashScreen;
import host.exp.exponent.kernel.ExperienceId;

/**
Expand Down
Expand Up @@ -9,6 +9,10 @@ import abi39_0_0.org.unimodules.core.errors.CurrentActivityNotFoundException
import abi39_0_0.org.unimodules.core.interfaces.ActivityProvider
import abi39_0_0.org.unimodules.core.interfaces.ExpoMethod

// Below import is added explicitly to provide a redirection from versioned code realm to unversioned code realm.
bbarthec marked this conversation as resolved.
Show resolved Hide resolved
// Without this import any `SplashScreen.methodName(...)` invocation on JS side ends up in versioned SplashScreen kotlin object that stores no information about the ExperienceActivity.
import expo.modules.splashscreen.singletons.SplashScreen

class SplashScreenModule(context: Context) : ExportedModule(context) {
companion object {
private const val NAME = "ExpoSplashScreen"
Expand Down
Expand Up @@ -9,6 +9,12 @@ import org.unimodules.core.errors.CurrentActivityNotFoundException
import org.unimodules.core.interfaces.ActivityProvider
import org.unimodules.core.interfaces.ExpoMethod

// Below import must be kept unversioned even in versioned code to provide a redirection from
// versioned code realm to unversioned code realm.
// Without this import any `SplashScreen.anyMethodName(...)` invocation on JS side ends up
// in versioned SplashScreen kotlin object that stores no information about the ExperienceActivity.
import expo.modules.splashscreen.singletons.SplashScreen

class SplashScreenModule(context: Context) : ExportedModule(context) {
companion object {
private const val NAME = "ExpoSplashScreen"
Expand Down
@@ -1,7 +1,7 @@
package expo.modules.splashscreen

import android.content.Context
import expo.modules.splashscreen.SplashScreenModule
import expo.modules.splashscreen.singletons.SplashScreen

import org.unimodules.core.BasePackage
import org.unimodules.core.ExportedModule
Expand Down
@@ -1,8 +1,12 @@
package expo.modules.splashscreen
package expo.modules.splashscreen.singletons

import android.app.Activity
import android.util.Log
import android.view.ViewGroup
import expo.modules.splashscreen.NativeResourcesBasedSplashScreenViewProvider
import expo.modules.splashscreen.SplashScreenController
import expo.modules.splashscreen.SplashScreenImageResizeMode
import expo.modules.splashscreen.SplashScreenViewProvider
import org.unimodules.core.interfaces.SingletonModule
import java.util.*

Expand Down
@@ -1,13 +1,8 @@
package expo.modules.splashscreen
package expo.modules.splashscreen.singletons

import android.annotation.SuppressLint
import android.app.Activity
import android.content.res.Configuration
import android.os.Build
import android.view.View
import android.view.WindowManager
import androidx.annotation.ColorInt
import androidx.annotation.UiThread
import androidx.core.view.ViewCompat

object SplashScreenStatusBar {
Expand Down
Expand Up @@ -27,4 +27,5 @@ expo.modules.updates.db
expo.modules.updates.launcher
expo.modules.updates.loader
expo.modules.updates.manifest
expo.modules.splashscreen.singletons.SplashScreen
com.facebook.proguard.annotations.DoNotStrip