1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- From: csagan5 <32685696+csagan5@users.noreply.github.com>
- Date: Sun, 27 Jun 2021 16:53:48 +0200
- Subject: API level 21: prevent crash on download
- On Lollipop 5.0.x it is not possible to use the system persistent bundle.
- This patch ignores boolean settings for them and prevents the crash.
- See also: https://github.com/bromite/bromite/issues/1184
- License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
- ---
- .../BundleToPersistableBundleConverter.java | 13 +++++++++++--
- 1 file changed, 11 insertions(+), 2 deletions(-)
- diff --git a/components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BundleToPersistableBundleConverter.java b/components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BundleToPersistableBundleConverter.java
- --- a/components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BundleToPersistableBundleConverter.java
- +++ b/components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BundleToPersistableBundleConverter.java
- @@ -4,6 +4,7 @@
-
- package org.chromium.components.background_task_scheduler.internal;
-
- +import android.os.Build;
- import android.os.Bundle;
- import android.os.PersistableBundle;
-
- @@ -82,9 +83,17 @@ class BundleToPersistableBundleConverter {
- if (obj == null) {
- persistableBundle.putString(key, null);
- } else if (obj instanceof Boolean) {
- - persistableBundle.putBoolean(key, (Boolean) obj);
- + if (Build.VERSION.SDK_INT == Build.VERSION_CODES.LOLLIPOP) {
- + failedKeys.add(key);
- + } else {
- + persistableBundle.putBoolean(key, (Boolean) obj);
- + }
- } else if (obj instanceof boolean[]) {
- - persistableBundle.putBooleanArray(key, (boolean[]) obj);
- + if (Build.VERSION.SDK_INT == Build.VERSION_CODES.LOLLIPOP) {
- + failedKeys.add(key);
- + } else {
- + persistableBundle.putBooleanArray(key, (boolean[]) obj);
- + }
- } else if (obj instanceof Double) {
- persistableBundle.putDouble(key, (Double) obj);
- } else if (obj instanceof double[]) {
- --
- 2.25.1
|