Skip to content

Commit db941ce

Browse files
committed
Fix White page is shown instead plaid in landscape
1 parent 897ef5c commit db941ce

2 files changed

Lines changed: 23 additions & 0 deletions

File tree

android/app/src/main/AndroidManifest.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -167,6 +167,7 @@
167167
<activity
168168
android:name="com.plaid.internal.link.LinkActivity"
169169
android:launchMode="singleTask"
170+
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|screenSize|smallestScreenSize|uiMode"
170171
tools:replace="android:launchMode"/>
171172

172173
<meta-data

android/app/src/main/java/com/expensify/chat/MainApplication.kt

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,13 @@ package com.expensify.chat
22

33
import com.facebook.react.common.assets.ReactFontManager
44

5+
import android.app.Activity
56
import android.app.ActivityManager
7+
import android.app.Application
8+
import android.content.pm.ActivityInfo
69
import android.content.res.Configuration
710
import android.database.CursorWindow
11+
import android.os.Bundle
812
import android.os.Process
913
import androidx.multidex.MultiDexApplication
1014
import com.expensify.chat.bootsplash.BootSplashPackage
@@ -42,6 +46,24 @@ class MainApplication : MultiDexApplication(), ReactApplication {
4246

4347
override fun onCreate() {
4448
super.onCreate()
49+
50+
// Plaid's LinkActivity calls setRequestedOrientation(PORTRAIT) in its own onCreate(),
51+
// which forces the UI to portrait even when the device is in landscape. We override it
52+
// here so Plaid can render in whichever orientation the device is actually in.
53+
registerActivityLifecycleCallbacks(object : Application.ActivityLifecycleCallbacks {
54+
override fun onActivityCreated(activity: Activity, savedInstanceState: Bundle?) {
55+
if (activity.javaClass.name == "com.plaid.internal.link.LinkActivity") {
56+
activity.requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED
57+
}
58+
}
59+
override fun onActivityStarted(activity: Activity) {}
60+
override fun onActivityResumed(activity: Activity) {}
61+
override fun onActivityPaused(activity: Activity) {}
62+
override fun onActivityStopped(activity: Activity) {}
63+
override fun onActivitySaveInstanceState(activity: Activity, outState: Bundle) {}
64+
override fun onActivityDestroyed(activity: Activity) {}
65+
})
66+
4567
ReactFontManager.getInstance().addCustomFont(this, "Custom Emoji Font", R.font.custom_emoji_font)
4668
ReactFontManager.getInstance().addCustomFont(this, "Expensify New Kansas", R.font.expensify_new_kansas)
4769
ReactFontManager.getInstance().addCustomFont(this, "Expensify Neue", R.font.expensify_neue)

0 commit comments

Comments
 (0)