15920514550
发表于 2017-11-14 22:19:12
呵呵呵呵呵呵呵
hch246
发表于 2017-12-21 10:26:45
小偉[工程部] 发表于 2017-10-27 11:57
您好, 我用firefly-rk3288_android5.1_git_20170224 + 補丁內的兩個patch後,會無法順利編譯
錯誤代碼... ...
两种解决方法:
1. 在WindowTest.MockWindow 类前面加上一个 abstract 关键字, 变成抽象类
2. 在 WindowTest.MockWindow中复写moveExtendDisplay()方法
二选一
java还没上手,问了写应用的同事才知道{:4_91:}
hch246
发表于 2017-12-21 12:28:14
最终解决方法:
在cts/tests/tests/view/src/android/view/cts/WindowTest.java文件的MockWindow 中加入
public void moveAppToDisplay(int id) {}
public void syncDualDisplay() {}
public void moveExtendDisplay() {}
hch246
发表于 2017-12-21 12:30:30
感谢如新的达叔,呵呵,叫老了
hch246
发表于 2017-12-21 16:41:12
感觉快成功了,可以lvds和edp同显了
hch246
发表于 2017-12-21 16:43:06
本帖最后由 hch246 于 2017-12-22 13:48 编辑
备注下:
1、添加官网源码的commit26b7b5e1d7cc69824aa484b0d66b2d2c0404db63q
--- a/frameworks/base/services/core/java/com/android/server/wm/InputMonitor.java
+++ b/frameworks/base/services/core/java/com/android/server/wm/InputMonitor.java
@@ -495,6 +495,22 @@ private boolean validWindowState(WindowState win){
public long interceptMotionBeforeDispatching(
InputWindowHandle focus,MotionEvent event,int policyFlags){
+ int action = event.getAction();
+ int screenWidth = mService.getDefaultDisplayInfoLocked().logicalWidth;
+ if (mService.mCurConfiguration.dualscreenflag == Configuration.ENABLE_DUAL_SCREEN &&
+ action == MotionEvent.ACTION_HOVER_MOVE) {
+ int x1 = (int)event.getX();
+ int y1 = (int)event.getY();
+ if (/*x1 < 15 || */x1 + 15 > screenWidth) {
+ if(!mService.isWorked("com.android.Listappinfo.ManderService")){
+ LOGV("start com.android.Listappinfo.ManderService");
+ Intent intent = new Intent();
+ intent.setClassName("com.android.Listappinfo", "com.android.Listappinfo.ManderService");
+ mService.mContext.startService(intent);
+ return -1;
+ }
+ }
+ }
return mInputMonitorController.interceptMotionBeforeDispatching(mService.mContext,focus, event, policyFlags);
}
2、在 build/tools/buildinfo.sh 里添加 ro.htg.force=1
hch246
发表于 2017-12-21 16:44:25
本想拍照,帖子图片粘贴不成功
现在添加楼主的demo试试看应用