Merge "Add copious navigation bar info to SystemUI dumps." into ics-mr1

This commit is contained in:
Daniel Sandler
2011-12-01 12:09:51 -08:00
committed by Android (Google) Code Review
2 changed files with 90 additions and 3 deletions

View File

@@ -20,6 +20,7 @@ import android.animation.Animator;
import android.animation.AnimatorListenerAdapter;
import android.content.Context;
import android.content.res.Resources;
import android.graphics.Rect;
import android.os.ServiceManager;
import android.util.AttributeSet;
import android.util.Slog;
@@ -32,6 +33,10 @@ import android.view.Surface;
import android.view.WindowManager;
import android.widget.LinearLayout;
import java.io.FileDescriptor;
import java.io.PrintWriter;
import java.lang.StringBuilder;
import com.android.internal.statusbar.IStatusBarService;
import com.android.systemui.R;
@@ -237,4 +242,79 @@ public class NavigationBarView extends LinearLayout {
Slog.d(TAG, "reorient(): rot=" + mDisplay.getRotation());
}
}
private String getResourceName(int resId) {
if (resId != 0) {
final android.content.res.Resources res = mContext.getResources();
try {
return res.getResourceName(resId);
} catch (android.content.res.Resources.NotFoundException ex) {
return "(unknown)";
}
} else {
return "(null)";
}
}
private static String visibilityToString(int vis) {
switch (vis) {
case View.INVISIBLE:
return "INVISIBLE";
case View.GONE:
return "GONE";
default:
return "VISIBLE";
}
}
public void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
pw.println("NavigationBarView {");
final Rect r = new Rect();
pw.println(String.format(" this: " + PhoneStatusBar.viewInfo(this)
+ " " + visibilityToString(getVisibility())));
getWindowVisibleDisplayFrame(r);
final boolean offscreen = r.right > mDisplay.getRawWidth()
|| r.bottom > mDisplay.getRawHeight();
pw.println(" window: "
+ r.toShortString()
+ " " + visibilityToString(getWindowVisibility())
+ (offscreen ? " OFFSCREEN!" : ""));
pw.println(String.format(" mCurrentView: id=%s (%dx%d) %s",
getResourceName(mCurrentView.getId()),
mCurrentView.getWidth(), mCurrentView.getHeight(),
visibilityToString(mCurrentView.getVisibility())));
pw.println(String.format(" disabled=0x%08x vertical=%s hidden=%s low=%s menu=%s",
mDisabledFlags,
mVertical ? "true" : "false",
mHidden ? "true" : "false",
mLowProfile ? "true" : "false",
mShowMenu ? "true" : "false"));
final View back = getBackButton();
final View home = getHomeButton();
final View recent = getRecentsButton();
final View menu = getMenuButton();
pw.println(" back: "
+ PhoneStatusBar.viewInfo(back)
+ " " + visibilityToString(back.getVisibility())
);
pw.println(" home: "
+ PhoneStatusBar.viewInfo(home)
+ " " + visibilityToString(home.getVisibility())
);
pw.println(" rcnt: "
+ PhoneStatusBar.viewInfo(recent)
+ " " + visibilityToString(recent.getVisibility())
);
pw.println(" menu: "
+ PhoneStatusBar.viewInfo(menu)
+ " " + visibilityToString(menu.getVisibility())
);
pw.println(" }");
}
}

View File

@@ -1735,9 +1735,9 @@ public class PhoneStatusBar extends StatusBar {
return anim;
}
public String viewInfo(View v) {
return "(" + v.getLeft() + "," + v.getTop() + ")(" + v.getRight() + "," + v.getBottom()
+ " " + v.getWidth() + "x" + v.getHeight() + ")";
public static String viewInfo(View v) {
return "[(" + v.getLeft() + "," + v.getTop() + ")(" + v.getRight() + "," + v.getBottom()
+ ") " + v.getWidth() + "x" + v.getHeight() + "]";
}
public void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
@@ -1768,6 +1768,13 @@ public class PhoneStatusBar extends StatusBar {
+ " scroll " + mScrollView.getScrollX() + "," + mScrollView.getScrollY());
}
pw.print(" mNavigationBarView=");
if (mNavigationBarView == null) {
pw.println("null");
} else {
mNavigationBarView.dump(fd, pw, args);
}
if (DUMPTRUCK) {
synchronized (mNotificationData) {
int N = mNotificationData.size();