1234567891011121314151617181920212223242526272829303132333435363738 |
- 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
- ---
- .../internal/BundleToPersistableBundleConverter.java | 12 ++++++++++--
- 1 file changed, 10 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
- @@ -85,9 +85,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.17.1
|