From b7a4052c8eeb3700fc82d3a2f926c5a756577561 Mon Sep 17 00:00:00 2001 From: CaiFeng <2397707574@qq.com> Date: Wed, 13 Sep 2023 14:23:58 +0800 Subject: [PATCH 1/5] native support cache --- cloudphone/src/main/cpp/cas_service/CasTouch.cpp | 4 ++-- .../huawei/cloudphone/apiimpl/CloudPhoneImpl.java | 14 ++++++++++++++ 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/cloudphone/src/main/cpp/cas_service/CasTouch.cpp b/cloudphone/src/main/cpp/cas_service/CasTouch.cpp index ca182ec..549c8c5 100644 --- a/cloudphone/src/main/cpp/cas_service/CasTouch.cpp +++ b/cloudphone/src/main/cpp/cas_service/CasTouch.cpp @@ -59,8 +59,8 @@ bool CasTouch::SendTouchEvent(int id, int action, int x, int y, int pressure, in bool CasTouch::SendKeyEvent(uint16_t keycode, uint16_t action) { CasKeyEventMsg keyEventMsg { 0, 0 }; - keyEventMsg.keycode = keycode; - keyEventMsg.action = action; + keyEventMsg.keycode = (unsigned short) htons(keycode); + keyEventMsg.action = (unsigned short) htons(action); if (m_streamBuildSender == nullptr) { return false; diff --git a/cloudphone/src/main/java/com/huawei/cloudphone/apiimpl/CloudPhoneImpl.java b/cloudphone/src/main/java/com/huawei/cloudphone/apiimpl/CloudPhoneImpl.java index ddb3569..b05f88b 100644 --- a/cloudphone/src/main/java/com/huawei/cloudphone/apiimpl/CloudPhoneImpl.java +++ b/cloudphone/src/main/java/com/huawei/cloudphone/apiimpl/CloudPhoneImpl.java @@ -462,6 +462,20 @@ public class CloudPhoneImpl implements ICloudPhone { } }); + if (mDevType == CloudPhoneParas.DevType.DEV_PHONE) { + mSurfaceView.setOnKeyListener(new View.OnKeyListener() { + @Override + public boolean onKey(View v, int keyCode, KeyEvent event) { + if (keyCode == KEYCODE_BACK) { + CASLog.i(TAG, "keyCode = " + keyCode + " event = " + event.toString()); + mCASClient.sendKeyEvent(keyCode, event.getAction()); + return true; + } + return false; + } + }); + } + if (mDevType == CloudPhoneParas.DevType.DEV_TV) { mSurfaceView.setOnKeyListener(new View.OnKeyListener() { @Override -- Gitee From a5664ec13b44d347bea62b359e2b119b5e17f17d Mon Sep 17 00:00:00 2001 From: CaiFeng <2397707574@qq.com> Date: Thu, 14 Sep 2023 09:27:45 +0800 Subject: [PATCH 2/5] support gesture --- .../java/com/huawei/cloudapp/ui/CasCloudPhoneActivity.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/app/src/main/java/com/huawei/cloudapp/ui/CasCloudPhoneActivity.java b/app/src/main/java/com/huawei/cloudapp/ui/CasCloudPhoneActivity.java index 15ebf22..5b8108b 100644 --- a/app/src/main/java/com/huawei/cloudapp/ui/CasCloudPhoneActivity.java +++ b/app/src/main/java/com/huawei/cloudapp/ui/CasCloudPhoneActivity.java @@ -519,6 +519,10 @@ public class CasCloudPhoneActivity extends FragmentActivity implements View.OnCl case CasState.CAS_NOTOUCH_TIMEOUT: showDialog(getResources().getString(R.string.cas_notouch_timeout_tip_message)); break; + case CasState.CAS_EXIT: + CASLog.i(TAG, "Window is home"); + showUiLevelDialog(); + break; default: break; } -- Gitee From c9da422b58c3cdafd53cf9240d98cbb9455da120 Mon Sep 17 00:00:00 2001 From: CaiFeng <2397707574@qq.com> Date: Fri, 15 Sep 2023 10:34:46 +0800 Subject: [PATCH 3/5] support gesture --- app/src/main/java/com/huawei/cloudapp/common/CasState.java | 1 + .../java/com/huawei/cloudapp/ui/CasCloudPhoneActivity.java | 5 ++--- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/huawei/cloudapp/common/CasState.java b/app/src/main/java/com/huawei/cloudapp/common/CasState.java index 80cacb4..01747da 100644 --- a/app/src/main/java/com/huawei/cloudapp/common/CasState.java +++ b/app/src/main/java/com/huawei/cloudapp/common/CasState.java @@ -54,5 +54,6 @@ public class CasState { static public final int CAS_SWITCH_BACKGROUND_ERROR = 0x1301; static public final int CAS_SWITCH_FOREGROUND_SUCCESS = 0x1400; static public final int CAS_EXIT = 0x1700; + static public final int CAS_BACK_HOME = 0x1800; static public final int CAS_INVALID_CMD = 0xFFFF; } diff --git a/app/src/main/java/com/huawei/cloudapp/ui/CasCloudPhoneActivity.java b/app/src/main/java/com/huawei/cloudapp/ui/CasCloudPhoneActivity.java index 5b8108b..60ed5e2 100644 --- a/app/src/main/java/com/huawei/cloudapp/ui/CasCloudPhoneActivity.java +++ b/app/src/main/java/com/huawei/cloudapp/ui/CasCloudPhoneActivity.java @@ -519,8 +519,8 @@ public class CasCloudPhoneActivity extends FragmentActivity implements View.OnCl case CasState.CAS_NOTOUCH_TIMEOUT: showDialog(getResources().getString(R.string.cas_notouch_timeout_tip_message)); break; - case CasState.CAS_EXIT: - CASLog.i(TAG, "Window is home"); + case CasState.CAS_BACK_HOME: + CASLog.i(TAG, "back home"); showUiLevelDialog(); break; default: @@ -676,7 +676,6 @@ public class CasCloudPhoneActivity extends FragmentActivity implements View.OnCl ctrView.setVisibility(View.GONE); return true; } - showUiLevelDialog(); return true; } else if (keyCode == KeyEvent.KEYCODE_APP_SWITCH) { return true; -- Gitee From 2c22fdf95c5a9d2483ae0636fc5f647692dde1d6 Mon Sep 17 00:00:00 2001 From: CaiFeng <2397707574@qq.com> Date: Fri, 15 Sep 2023 11:09:01 +0800 Subject: [PATCH 4/5] support gesture --- app/src/main/java/com/huawei/cloudapp/common/CasState.java | 2 +- cloudphone/src/main/cpp/CasCommon.h | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/huawei/cloudapp/common/CasState.java b/app/src/main/java/com/huawei/cloudapp/common/CasState.java index 01747da..5839fff 100644 --- a/app/src/main/java/com/huawei/cloudapp/common/CasState.java +++ b/app/src/main/java/com/huawei/cloudapp/common/CasState.java @@ -54,6 +54,6 @@ public class CasState { static public final int CAS_SWITCH_BACKGROUND_ERROR = 0x1301; static public final int CAS_SWITCH_FOREGROUND_SUCCESS = 0x1400; static public final int CAS_EXIT = 0x1700; - static public final int CAS_BACK_HOME = 0x1800; + static public final int CAS_BACK_HOME = 0x1900; static public final int CAS_INVALID_CMD = 0xFFFF; } diff --git a/cloudphone/src/main/cpp/CasCommon.h b/cloudphone/src/main/cpp/CasCommon.h index b6f9d29..840f9b6 100644 --- a/cloudphone/src/main/cpp/CasCommon.h +++ b/cloudphone/src/main/cpp/CasCommon.h @@ -83,7 +83,8 @@ enum { CAS_SWITCH_FOREGROUND_ERROR = 0x1501, CAS_ORIENTATION = 0x1600, - CAS_EXIT = 0x1700 + CAS_EXIT = 0x1700, + CAS_BACK_HOME = 0x1900, }; const int CAS_THREAD_RUNNING = 1; -- Gitee From fa83778e67c4856db3b97eec3b288b6ec87c8efd Mon Sep 17 00:00:00 2001 From: CaiFeng <2397707574@qq.com> Date: Fri, 15 Sep 2023 14:30:53 +0800 Subject: [PATCH 5/5] modify review comment --- app/build.gradle | 2 +- .../cloudphone/apiimpl/CloudPhoneImpl.java | 37 ++++++------------- 2 files changed, 12 insertions(+), 27 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 8e3e5c3..b6e54db 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -73,7 +73,7 @@ dependencies { implementation 'com.github.bumptech.glide:glide:4.13.0' annotationProcessor 'com.github.bumptech.glide:compiler:4.14.0' implementation 'com.hyman:flowlayout-lib:1.1.2' - implementation 'com.github.Petterpx:FloatingX:1.3.1' + implementation 'com.github.Petterpx:FloatingX:1.3.3' implementation 'com.android.support:design:28.0.0' implementation 'com.github.Justson.AgentWeb:agentweb-core:v5.0.6-androidx' implementation project(':cloudphone') diff --git a/cloudphone/src/main/java/com/huawei/cloudphone/apiimpl/CloudPhoneImpl.java b/cloudphone/src/main/java/com/huawei/cloudphone/apiimpl/CloudPhoneImpl.java index b05f88b..be01a76 100644 --- a/cloudphone/src/main/java/com/huawei/cloudphone/apiimpl/CloudPhoneImpl.java +++ b/cloudphone/src/main/java/com/huawei/cloudphone/apiimpl/CloudPhoneImpl.java @@ -462,35 +462,20 @@ public class CloudPhoneImpl implements ICloudPhone { } }); - if (mDevType == CloudPhoneParas.DevType.DEV_PHONE) { - mSurfaceView.setOnKeyListener(new View.OnKeyListener() { - @Override - public boolean onKey(View v, int keyCode, KeyEvent event) { - if (keyCode == KEYCODE_BACK) { - CASLog.i(TAG, "keyCode = " + keyCode + " event = " + event.toString()); - mCASClient.sendKeyEvent(keyCode, event.getAction()); - return true; - } + mSurfaceView.setOnKeyListener(new View.OnKeyListener() { + @Override + public boolean onKey(View v, int keyCode, KeyEvent event) { + if ((keyCode == KEYCODE_VOLUME_DOWN) || (keyCode == KEYCODE_VOLUME_UP)) { return false; } - }); - } - - if (mDevType == CloudPhoneParas.DevType.DEV_TV) { - mSurfaceView.setOnKeyListener(new View.OnKeyListener() { - @Override - public boolean onKey(View v, int keyCode, KeyEvent event) { - if ((keyCode == KEYCODE_BACK) - || (keyCode == KEYCODE_VOLUME_DOWN) - || (keyCode == KEYCODE_VOLUME_UP)) { - return false; - } - CASLog.i(TAG, "keyCode = " + keyCode + " event = " + event.toString()); - mCASClient.sendKeyEvent(keyCode, event.getAction()); - return true; + if ((keyCode == KEYCODE_BACK) && mDevType == CloudPhoneParas.DevType.DEV_TV) { + return false; } - }); - } + CASLog.i(TAG, "keyCode = " + keyCode + " event = " + event.toString()); + mCASClient.sendKeyEvent(keyCode, event.getAction()); + return true; + } + }); //设置SurfaceView参数 activity.runOnUiThread(new Runnable() { -- Gitee