am 5871b258: Merge "Change wm commands to return size and density info." into jb-mr2-dev
* commit '5871b258afd0bf3a2d58dea437b340a4f5b382cf': Change wm commands to return size and density info.
This commit is contained in:
@@ -19,6 +19,7 @@
|
||||
package com.android.commands.wm;
|
||||
|
||||
import android.content.Context;
|
||||
import android.graphics.Point;
|
||||
import android.graphics.Rect;
|
||||
import android.os.RemoteException;
|
||||
import android.os.ServiceManager;
|
||||
@@ -87,9 +88,22 @@ public class Wm {
|
||||
}
|
||||
|
||||
private void runDisplaySize() throws Exception {
|
||||
String size = nextArgRequired();
|
||||
String size = nextArg();
|
||||
int w, h;
|
||||
if ("reset".equals(size)) {
|
||||
if (size == null) {
|
||||
Point initialSize = new Point();
|
||||
Point baseSize = new Point();
|
||||
try {
|
||||
mWm.getInitialDisplaySize(Display.DEFAULT_DISPLAY, initialSize);
|
||||
mWm.getBaseDisplaySize(Display.DEFAULT_DISPLAY, baseSize);
|
||||
System.out.println("Physical size: " + initialSize.x + "x" + initialSize.y);
|
||||
if (!initialSize.equals(baseSize)) {
|
||||
System.out.println("Override size: " + baseSize.x + "x" + baseSize.y);
|
||||
}
|
||||
} catch (RemoteException e) {
|
||||
}
|
||||
return;
|
||||
} else if ("reset".equals(size)) {
|
||||
w = h = -1;
|
||||
} else {
|
||||
int div = size.indexOf('x');
|
||||
@@ -120,9 +134,20 @@ public class Wm {
|
||||
}
|
||||
|
||||
private void runDisplayDensity() throws Exception {
|
||||
String densityStr = nextArgRequired();
|
||||
String densityStr = nextArg();
|
||||
int density;
|
||||
if ("reset".equals(densityStr)) {
|
||||
if (densityStr == null) {
|
||||
try {
|
||||
int initialDensity = mWm.getInitialDisplayDensity(Display.DEFAULT_DISPLAY);
|
||||
int baseDensity = mWm.getBaseDisplayDensity(Display.DEFAULT_DISPLAY);
|
||||
System.out.println("Physical density: " + initialDensity);
|
||||
if (initialDensity != baseDensity) {
|
||||
System.out.println("Override density: " + baseDensity);
|
||||
}
|
||||
} catch (RemoteException e) {
|
||||
}
|
||||
return;
|
||||
} else if ("reset".equals(densityStr)) {
|
||||
density = -1;
|
||||
} else {
|
||||
try {
|
||||
@@ -231,7 +256,7 @@ public class Wm {
|
||||
" wm density [reset|DENSITY]\n" +
|
||||
" wm overscan [reset|LEFT,TOP,RIGHT,BOTTOM]\n" +
|
||||
"\n" +
|
||||
"wm size: override display size.\n" +
|
||||
"wm size: return or override display size.\n" +
|
||||
"\n" +
|
||||
"wm density: override display density.\n" +
|
||||
"\n" +
|
||||
|
||||
@@ -60,8 +60,12 @@ interface IWindowManager
|
||||
in IInputContext inputContext);
|
||||
boolean inputMethodClientHasFocus(IInputMethodClient client);
|
||||
|
||||
void getInitialDisplaySize(int displayId, out Point size);
|
||||
void getBaseDisplaySize(int displayId, out Point size);
|
||||
void setForcedDisplaySize(int displayId, int width, int height);
|
||||
void clearForcedDisplaySize(int displayId);
|
||||
int getInitialDisplayDensity(int displayId);
|
||||
int getBaseDisplayDensity(int displayId);
|
||||
void setForcedDisplayDensity(int displayId, int density);
|
||||
void clearForcedDisplayDensity(int displayId);
|
||||
|
||||
|
||||
@@ -7291,6 +7291,7 @@ public class WindowManagerService extends IWindowManager.Stub
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getInitialDisplaySize(int displayId, Point size) {
|
||||
synchronized (mWindowMap) {
|
||||
final DisplayContent displayContent = getDisplayContentLocked(displayId);
|
||||
@@ -7303,6 +7304,19 @@ public class WindowManagerService extends IWindowManager.Stub
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getBaseDisplaySize(int displayId, Point size) {
|
||||
synchronized (mWindowMap) {
|
||||
final DisplayContent displayContent = getDisplayContentLocked(displayId);
|
||||
if (displayContent != null) {
|
||||
synchronized(displayContent.mDisplaySizeLock) {
|
||||
size.x = displayContent.mBaseDisplayWidth;
|
||||
size.y = displayContent.mBaseDisplayHeight;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setForcedDisplaySize(int displayId, int width, int height) {
|
||||
if (mContext.checkCallingOrSelfPermission(
|
||||
@@ -7405,6 +7419,32 @@ public class WindowManagerService extends IWindowManager.Stub
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getInitialDisplayDensity(int displayId) {
|
||||
synchronized (mWindowMap) {
|
||||
final DisplayContent displayContent = getDisplayContentLocked(displayId);
|
||||
if (displayContent != null) {
|
||||
synchronized(displayContent.mDisplaySizeLock) {
|
||||
return displayContent.mInitialDisplayDensity;
|
||||
}
|
||||
}
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getBaseDisplayDensity(int displayId) {
|
||||
synchronized (mWindowMap) {
|
||||
final DisplayContent displayContent = getDisplayContentLocked(displayId);
|
||||
if (displayContent != null) {
|
||||
synchronized(displayContent.mDisplaySizeLock) {
|
||||
return displayContent.mBaseDisplayDensity;
|
||||
}
|
||||
}
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setForcedDisplayDensity(int displayId, int density) {
|
||||
if (mContext.checkCallingOrSelfPermission(
|
||||
|
||||
Reference in New Issue
Block a user