From 0f668f3c2be93ad9be221d868abb3d9a6e418f18 Mon Sep 17 00:00:00 2001 From: Adam Cohen Date: Mon, 8 Sep 2014 19:54:17 +0200 Subject: [PATCH] Prevent GNL from crashing on JB issue 17433546 Change-Id: Ie5071e516b26400a27473eaaa401023f1af1d840 --- .../launcher3/AppsCustomizePagedView.java | 6 +++++- src/com/android/launcher3/Launcher.java | 17 +++++++++++++++-- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/src/com/android/launcher3/AppsCustomizePagedView.java b/src/com/android/launcher3/AppsCustomizePagedView.java index a92bff1b63..1bd2907770 100644 --- a/src/com/android/launcher3/AppsCustomizePagedView.java +++ b/src/com/android/launcher3/AppsCustomizePagedView.java @@ -366,7 +366,11 @@ public class AppsCustomizePagedView extends PagedViewWithDraggableItems implemen // This code triggers requestLayout so must be posted outside of the // layout pass. public void run() { - if (isAttachedToWindow()) { + boolean attached = true; + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { + attached = isAttachedToWindow(); + } + if (attached) { setDataIsReady(); onDataReady(getMeasuredWidth(), getMeasuredHeight()); } diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java index 33cc29e677..5c6261dc56 100644 --- a/src/com/android/launcher3/Launcher.java +++ b/src/com/android/launcher3/Launcher.java @@ -59,6 +59,7 @@ import android.graphics.Rect; import android.graphics.drawable.Drawable; import android.net.Uri; import android.os.AsyncTask; +import android.os.Build; import android.os.Bundle; import android.os.Environment; import android.os.Handler; @@ -3378,7 +3379,13 @@ public class Launcher extends Activity if (Utilities.isLmp()) { for (int i = 0; i < layerViews.size(); i++) { View v = layerViews.get(i); - if (v != null && v.isAttachedToWindow()) v.buildLayer(); + if (v != null) { + boolean attached = true; + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { + attached = v.isAttachedToWindow(); + } + if (attached) v.buildLayer(); + } } } mStateAnimation.start(); @@ -3625,7 +3632,13 @@ public class Launcher extends Activity if (Utilities.isLmp()) { for (int i = 0; i < layerViews.size(); i++) { View v = layerViews.get(i); - if (v != null && v.isAttachedToWindow()) v.buildLayer(); + if (v != null) { + boolean attached = true; + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { + attached = v.isAttachedToWindow(); + } + if (attached) v.buildLayer(); + } } } mStateAnimation.start();