Skip to content

Commit

Permalink
Fix Launcher activity immediately finishing on new intent
Browse files Browse the repository at this point in the history
Fix #177
  • Loading branch information
MM2-0 committed Sep 27, 2022
1 parent 9bb457b commit bbcb087
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 12 deletions.
Original file line number Diff line number Diff line change
@@ -1,4 +1,23 @@
package de.mm20.launcher2.ui.launcher

import android.content.Intent
import com.android.launcher3.GestureNavContract

class LauncherActivity: SharedLauncherActivity(LauncherActivityMode.Launcher)

class LauncherActivity: SharedLauncherActivity(LauncherActivityMode.Launcher) {
override fun onNewIntent(intent: Intent?) {
super.onNewIntent(intent)
val navContract = intent?.let { GestureNavContract.fromIntent(it) }
if (navContract != null) {
homeTransitionManager.resolve(navContract)
} else {
onBackPressed()
}
}

override fun onBackPressed() {
if (onBackPressedDispatcher.hasEnabledCallbacks()) {
onBackPressedDispatcher.onBackPressed()
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import android.content.Intent
import android.content.res.Configuration
import android.content.res.Resources
import android.os.Bundle
import android.util.Log
import androidx.activity.compose.setContent
import androidx.activity.viewModels
import androidx.compose.foundation.background
Expand All @@ -23,6 +24,7 @@ import androidx.compose.ui.geometry.Size
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.graphicsLayer
import androidx.compose.ui.input.pointer.pointerInput
import androidx.core.view.ViewCompat
import androidx.core.view.WindowCompat
import androidx.core.view.WindowInsetsControllerCompat
import androidx.lifecycle.Lifecycle
Expand Down Expand Up @@ -55,7 +57,7 @@ abstract class SharedLauncherActivity(

private val viewModel: LauncherActivityVM by viewModels()

private val homeTransitionManager = HomeTransitionManager()
internal val homeTransitionManager = HomeTransitionManager()

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
Expand Down Expand Up @@ -188,16 +190,6 @@ abstract class SharedLauncherActivity(
WindowInsetsControllerCompat.BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE
}

override fun onNewIntent(intent: Intent?) {
super.onNewIntent(intent)
val navContract = intent?.let { GestureNavContract.fromIntent(it) }
if (navContract != null) {
homeTransitionManager.resolve(navContract)
} else {
onBackPressed()
}
}

enum class LauncherActivityMode {
Launcher,
Assistant
Expand Down

0 comments on commit bbcb087

Please sign in to comment.