标题: 解决Luancher的overscan设置不一致的问题 [打印本页] 作者: zangcf 时间: 2016-5-1 10:40 标题: 解决Luancher的overscan设置不一致的问题 1,setDisplayOverscan这个函数起作用的:
这个函数是被谁调用的呢?
2,根据搜索的结果:
base/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java: public void setDisplayOverscan(Display display, int left, int top, int right, int bottom) {
base/core/java/android/view/WindowManagerPolicy.java: public void setDisplayOverscan(Display display, int left, int top, int right, int bottom);
base/services/core/java/com/android/server/wm/WindowManagerService.java: mPolicy.setDisplayOverscan(displayContent.getDisplay(),
/// M: [OP09]Whether Edit and Hide Apps support or not.@{
mSupportEditAndHideApps = LauncherExtPlugin.getInstance().getWorkspaceExt(
this.getApplicationContext()).supportEditAndHideApps();
//}@
/// M: Add for smart book feature. Change DB if UI layout is changed.
boolean isDatabaseIdChanged = false;
if (SystemProperties.get("ro.mtk_smartbook_support").equals("1")) {
int originalDatabaseId = app.getLauncherProvider().getDatabaseId();
int newDatabaseId = getResources().getInteger(R.integer.database_id);
if (LauncherLog.DEBUG) {
LauncherLog.d(TAG, "+++++++++[Smartbook or Phone+++++++++"
+ "\n" + "originalDatabaseId = " + originalDatabaseId
+ "\n" + "newDatabaseId = " + newDatabaseId
+ "\n" + "+++++++++Smartbook or Phone]+++++++++");
}
if (originalDatabaseId != newDatabaseId) {
isDatabaseIdChanged = true;
app.updateScreenInfo();
app.getIconCache().flush();
Utilities.initStatics(this);
app.getLauncherProvider().setDatabaseId(newDatabaseId);
}
}
// Determine the dynamic grid properties
Point smallestSize = new Point();
Point largestSize = new Point();
Point realSize = new Point();
Display display = getWindowManager().getDefaultDisplay();
display.getCurrentSizeRange(smallestSize, largestSize);
display.getRealSize(realSize);
DisplayMetrics dm = new DisplayMetrics();
display.getMetrics(dm);
//zcfdebug++<<
realSize.x=realSize.x/2;
dm.widthPixels=dm.widthPixels/2;
//zcfdebug>>++
// Lazy-initialize the dynamic grid
/// M: Add for smart book feature. Force re-init dynamic grid if database ID is changed.
DeviceProfile grid = app.initDynamicGrid(this,
Math.min(smallestSize.x, smallestSize.y),
Math.min(largestSize.x, largestSize.y),
realSize.x, realSize.y,
dm.widthPixels, dm.heightPixels, isDatabaseIdChanged);
这样,图标就不乱了作者: zangcf 时间: 2016-5-23 18:25
注意新的目录不是仅仅/system/app