Merge "Don't load views before onResume called." into jb-mr1-dev
diff --git a/packages/SystemUI/src/com/android/systemui/recent/RecentsActivity.java b/packages/SystemUI/src/com/android/systemui/recent/RecentsActivity.java
index 9c3756c..291f38c 100644
--- a/packages/SystemUI/src/com/android/systemui/recent/RecentsActivity.java
+++ b/packages/SystemUI/src/com/android/systemui/recent/RecentsActivity.java
@@ -94,6 +94,9 @@
@Override
public void onResume() {
mForeground = true;
+ if (mRecentsPanel != null) {
+ mRecentsPanel.refreshViews();
+ }
super.onResume();
}
@@ -186,4 +189,7 @@
}
}
+ boolean isForeground() {
+ return mForeground;
+ }
}
diff --git a/packages/SystemUI/src/com/android/systemui/recent/RecentsPanelView.java b/packages/SystemUI/src/com/android/systemui/recent/RecentsPanelView.java
index 04e38a4..0caa671 100644
--- a/packages/SystemUI/src/com/android/systemui/recent/RecentsPanelView.java
+++ b/packages/SystemUI/src/com/android/systemui/recent/RecentsPanelView.java
@@ -24,7 +24,6 @@
import android.app.TaskStackBuilder;
import android.content.Context;
import android.content.Intent;
-import android.content.res.Configuration;
import android.content.res.Resources;
import android.content.res.TypedArray;
import android.graphics.Bitmap;
@@ -67,7 +66,6 @@
StatusBarPanel, Animator.AnimatorListener {
static final String TAG = "RecentsPanelView";
static final boolean DEBUG = TabletStatusBar.DEBUG || PhoneStatusBar.DEBUG || false;
- private Context mContext;
private PopupMenu mPopup;
private View mRecentsScrim;
private View mRecentsNoApps;
@@ -203,7 +201,6 @@
public RecentsPanelView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
- mContext = context;
updateValuesFromResources();
TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.RecentsPanelView,
@@ -374,7 +371,6 @@
protected void onFinishInflate() {
super.onFinishInflate();
- mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
mRecentsContainer = (ViewGroup) findViewById(R.id.recents_container);
mStatusBarTouchProxy = (StatusBarTouchProxy) findViewById(R.id.status_bar_touch_proxy);
mListAdapter = new TaskDescriptionAdapter(mContext);
@@ -488,7 +484,7 @@
}
}
}
- }
+ }
showIfReady();
}
@@ -508,6 +504,12 @@
}
}
+ public void refreshViews() {
+ mListAdapter.notifyDataSetInvalidated();
+ updateUiElements();
+ showIfReady();
+ }
+
public void refreshRecentTasksList() {
refreshRecentTasksList(null, false);
}
@@ -530,12 +532,12 @@
} else {
mRecentTaskDescriptions.addAll(tasks);
}
- mListAdapter.notifyDataSetInvalidated();
- updateUiElements(getResources().getConfiguration());
- showIfReady();
+ if (((RecentsActivity)mContext).isForeground()) {
+ refreshViews();
+ }
}
- private void updateUiElements(Configuration config) {
+ private void updateUiElements() {
final int items = mRecentTaskDescriptions.size();
mRecentsContainer.setVisibility(items > 0 ? View.VISIBLE : View.GONE);