fix: Fix activity recreate logic when downloading split language apk
This commit is contained in:
parent
6ec2e6ee9a
commit
71b2f8bc32
1 changed files with 3 additions and 1 deletions
|
@ -12,6 +12,7 @@ import com.google.android.play.core.splitinstall.SplitInstallManagerFactory
|
||||||
import com.google.android.play.core.splitinstall.SplitInstallRequest
|
import com.google.android.play.core.splitinstall.SplitInstallRequest
|
||||||
import com.google.android.play.core.splitinstall.SplitInstallSessionState
|
import com.google.android.play.core.splitinstall.SplitInstallSessionState
|
||||||
import com.google.android.play.core.splitinstall.SplitInstallStateUpdatedListener
|
import com.google.android.play.core.splitinstall.SplitInstallStateUpdatedListener
|
||||||
|
import com.google.android.play.core.splitinstall.model.SplitInstallSessionStatus
|
||||||
import java.util.*
|
import java.util.*
|
||||||
|
|
||||||
fun Context.setUpMediaRouteButton(menu: Menu) {
|
fun Context.setUpMediaRouteButton(menu: Menu) {
|
||||||
|
@ -24,7 +25,8 @@ fun FragmentActivity.installLanguageAndRecreate(code: String) {
|
||||||
val manager = SplitInstallManagerFactory.create(this)
|
val manager = SplitInstallManagerFactory.create(this)
|
||||||
val listener = object: SplitInstallStateUpdatedListener{
|
val listener = object: SplitInstallStateUpdatedListener{
|
||||||
override fun onStateUpdate(state: SplitInstallSessionState) {
|
override fun onStateUpdate(state: SplitInstallSessionState) {
|
||||||
if (state.sessionId() == mySessionId) {
|
// Restart the activity if the language is installed (sessionId is same and status is installed)
|
||||||
|
if (state.sessionId() == mySessionId && state.status() == SplitInstallSessionStatus.INSTALLED) {
|
||||||
recreate()
|
recreate()
|
||||||
manager.unregisterListener(this)
|
manager.unregisterListener(this)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue