Loading app/src/main/AndroidManifest.xml +14 −1 Original line number Diff line number Diff line Loading @@ -54,11 +54,12 @@ android:clearTaskOnLaunch="true" android:stateNotNeeded="true" android:windowSoftInputMode="adjustPan" android:screenOrientation="unspecified" android:screenOrientation="portrait" android:configChanges="keyboard|keyboardHidden|mcc|mnc|navigation|orientation|screenSize|screenLayout|smallestScreenSize" android:resizeableActivity="true" android:resumeWhilePausing="true" android:taskAffinity="" android:exported="true" android:enabled="true"> <intent-filter> <action android:name="android.intent.action.MAIN" /> Loading Loading @@ -193,6 +194,18 @@ android:resizeableActivity="true" android:resumeWhilePausing="true" android:taskAffinity="" /> <activity android:name=".proxy.ProxyActivityStarter" android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen" android:launchMode="singleTask" android:clearTaskOnLaunch="true" android:exported="false" /> <activity android:name=".quickstep.LockScreenRecentsActivity" android:theme="@android:style/Theme.NoDisplay" android:showOnLockScreen="true" android:directBootAware="true" /> </application> </manifest> No newline at end of file app/src/main/java/foundation/e/blisslauncher/core/customviews/LauncherPagedView.java +1 −1 Original line number Diff line number Diff line Loading @@ -906,7 +906,7 @@ public class LauncherPagedView extends PagedView<PageIndicatorDots> implements V } } void moveToDefaultScreen() { public void moveToDefaultScreen() { int page = DEFAULT_PAGE; if (getNextPage() != page) { snapToPage(page); Loading app/src/main/java/foundation/e/blisslauncher/features/test/SystemUiController.java +1 −1 Original line number Diff line number Diff line Loading @@ -40,7 +40,7 @@ public class SystemUiController { public static final int FLAG_DARK_STATUS = 1 << 3; private final Window mWindow; private final int[] mStates = new int[2]; private final int[] mStates = new int[3]; public SystemUiController(Window window) { mWindow = window; Loading app/src/main/java/foundation/e/blisslauncher/features/test/TestActivity.kt +199 −1 Original line number Diff line number Diff line Loading @@ -3,7 +3,10 @@ package foundation.e.blisslauncher.features.test import android.app.ActivityOptions import android.content.Context import android.content.ContextWrapper import android.content.Intent import android.content.pm.ActivityInfo import android.content.res.Configuration import android.graphics.Point import android.os.Bundle import android.os.StrictMode import android.os.StrictMode.VmPolicy Loading @@ -11,12 +14,16 @@ import android.view.LayoutInflater import android.view.View import foundation.e.blisslauncher.BlissLauncher import foundation.e.blisslauncher.R import foundation.e.blisslauncher.core.customviews.AbstractFloatingView import foundation.e.blisslauncher.core.customviews.LauncherPagedView import foundation.e.blisslauncher.core.database.model.LauncherItem import foundation.e.blisslauncher.core.utils.Constants import foundation.e.blisslauncher.features.launcher.Hotseat import foundation.e.blisslauncher.features.test.LauncherState.* import foundation.e.blisslauncher.features.test.RotationHelper.REQUEST_NONE import foundation.e.blisslauncher.features.test.dragndrop.DragController import foundation.e.blisslauncher.features.test.dragndrop.DragLayer import foundation.e.blisslauncher.features.test.graphics.RotationMode import foundation.e.blisslauncher.uioverrides.UiFactory import io.reactivex.android.schedulers.AndroidSchedulers import io.reactivex.disposables.CompositeDisposable Loading @@ -32,12 +39,28 @@ class TestActivity : BaseDraggingActivity() { private lateinit var mOldConfig: Configuration private var mCompositeDisposable: CompositeDisposable? = null // Type: int private val RUNTIME_STATE_CURRENT_SCREEN = "launcher.current_screen" // Type: int private val RUNTIME_STATE = "launcher.state" // Type: PendingRequestArgs private val RUNTIME_STATE_PENDING_REQUEST_ARGS = "launcher.request_args" // Type: int private val RUNTIME_STATE_PENDING_REQUEST_CODE = "launcher.request_code" // Type: ActivityResultInfo private val RUNTIME_STATE_PENDING_ACTIVITY_RESULT = "launcher.activity_result" private lateinit var launcherView: View private lateinit var dragLayer: DragLayer private lateinit var workspace: LauncherPagedView private lateinit var hotseat: Hotseat private lateinit var rotationHelper: RotationHelper private var mRotationMode = RotationMode.NORMAL private lateinit var mStateManager: LauncherStateManager // UI and state for the overview panel Loading Loading @@ -71,6 +94,8 @@ class TestActivity : BaseDraggingActivity() { super.onCreate(savedInstanceState) TraceHelper.partitionSection("Launcher-onCreate", "super call") val app = LauncherAppState.getInstance(this) app.launcher = this mOldConfig = Configuration(resources.configuration) initDeviceProfile(BlissLauncher.getApplication(this).invariantDeviceProfile) dragController = DragController(this) Loading @@ -78,12 +103,82 @@ class TestActivity : BaseDraggingActivity() { mStateManager = LauncherStateManager(this) launcherView = LayoutInflater.from(this).inflate(R.layout.activity_test, null) setupViews() mAppTransitionManager = LauncherAppTransitionManager.newInstance(this) val internalStateHandled = InternalStateHandler.handleCreate(this, intent) if (internalStateHandled) { savedInstanceState?.remove(RUNTIME_STATE) } restoreState(savedInstanceState) mStateManager.reapplyState() setContentView(launcherView) rootView.dispatchInsets() systemUiController.updateUiState( SystemUiController.UI_STATE_BASE_WINDOW, false ) rotationHelper.initialize() TraceHelper.endSection("Launcher-onCreate") mStateManager.addStateListener(object : LauncherStateManager.StateListener { override fun onStateTransitionStart(toState: LauncherState?) {} override fun onStateTransitionComplete(finalState: LauncherState) { if (finalState === NORMAL) { // TODO: may use later } else if (finalState === OVERVIEW || finalState === OVERVIEW_PEEK) { // TODO: may use later } else { // TODO: may use later } } }) createOrUpdateIconGrid() } /** * Restores the previous state, if it exists. * * @param savedState The previous state. */ private fun restoreState(savedState: Bundle?) { if (savedState == null) { return } val stateOrdinal = savedState.getInt(RUNTIME_STATE, NORMAL.ordinal) val stateValues = LauncherState.values() val state = stateValues[stateOrdinal] if (!state.disableRestore) { mStateManager.goToState(state, false /* animated */) } } override fun onEnterAnimationComplete() { super.onEnterAnimationComplete() UiFactory.onEnterAnimationComplete(this) rotationHelper.setCurrentTransitionRequest(REQUEST_NONE) } override fun onConfigurationChanged(newConfig: Configuration) { val diff = newConfig.diff(mOldConfig) if (diff and ActivityInfo.CONFIG_LOCALE != 0) { //Folder.setLocaleDependentFields(resources, true /* force */) // TODO: Update folder here. } if (diff and (ActivityInfo.CONFIG_ORIENTATION or ActivityInfo.CONFIG_SCREEN_SIZE) != 0) { //onIdpChanged(mDeviceProfile.inv) // TODO: update device profile here. } mOldConfig.setTo(newConfig) UiFactory.onLauncherStateOrResumeChanged(this) super.onConfigurationChanged(newConfig) } private fun setupViews() { dragLayer = findViewById(R.id.drag_layer) workspace = dragLayer.findViewById(R.id.workspace) Loading @@ -99,6 +194,11 @@ class TestActivity : BaseDraggingActivity() { workspace.bindAndInitFirstScreen(null) dragController.addDragListener(workspace) dragController.addDropTarget(workspace) // Setup the drag controller (drop targets have to be added in reverse order in priority) // Setup the drag controller (drop targets have to be added in reverse order in priority) dragController.setMoveTarget(workspace) } override fun <T : View> findViewById(id: Int): T { Loading @@ -110,9 +210,22 @@ class TestActivity : BaseDraggingActivity() { private fun initDeviceProfile(idp: InvariantDeviceProfile) { // Load device specific profile mDeviceProfile = idp.getDeviceProfile(this) if (isInMultiWindowMode) { val display = windowManager.defaultDisplay val mwSize = Point() display.getSize(mwSize) mDeviceProfile = mDeviceProfile.getMultiWindowProfile(this, mwSize) } mRotationMode = RotationMode.NORMAL onDeviceProfileInitiated() } override fun onPause() { super.onPause() dragController.cancelDrag() dragController.resetLastGestureUpTime() } override fun onResume() { super.onResume() if (mOnResumeCallbacks.isNotEmpty()) { Loading @@ -131,6 +244,22 @@ class TestActivity : BaseDraggingActivity() { mCancelTouchController!!.run() mCancelTouchController = null } rotationHelper.destroy() } override fun onUserLeaveHint() { super.onUserLeaveHint() UiFactory.onLauncherStateOrResumeChanged(this) } override fun onWindowFocusChanged(hasFocus: Boolean) { super.onWindowFocusChanged(hasFocus) mStateManager.onWindowFocusChanged() } fun getRotationMode(): RotationMode { return mRotationMode } fun getHotseat() = hotseat Loading @@ -139,7 +268,7 @@ class TestActivity : BaseDraggingActivity() { override fun getDragLayer(): DragLayer = dragLayer override fun <T : View?> getOverviewPanel(): T = overviewPanel as T override fun <T : View> getOverviewPanel(): T = overviewPanel as T override fun getRootView(): LauncherRootView = launcherView as LauncherRootView Loading @@ -154,6 +283,8 @@ class TestActivity : BaseDraggingActivity() { fun getAppTransitionManager() = mAppTransitionManager override fun reapplyUi() { rootView.dispatchInsets() getStateManager().reapplyState(true /* cancelCurrentAnimation */) } fun isWorkspaceLocked() = false Loading Loading @@ -228,6 +359,73 @@ class TestActivity : BaseDraggingActivity() { mOnResumeCallbacks.add(callback) } override fun onNewIntent(intent: Intent?) { TraceHelper.beginSection("NEW_INTENT") super.onNewIntent(intent) val alreadyOnHome = hasWindowFocus() && (intent!!.flags and Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT != Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT) // Check this condition before handling isActionMain, as this will get reset. val shouldMoveToDefaultScreen = (alreadyOnHome && isInState(NORMAL) && AbstractFloatingView.getTopOpenView(this) == null) val isActionMain = Intent.ACTION_MAIN == intent!!.action val internalStateHandled = InternalStateHandler .handleNewIntent(this, intent, isStarted) if (isActionMain) { if (!internalStateHandled) { // In all these cases, only animate if we're already on home AbstractFloatingView.closeAllOpenViews(this, isStarted) if (!isInState(NORMAL)) { // Only change state, if not already the same. This prevents cancelling any // animations running as part of resume mStateManager.goToState(NORMAL) } // Reset the apps view if (!alreadyOnHome) { // TODO: maybe stop icon giggling or search view here. } if (shouldMoveToDefaultScreen && !workspace.isHandlingTouch) { workspace.post(workspace::moveToDefaultScreen) } } val v = window.peekDecorView() if (v != null && v.windowToken != null) { UiThreadHelper.hideKeyboardAsync(this, v.windowToken) } } TraceHelper.endSection("NEW_INTENT") } override fun onBackPressed() { if (finishAutoCancelActionMode()) { return } if (dragController.isDragging()) { dragController.cancelDrag() return } // Note: There should be at most one log per method call. This is enforced implicitly // by using if-else statements. val topView = AbstractFloatingView.getTopOpenView(this) if (topView != null && topView.onBackPressed()) { // Handled by the floating view. } else { mStateManager.state.onBackPressed(this) } } override fun onTrimMemory(level: Int) { super.onTrimMemory(level) UiFactory.onTrimMemory(this, level) } companion object { const val TAG = "Launcher" const val LOGD = false Loading app/src/main/java/foundation/e/blisslauncher/features/test/VariantDeviceProfile.kt +8 −6 Original line number Diff line number Diff line Loading @@ -350,13 +350,15 @@ class VariantDeviceProfile( ) } fun updateInsets(windowInsets: WindowInsets) { fun updateInsets(windowInsets: WindowInsets?) { windowInsets?.let { insets.set( Rect( windowInsets.systemWindowInsetLeft, windowInsets.systemWindowInsetTop, windowInsets.systemWindowInsetRight, windowInsets.systemWindowInsetBottom it.systemWindowInsetLeft, it.systemWindowInsetTop, it.systemWindowInsetRight, it.systemWindowInsetBottom ) ) } updateWorkspacePadding() } Loading Loading
app/src/main/AndroidManifest.xml +14 −1 Original line number Diff line number Diff line Loading @@ -54,11 +54,12 @@ android:clearTaskOnLaunch="true" android:stateNotNeeded="true" android:windowSoftInputMode="adjustPan" android:screenOrientation="unspecified" android:screenOrientation="portrait" android:configChanges="keyboard|keyboardHidden|mcc|mnc|navigation|orientation|screenSize|screenLayout|smallestScreenSize" android:resizeableActivity="true" android:resumeWhilePausing="true" android:taskAffinity="" android:exported="true" android:enabled="true"> <intent-filter> <action android:name="android.intent.action.MAIN" /> Loading Loading @@ -193,6 +194,18 @@ android:resizeableActivity="true" android:resumeWhilePausing="true" android:taskAffinity="" /> <activity android:name=".proxy.ProxyActivityStarter" android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen" android:launchMode="singleTask" android:clearTaskOnLaunch="true" android:exported="false" /> <activity android:name=".quickstep.LockScreenRecentsActivity" android:theme="@android:style/Theme.NoDisplay" android:showOnLockScreen="true" android:directBootAware="true" /> </application> </manifest> No newline at end of file
app/src/main/java/foundation/e/blisslauncher/core/customviews/LauncherPagedView.java +1 −1 Original line number Diff line number Diff line Loading @@ -906,7 +906,7 @@ public class LauncherPagedView extends PagedView<PageIndicatorDots> implements V } } void moveToDefaultScreen() { public void moveToDefaultScreen() { int page = DEFAULT_PAGE; if (getNextPage() != page) { snapToPage(page); Loading
app/src/main/java/foundation/e/blisslauncher/features/test/SystemUiController.java +1 −1 Original line number Diff line number Diff line Loading @@ -40,7 +40,7 @@ public class SystemUiController { public static final int FLAG_DARK_STATUS = 1 << 3; private final Window mWindow; private final int[] mStates = new int[2]; private final int[] mStates = new int[3]; public SystemUiController(Window window) { mWindow = window; Loading
app/src/main/java/foundation/e/blisslauncher/features/test/TestActivity.kt +199 −1 Original line number Diff line number Diff line Loading @@ -3,7 +3,10 @@ package foundation.e.blisslauncher.features.test import android.app.ActivityOptions import android.content.Context import android.content.ContextWrapper import android.content.Intent import android.content.pm.ActivityInfo import android.content.res.Configuration import android.graphics.Point import android.os.Bundle import android.os.StrictMode import android.os.StrictMode.VmPolicy Loading @@ -11,12 +14,16 @@ import android.view.LayoutInflater import android.view.View import foundation.e.blisslauncher.BlissLauncher import foundation.e.blisslauncher.R import foundation.e.blisslauncher.core.customviews.AbstractFloatingView import foundation.e.blisslauncher.core.customviews.LauncherPagedView import foundation.e.blisslauncher.core.database.model.LauncherItem import foundation.e.blisslauncher.core.utils.Constants import foundation.e.blisslauncher.features.launcher.Hotseat import foundation.e.blisslauncher.features.test.LauncherState.* import foundation.e.blisslauncher.features.test.RotationHelper.REQUEST_NONE import foundation.e.blisslauncher.features.test.dragndrop.DragController import foundation.e.blisslauncher.features.test.dragndrop.DragLayer import foundation.e.blisslauncher.features.test.graphics.RotationMode import foundation.e.blisslauncher.uioverrides.UiFactory import io.reactivex.android.schedulers.AndroidSchedulers import io.reactivex.disposables.CompositeDisposable Loading @@ -32,12 +39,28 @@ class TestActivity : BaseDraggingActivity() { private lateinit var mOldConfig: Configuration private var mCompositeDisposable: CompositeDisposable? = null // Type: int private val RUNTIME_STATE_CURRENT_SCREEN = "launcher.current_screen" // Type: int private val RUNTIME_STATE = "launcher.state" // Type: PendingRequestArgs private val RUNTIME_STATE_PENDING_REQUEST_ARGS = "launcher.request_args" // Type: int private val RUNTIME_STATE_PENDING_REQUEST_CODE = "launcher.request_code" // Type: ActivityResultInfo private val RUNTIME_STATE_PENDING_ACTIVITY_RESULT = "launcher.activity_result" private lateinit var launcherView: View private lateinit var dragLayer: DragLayer private lateinit var workspace: LauncherPagedView private lateinit var hotseat: Hotseat private lateinit var rotationHelper: RotationHelper private var mRotationMode = RotationMode.NORMAL private lateinit var mStateManager: LauncherStateManager // UI and state for the overview panel Loading Loading @@ -71,6 +94,8 @@ class TestActivity : BaseDraggingActivity() { super.onCreate(savedInstanceState) TraceHelper.partitionSection("Launcher-onCreate", "super call") val app = LauncherAppState.getInstance(this) app.launcher = this mOldConfig = Configuration(resources.configuration) initDeviceProfile(BlissLauncher.getApplication(this).invariantDeviceProfile) dragController = DragController(this) Loading @@ -78,12 +103,82 @@ class TestActivity : BaseDraggingActivity() { mStateManager = LauncherStateManager(this) launcherView = LayoutInflater.from(this).inflate(R.layout.activity_test, null) setupViews() mAppTransitionManager = LauncherAppTransitionManager.newInstance(this) val internalStateHandled = InternalStateHandler.handleCreate(this, intent) if (internalStateHandled) { savedInstanceState?.remove(RUNTIME_STATE) } restoreState(savedInstanceState) mStateManager.reapplyState() setContentView(launcherView) rootView.dispatchInsets() systemUiController.updateUiState( SystemUiController.UI_STATE_BASE_WINDOW, false ) rotationHelper.initialize() TraceHelper.endSection("Launcher-onCreate") mStateManager.addStateListener(object : LauncherStateManager.StateListener { override fun onStateTransitionStart(toState: LauncherState?) {} override fun onStateTransitionComplete(finalState: LauncherState) { if (finalState === NORMAL) { // TODO: may use later } else if (finalState === OVERVIEW || finalState === OVERVIEW_PEEK) { // TODO: may use later } else { // TODO: may use later } } }) createOrUpdateIconGrid() } /** * Restores the previous state, if it exists. * * @param savedState The previous state. */ private fun restoreState(savedState: Bundle?) { if (savedState == null) { return } val stateOrdinal = savedState.getInt(RUNTIME_STATE, NORMAL.ordinal) val stateValues = LauncherState.values() val state = stateValues[stateOrdinal] if (!state.disableRestore) { mStateManager.goToState(state, false /* animated */) } } override fun onEnterAnimationComplete() { super.onEnterAnimationComplete() UiFactory.onEnterAnimationComplete(this) rotationHelper.setCurrentTransitionRequest(REQUEST_NONE) } override fun onConfigurationChanged(newConfig: Configuration) { val diff = newConfig.diff(mOldConfig) if (diff and ActivityInfo.CONFIG_LOCALE != 0) { //Folder.setLocaleDependentFields(resources, true /* force */) // TODO: Update folder here. } if (diff and (ActivityInfo.CONFIG_ORIENTATION or ActivityInfo.CONFIG_SCREEN_SIZE) != 0) { //onIdpChanged(mDeviceProfile.inv) // TODO: update device profile here. } mOldConfig.setTo(newConfig) UiFactory.onLauncherStateOrResumeChanged(this) super.onConfigurationChanged(newConfig) } private fun setupViews() { dragLayer = findViewById(R.id.drag_layer) workspace = dragLayer.findViewById(R.id.workspace) Loading @@ -99,6 +194,11 @@ class TestActivity : BaseDraggingActivity() { workspace.bindAndInitFirstScreen(null) dragController.addDragListener(workspace) dragController.addDropTarget(workspace) // Setup the drag controller (drop targets have to be added in reverse order in priority) // Setup the drag controller (drop targets have to be added in reverse order in priority) dragController.setMoveTarget(workspace) } override fun <T : View> findViewById(id: Int): T { Loading @@ -110,9 +210,22 @@ class TestActivity : BaseDraggingActivity() { private fun initDeviceProfile(idp: InvariantDeviceProfile) { // Load device specific profile mDeviceProfile = idp.getDeviceProfile(this) if (isInMultiWindowMode) { val display = windowManager.defaultDisplay val mwSize = Point() display.getSize(mwSize) mDeviceProfile = mDeviceProfile.getMultiWindowProfile(this, mwSize) } mRotationMode = RotationMode.NORMAL onDeviceProfileInitiated() } override fun onPause() { super.onPause() dragController.cancelDrag() dragController.resetLastGestureUpTime() } override fun onResume() { super.onResume() if (mOnResumeCallbacks.isNotEmpty()) { Loading @@ -131,6 +244,22 @@ class TestActivity : BaseDraggingActivity() { mCancelTouchController!!.run() mCancelTouchController = null } rotationHelper.destroy() } override fun onUserLeaveHint() { super.onUserLeaveHint() UiFactory.onLauncherStateOrResumeChanged(this) } override fun onWindowFocusChanged(hasFocus: Boolean) { super.onWindowFocusChanged(hasFocus) mStateManager.onWindowFocusChanged() } fun getRotationMode(): RotationMode { return mRotationMode } fun getHotseat() = hotseat Loading @@ -139,7 +268,7 @@ class TestActivity : BaseDraggingActivity() { override fun getDragLayer(): DragLayer = dragLayer override fun <T : View?> getOverviewPanel(): T = overviewPanel as T override fun <T : View> getOverviewPanel(): T = overviewPanel as T override fun getRootView(): LauncherRootView = launcherView as LauncherRootView Loading @@ -154,6 +283,8 @@ class TestActivity : BaseDraggingActivity() { fun getAppTransitionManager() = mAppTransitionManager override fun reapplyUi() { rootView.dispatchInsets() getStateManager().reapplyState(true /* cancelCurrentAnimation */) } fun isWorkspaceLocked() = false Loading Loading @@ -228,6 +359,73 @@ class TestActivity : BaseDraggingActivity() { mOnResumeCallbacks.add(callback) } override fun onNewIntent(intent: Intent?) { TraceHelper.beginSection("NEW_INTENT") super.onNewIntent(intent) val alreadyOnHome = hasWindowFocus() && (intent!!.flags and Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT != Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT) // Check this condition before handling isActionMain, as this will get reset. val shouldMoveToDefaultScreen = (alreadyOnHome && isInState(NORMAL) && AbstractFloatingView.getTopOpenView(this) == null) val isActionMain = Intent.ACTION_MAIN == intent!!.action val internalStateHandled = InternalStateHandler .handleNewIntent(this, intent, isStarted) if (isActionMain) { if (!internalStateHandled) { // In all these cases, only animate if we're already on home AbstractFloatingView.closeAllOpenViews(this, isStarted) if (!isInState(NORMAL)) { // Only change state, if not already the same. This prevents cancelling any // animations running as part of resume mStateManager.goToState(NORMAL) } // Reset the apps view if (!alreadyOnHome) { // TODO: maybe stop icon giggling or search view here. } if (shouldMoveToDefaultScreen && !workspace.isHandlingTouch) { workspace.post(workspace::moveToDefaultScreen) } } val v = window.peekDecorView() if (v != null && v.windowToken != null) { UiThreadHelper.hideKeyboardAsync(this, v.windowToken) } } TraceHelper.endSection("NEW_INTENT") } override fun onBackPressed() { if (finishAutoCancelActionMode()) { return } if (dragController.isDragging()) { dragController.cancelDrag() return } // Note: There should be at most one log per method call. This is enforced implicitly // by using if-else statements. val topView = AbstractFloatingView.getTopOpenView(this) if (topView != null && topView.onBackPressed()) { // Handled by the floating view. } else { mStateManager.state.onBackPressed(this) } } override fun onTrimMemory(level: Int) { super.onTrimMemory(level) UiFactory.onTrimMemory(this, level) } companion object { const val TAG = "Launcher" const val LOGD = false Loading
app/src/main/java/foundation/e/blisslauncher/features/test/VariantDeviceProfile.kt +8 −6 Original line number Diff line number Diff line Loading @@ -350,13 +350,15 @@ class VariantDeviceProfile( ) } fun updateInsets(windowInsets: WindowInsets) { fun updateInsets(windowInsets: WindowInsets?) { windowInsets?.let { insets.set( Rect( windowInsets.systemWindowInsetLeft, windowInsets.systemWindowInsetTop, windowInsets.systemWindowInsetRight, windowInsets.systemWindowInsetBottom it.systemWindowInsetLeft, it.systemWindowInsetTop, it.systemWindowInsetRight, it.systemWindowInsetBottom ) ) } updateWorkspacePadding() } Loading