Adjust logging of launcher2 launch times, and make all apps loading wait a little longer,
even though usually it happens later anyway.
For bug 2226555.
diff --git a/src/com/android/launcher2/AllAppsView.java b/src/com/android/launcher2/AllAppsView.java
index aea8c80..1b6c470 100644
--- a/src/com/android/launcher2/AllAppsView.java
+++ b/src/com/android/launcher2/AllAppsView.java
@@ -177,10 +177,11 @@
@Override
public void surfaceChanged(SurfaceHolder holder, int format, int w, int h) {
- super.surfaceChanged(holder, format, w, h);
-
+ Log.d(TAG, "starting surfaceChanged");
long startTime = SystemClock.uptimeMillis();
+ super.surfaceChanged(holder, format, w, h);
+
if (mRS != null) {
destroyRenderScript();
mRS = null;
diff --git a/src/com/android/launcher2/Launcher.java b/src/com/android/launcher2/Launcher.java
index 86bc4ba..531e10c 100644
--- a/src/com/android/launcher2/Launcher.java
+++ b/src/com/android/launcher2/Launcher.java
@@ -46,6 +46,7 @@
import android.os.Parcelable;
import android.os.RemoteException;
import android.os.ServiceManager;
+import android.os.SystemClock;
import android.provider.LiveFolders;
import android.text.Selection;
import android.text.SpannableStringBuilder;
@@ -197,8 +198,12 @@
private static HashMap<Long, FolderInfo> mFolders = new HashMap();
private ArrayList<ApplicationInfo> mAllAppsList = new ArrayList();
+ public static long lastStartTime;
+
@Override
protected void onCreate(Bundle savedInstanceState) {
+ lastStartTime = SystemClock.uptimeMillis();
+
super.onCreate(savedInstanceState);
mModel = ((LauncherApplication)getApplication()).setLauncher(this);
@@ -394,6 +399,10 @@
@Override
protected void onResume() {
+ if (lastStartTime == 0) {
+ lastStartTime = SystemClock.uptimeMillis();
+ }
+
super.onResume();
if (mRestoring) {
@@ -1926,12 +1935,6 @@
mSavedInstanceState = null;
}
- /* TODO
- if (mAllAppsVisible && !mDrawer.hasFocus()) {
- mDrawer.requestFocus();
- }
- */
-
Log.d(TAG, "finishBindingItems done");
mWorkspaceLoading = false;
}
diff --git a/src/com/android/launcher2/LauncherModel.java b/src/com/android/launcher2/LauncherModel.java
index 110d788..b917cdd 100644
--- a/src/com/android/launcher2/LauncherModel.java
+++ b/src/com/android/launcher2/LauncherModel.java
@@ -505,7 +505,7 @@
// This way we don't start loading all apps until the workspace has settled
// down.
synchronized (LoaderThread.this) {
- mHandler.post(new Runnable() {
+ mHandler.postIdle(new Runnable() {
public void run() {
synchronized (LoaderThread.this) {
mWorkspaceDoneBinding = true;
diff --git a/src/com/android/launcher2/Utilities.java b/src/com/android/launcher2/Utilities.java
index dc095f9..d5dd063 100644
--- a/src/com/android/launcher2/Utilities.java
+++ b/src/com/android/launcher2/Utilities.java
@@ -380,8 +380,6 @@
rectPaint.setColor(0xff000000);
rectPaint.setAntiAlias(true);
- Log.d(TAG, "scale=" + scale + " textSize=" + (13*scale));
-
TextPaint textPaint = mTextPaint = new TextPaint();
textPaint.setTypeface(Typeface.DEFAULT);
textPaint.setTextSize(13*scale);
@@ -403,9 +401,11 @@
mBubbleRect.offsetTo((mBitmapWidth-mBubbleRect.width())/2, 0);
- Log.d(TAG, "mBitmapWidth=" + mBitmapWidth + " mBitmapHeight="
- + mBitmapHeight + " w=" + ((int)(mBubbleRect.width() + 0.5f))
- + " h=" + ((int)((MAX_LINES * mLineHeight) + leading + 0.5f)));
+ if (false) {
+ Log.d(TAG, "mBitmapWidth=" + mBitmapWidth + " mBitmapHeight="
+ + mBitmapHeight + " w=" + ((int)(mBubbleRect.width() + 0.5f))
+ + " h=" + ((int)((MAX_LINES * mLineHeight) + leading + 0.5f)));
+ }
}
/** You own the bitmap after this and you must call recycle on it. */
diff --git a/src/com/android/launcher2/Workspace.java b/src/com/android/launcher2/Workspace.java
index d4a9d95..608e7b7 100644
--- a/src/com/android/launcher2/Workspace.java
+++ b/src/com/android/launcher2/Workspace.java
@@ -26,7 +26,11 @@
import android.graphics.RectF;
import android.graphics.Rect;
import android.graphics.drawable.Drawable;
+import android.os.Parcelable;
+import android.os.Parcel;
+import android.os.SystemClock;
import android.util.AttributeSet;
+import android.util.Log;
import android.view.MotionEvent;
import android.view.VelocityTracker;
import android.view.View;
@@ -35,8 +39,6 @@
import android.view.ViewParent;
import android.widget.Scroller;
import android.widget.TextView;
-import android.os.Parcelable;
-import android.os.Parcel;
import java.util.ArrayList;
@@ -468,6 +470,24 @@
@Override
protected void dispatchDraw(Canvas canvas) {
+ if (Launcher.lastStartTime != 0) {
+ int itemCount = 0;
+ for (int i=0; i<getChildCount(); i++) {
+ View child = getChildAt(i);
+ if (child instanceof ViewGroup) {
+ itemCount += ((ViewGroup)child).getChildCount();
+ }
+ }
+ if (!mLauncher.isWorkspaceLocked()) {
+ Log.d(Launcher.TAG, "time from start to draw (" + itemCount + " items): "
+ + (SystemClock.uptimeMillis() - Launcher.lastStartTime) + "ms");
+ Launcher.lastStartTime = 0;
+ } else {
+ Log.d(Launcher.TAG, "drawing but not ready yet (" + itemCount + " items): "
+ + (SystemClock.uptimeMillis() - Launcher.lastStartTime) + "ms");
+ }
+ }
+
boolean restore = false;
int restoreCount = 0;