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