Firefly开源社区

打印 上一主题 下一主题

4k 是假的吗?

63

积分

0

威望

0

贡献

技术小白

积分
63
发表于 2014-11-24 10:23:01      楼主
试一下在frameworks/base/services/java/com/android/server/wm/WindowManagerService.java

  1. public void displayReady() {
  2.         displayReady(Display.DEFAULT_DISPLAY);

  3.         synchronized(mWindowMap) {
  4.             final DisplayContent displayContent = getDefaultDisplayContentLocked();
  5.             readForcedDisplaySizeAndDensityLocked(displayContent);
  6.             mDisplayReady = true;
  7.         }

  8.         try {
  9.             mActivityManager.updateConfiguration(null);
  10.         } catch (RemoteException e) {
  11.         }

  12.         synchronized(mWindowMap) {
  13.             mIsTouchDevice = mContext.getPackageManager().hasSystemFeature(
  14.                     PackageManager.FEATURE_TOUCHSCREEN);
  15.             configureDisplayPolicyLocked(getDefaultDisplayContentLocked());
  16.         }

  17.         try {
  18.             mActivityManager.updateConfiguration(null);
  19.         } catch (RemoteException e) {
  20.         }
  21.     }
复制代码


注释掉
readForcedDisplaySizeAndDensityLocked(displayContent);
貌似就是这里强制成1080p了。

  1. private void readForcedDisplaySizeAndDensityLocked(final DisplayContent displayContent) {
  2.       //$_rbox_$_modify_$_qiuen begin,add switch framebuffer size
  3.         String displaypolicy = SystemProperties.get("persist.sys.display.policy", "manual");
  4.             if (displaypolicy.equals("auto") == true) {
  5.                     Point ssize= new Point();
  6.                     synchronized(displayContent.mDisplaySizeLock) {
  7.                             ssize.x = displayContent.mBaseDisplayWidth;
  8.                             ssize.y = displayContent.mBaseDisplayHeight;
  9.                     }
  10.             getCurScreenSize(Display.DEFAULT_DISPLAY, ssize);
  11.                 Slog.d("qiuen", ">>>CURRENT DISPLAY SIZE: " + ssize.x + "x" + ssize.y);
  12.                 synchronized(displayContent.mDisplaySizeLock) {
  13.                         if (displayContent.mBaseDisplayWidth != ssize.x
  14.                         || displayContent.mBaseDisplayHeight != ssize.y) {
  15.                         Slog.i("qiuen", "FORCED DISPLAY SIZE: " + ssize.x + "x" + ssize.y);
  16.                         displayContent.mBaseDisplayWidth = ssize.x;
  17.                         displayContent.mBaseDisplayHeight = ssize.y;
  18.                         }
  19.                     }
  20.       //$_rbox_$_modify_$_end      
  21.         }else{
  22.         String sizeStr = Settings.Global.getString(mContext.getContentResolver(),
  23.                 Settings.Global.DISPLAY_SIZE_FORCED);
  24.         if (sizeStr == null || sizeStr.length() == 0) {
  25.             sizeStr = SystemProperties.get(SIZE_OVERRIDE, null);
  26.         }
  27.         if (sizeStr != null && sizeStr.length() > 0) {
  28.             final int pos = sizeStr.indexOf(',');
  29.             if (pos > 0 && sizeStr.lastIndexOf(',') == pos) {
  30.                 int width, height;
  31.                 try {
  32.                     width = Integer.parseInt(sizeStr.substring(0, pos));
  33.                     height = Integer.parseInt(sizeStr.substring(pos+1));
  34.                     synchronized(displayContent.mDisplaySizeLock) {
  35.                         if (displayContent.mBaseDisplayWidth != width
  36.                                 || displayContent.mBaseDisplayHeight != height) {
  37.                             Slog.i(TAG, "FORCED DISPLAY SIZE: " + width + "x" + height);
  38.                             displayContent.mBaseDisplayWidth = width;
  39.                             displayContent.mBaseDisplayHeight = height;
  40.                         }
  41.                     }
  42.                 } catch (NumberFormatException ex) {
  43.                 }
  44.             }
  45.         }
  46.         }


  47.         String densityStr = Settings.Global.getString(mContext.getContentResolver(),
  48.                 Settings.Global.DISPLAY_DENSITY_FORCED);
  49.         if (densityStr == null || densityStr.length() == 0) {
  50.             densityStr = SystemProperties.get(DENSITY_OVERRIDE, null);
  51.         }
  52.         if (densityStr != null && densityStr.length() > 0) {
  53.             int density;
  54.             try {
  55.                 density = Integer.parseInt(densityStr);
  56.                 synchronized(displayContent.mDisplaySizeLock) {
  57.                     if (displayContent.mBaseDisplayDensity != density) {
  58.                         Slog.i(TAG, "FORCED DISPLAY DENSITY: " + density);
  59.                         displayContent.mBaseDisplayDensity = density;
  60.                     }
  61.                 }
  62.             } catch (NumberFormatException ex) {
  63.             }
  64.         }
  65.     }
复制代码
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

友情链接 : 爱板网 电子发烧友论坛 云汉电子社区 粤ICP备14022046号-2
快速回复 返回顶部 返回列表