|
发表于 2014-11-24 10:23:01
楼主
试一下在frameworks/base/services/java/com/android/server/wm/WindowManagerService.java
- public void displayReady() {
- displayReady(Display.DEFAULT_DISPLAY);
- synchronized(mWindowMap) {
- final DisplayContent displayContent = getDefaultDisplayContentLocked();
- readForcedDisplaySizeAndDensityLocked(displayContent);
- mDisplayReady = true;
- }
- try {
- mActivityManager.updateConfiguration(null);
- } catch (RemoteException e) {
- }
- synchronized(mWindowMap) {
- mIsTouchDevice = mContext.getPackageManager().hasSystemFeature(
- PackageManager.FEATURE_TOUCHSCREEN);
- configureDisplayPolicyLocked(getDefaultDisplayContentLocked());
- }
- try {
- mActivityManager.updateConfiguration(null);
- } catch (RemoteException e) {
- }
- }
复制代码
注释掉
readForcedDisplaySizeAndDensityLocked(displayContent);
貌似就是这里强制成1080p了。
- private void readForcedDisplaySizeAndDensityLocked(final DisplayContent displayContent) {
- //$_rbox_$_modify_$_qiuen begin,add switch framebuffer size
- String displaypolicy = SystemProperties.get("persist.sys.display.policy", "manual");
- if (displaypolicy.equals("auto") == true) {
- Point ssize= new Point();
- synchronized(displayContent.mDisplaySizeLock) {
- ssize.x = displayContent.mBaseDisplayWidth;
- ssize.y = displayContent.mBaseDisplayHeight;
- }
- getCurScreenSize(Display.DEFAULT_DISPLAY, ssize);
- Slog.d("qiuen", ">>>CURRENT DISPLAY SIZE: " + ssize.x + "x" + ssize.y);
- synchronized(displayContent.mDisplaySizeLock) {
- if (displayContent.mBaseDisplayWidth != ssize.x
- || displayContent.mBaseDisplayHeight != ssize.y) {
- Slog.i("qiuen", "FORCED DISPLAY SIZE: " + ssize.x + "x" + ssize.y);
- displayContent.mBaseDisplayWidth = ssize.x;
- displayContent.mBaseDisplayHeight = ssize.y;
- }
- }
- //$_rbox_$_modify_$_end
- }else{
- String sizeStr = Settings.Global.getString(mContext.getContentResolver(),
- Settings.Global.DISPLAY_SIZE_FORCED);
- if (sizeStr == null || sizeStr.length() == 0) {
- sizeStr = SystemProperties.get(SIZE_OVERRIDE, null);
- }
- if (sizeStr != null && sizeStr.length() > 0) {
- final int pos = sizeStr.indexOf(',');
- if (pos > 0 && sizeStr.lastIndexOf(',') == pos) {
- int width, height;
- try {
- width = Integer.parseInt(sizeStr.substring(0, pos));
- height = Integer.parseInt(sizeStr.substring(pos+1));
- synchronized(displayContent.mDisplaySizeLock) {
- if (displayContent.mBaseDisplayWidth != width
- || displayContent.mBaseDisplayHeight != height) {
- Slog.i(TAG, "FORCED DISPLAY SIZE: " + width + "x" + height);
- displayContent.mBaseDisplayWidth = width;
- displayContent.mBaseDisplayHeight = height;
- }
- }
- } catch (NumberFormatException ex) {
- }
- }
- }
- }
- String densityStr = Settings.Global.getString(mContext.getContentResolver(),
- Settings.Global.DISPLAY_DENSITY_FORCED);
- if (densityStr == null || densityStr.length() == 0) {
- densityStr = SystemProperties.get(DENSITY_OVERRIDE, null);
- }
- if (densityStr != null && densityStr.length() > 0) {
- int density;
- try {
- density = Integer.parseInt(densityStr);
- synchronized(displayContent.mDisplaySizeLock) {
- if (displayContent.mBaseDisplayDensity != density) {
- Slog.i(TAG, "FORCED DISPLAY DENSITY: " + density);
- displayContent.mBaseDisplayDensity = density;
- }
- }
- } catch (NumberFormatException ex) {
- }
- }
- }
复制代码 |
|