From 5a127f3e4c8f7bca640d8d165a8c7ed0df73f808 Mon Sep 17 00:00:00 2001 From: Paolo Vernazza Date: Mon, 4 Jan 2021 18:34:05 +0100 Subject: [PATCH] fix: activity Intent can be NULL --- .../core/LocalizationActivityDelegate.kt | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/localization/src/main/java/com/akexorcist/localizationactivity/core/LocalizationActivityDelegate.kt b/localization/src/main/java/com/akexorcist/localizationactivity/core/LocalizationActivityDelegate.kt index 12c9f20..ec63b7c 100644 --- a/localization/src/main/java/com/akexorcist/localizationactivity/core/LocalizationActivityDelegate.kt +++ b/localization/src/main/java/com/akexorcist/localizationactivity/core/LocalizationActivityDelegate.kt @@ -2,6 +2,7 @@ package com.akexorcist.localizationactivity.core import android.app.Activity import android.content.Context +import android.content.Intent import android.content.res.Configuration import android.content.res.Resources import android.os.Build @@ -137,10 +138,10 @@ open class LocalizationActivityDelegate(val activity: Activity) { // If yes, bundle will be remove and set boolean flag to "true". private fun checkBeforeLocaleChanging() { val isLocalizationChanged = - activity.intent.getBooleanExtra(KEY_ACTIVITY_LOCALE_CHANGED, false) + activity.intent?.getBooleanExtra(KEY_ACTIVITY_LOCALE_CHANGED, false) ?: false if (isLocalizationChanged) { this.isLocalizationChanged = true - activity.intent.removeExtra(KEY_ACTIVITY_LOCALE_CHANGED) + activity.intent?.removeExtra(KEY_ACTIVITY_LOCALE_CHANGED) } } @@ -162,6 +163,9 @@ open class LocalizationActivityDelegate(val activity: Activity) { // Let's take it change! (Using recreate method that available on API 11 or more. private fun notifyLanguageChanged() { sendOnBeforeLocaleChangedEvent() + if (activity.intent == null) + activity.intent = Intent() + activity.intent.putExtra(KEY_ACTIVITY_LOCALE_CHANGED, true) activity.recreate() }