|
29 | 29 | import android.content.res.Resources; |
30 | 30 | import android.os.Bundle; |
31 | 31 |
|
32 | | -import com.clevertap.android.sdk.ActivityLifecycleCallback; |
33 | 32 | import com.leanplum.actions.internal.ActionManagerExecutionKt; |
34 | 33 | import com.leanplum.annotations.Parser; |
35 | 34 | import com.leanplum.internal.ActionManager; |
36 | 35 | import com.leanplum.internal.Constants; |
37 | 36 | import com.leanplum.internal.LeanplumInternal; |
38 | 37 | import com.leanplum.internal.Log; |
39 | | - |
40 | 38 | import com.leanplum.internal.OperationQueue; |
41 | 39 | import com.leanplum.migration.MigrationManager; |
42 | 40 | import com.leanplum.utils.BuildUtil; |
| 41 | + |
43 | 42 | import java.util.LinkedList; |
44 | 43 | import java.util.Queue; |
45 | 44 |
|
@@ -339,14 +338,14 @@ private static void onStop(Activity activity) { |
339 | 338 | } |
340 | 339 |
|
341 | 340 | private static void onDestroy(Activity activity) { |
342 | | - if (isActivityPaused && |
343 | | - lastForegroundActivity != null && |
344 | | - lastForegroundActivity.equals(activity)) { |
345 | | - // prevent activity leak |
| 341 | + if (activity == lastForegroundActivity) { |
| 342 | + // lastForegroundActivity is being destroyed, release the reference |
346 | 343 | lastForegroundActivity = null; |
347 | | - // no activity is presented and last activity is being destroyed |
348 | | - // dismiss inapp dialogs to prevent leak |
349 | | - ActionManagerExecutionKt.dismissCurrentAction(ActionManager.getInstance()); |
| 344 | + if (isActivityPaused) { |
| 345 | + // no activity is presented and last activity is being destroyed |
| 346 | + // dismiss inapp dialogs to prevent leak |
| 347 | + ActionManagerExecutionKt.dismissCurrentAction(ActionManager.getInstance()); |
| 348 | + } |
350 | 349 | } |
351 | 350 | } |
352 | 351 |
|
|
0 commit comments