From 2e1e0d05cc5e3ffc3930851ee2605e68dcbf63fe Mon Sep 17 00:00:00 2001 From: wangshuo <584363327@qq.com> Date: Mon, 31 Jul 2023 11:07:14 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=90=AF=E5=8A=A8?= =?UTF-8?q?=E5=8F=82=E6=95=B0=E4=B8=AD=E5=BF=85=E9=80=89=E7=9A=84user=5Fid?= =?UTF-8?q?=E5=AD=97=E6=AE=B5=E4=B8=BA=E5=8F=AF=E9=80=89=EF=BC=8C=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D=E5=AD=90=E8=BF=9B=E7=A8=8B=E8=A2=ABkill=E6=97=B6?= =?UTF-8?q?=EF=BC=8C=E5=BA=94=E7=94=A8=E5=8D=A1=E6=AD=BB=E9=97=AE=E9=A2=98?= =?UTF-8?q?=EF=BC=8C=E9=81=BF=E5=85=8D=E5=BF=AB=E9=80=9F=E7=82=B9=E5=87=BB?= =?UTF-8?q?=E8=BF=9E=E6=8E=A5=E6=8C=89=E9=92=AE=E5=AF=BC=E8=87=B4=E7=8A=B6?= =?UTF-8?q?=E6=80=81=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 22 +++++++++---------- .../cloudapp/ui/CasCloudMainActivity.java | 8 ++++++- .../huawei/cloudapp/utils/CasCommonUtils.java | 15 +++++++++++++ cloudphone/src/main/cpp/CasConf.h | 2 -- cloudphone/src/main/cpp/CasController.cpp | 2 -- cloudphone/src/main/cpp/CasController.h | 1 - .../cloudphone/apiimpl/CloudPhoneImpl.java | 5 +++++ .../cloudphone/jniwrapper/JNIWrapper.java | 1 - .../cloudphone/service/CasProcessor.java | 2 -- config.gradle | 2 +- 10 files changed, 39 insertions(+), 21 deletions(-) create mode 100644 app/src/main/java/com/huawei/cloudapp/utils/CasCommonUtils.java diff --git a/README.md b/README.md index ad3fcdb..d75ff04 100644 --- a/README.md +++ b/README.md @@ -313,17 +313,17 @@ https://gitee.com/HuaweiCloudDeveloper/huaweicloud-cloudPhoneAccess-android/rele @param {Map} params:启动相关配置,具体如下: | 参数 | 是否必选 | 参数类型 | 描述 | - | ------------------ | -------- | -------- | -------------- | - | ip | 是 | String | 云手机IP地址 | - | port | 是 | String | 云手机端口信息 | - | session_id | 是 | String | 会话id | - | ticket | 是 | String | 随机数 | - | aes_key | 是 | String | 对称秘钥 | - | auth_ts | 是 | String | 验签时间戳 | - | background_timeout | 是 | String | home时长 | - | available_playtime | 是 | String | 试玩时长 | - | touch_timeout | 否 | String | 无触控时长 | - | user_id | 是 | String | 用户id | + |------| -------- | -------- | -------------- | + | ip | 是 | String | 云手机IP地址 | + | port | 是 | String | 云手机端口信息 | + | session_id | 是 | String | 会话id | + | ticket | 是 | String | 随机数 | + | aes_key | 是 | String | 对称秘钥 | + | auth_ts | 是 | String | 验签时间戳 | + | background_timeout | 是 | String | home时长 | + | available_playtime | 是 | String | 试玩时长 | + | touch_timeout | 否 | String | 无触控时长 | + | user_id | 否 | String | 用户id | - 调用示例 diff --git a/app/src/main/java/com/huawei/cloudapp/ui/CasCloudMainActivity.java b/app/src/main/java/com/huawei/cloudapp/ui/CasCloudMainActivity.java index a7a3521..694559d 100644 --- a/app/src/main/java/com/huawei/cloudapp/ui/CasCloudMainActivity.java +++ b/app/src/main/java/com/huawei/cloudapp/ui/CasCloudMainActivity.java @@ -36,6 +36,7 @@ import com.huawei.cloudapp.R; import com.huawei.cloudapp.common.CASLog; import com.huawei.cloudapp.common.CasConnectInfo; import com.huawei.cloudapp.common.CasHistory; +import com.huawei.cloudapp.utils.CasCommonUtils; import com.zhy.view.flowlayout.FlowLayout; import com.zhy.view.flowlayout.TagAdapter; import com.zhy.view.flowlayout.TagFlowLayout; @@ -97,12 +98,18 @@ public class CasCloudMainActivity extends Activity { } public void cloudPhoneConnect(View view) { + if (CasCommonUtils.isFastClick()) { + return; + } appConnect.setEnabled(false); startCloudPhoneActivity(CasCloudPhoneActivity.class); } public void cloudPhoneConnectWeb(View view) { + if (CasCommonUtils.isFastClick()) { + return; + } startCloudPhoneActivity(CasCloudPhoneWebActivity.class); } @@ -139,7 +146,6 @@ public class CasCloudMainActivity extends Activity { connectorInfo.setAesKey("11111111111111111111111111111111"); connectorInfo.setAuthTs("987654321"); connectorInfo.setTouchTimeout("0"); - connectorInfo.setUserId("user_id"); return connectorInfo; } diff --git a/app/src/main/java/com/huawei/cloudapp/utils/CasCommonUtils.java b/app/src/main/java/com/huawei/cloudapp/utils/CasCommonUtils.java new file mode 100644 index 0000000..690ba67 --- /dev/null +++ b/app/src/main/java/com/huawei/cloudapp/utils/CasCommonUtils.java @@ -0,0 +1,15 @@ +package com.huawei.cloudapp.utils; + +public class CasCommonUtils { + private static final long CLICK_INTERVAL = 1500; + private static long lastClickTime = 0; + + public static boolean isFastClick() { + long currentTime = System.currentTimeMillis(); + if (currentTime - lastClickTime <= CLICK_INTERVAL) { + return true; + } + lastClickTime = currentTime; + return false; + } +} diff --git a/cloudphone/src/main/cpp/CasConf.h b/cloudphone/src/main/cpp/CasConf.h index aa8ba95..c9941c6 100644 --- a/cloudphone/src/main/cpp/CasConf.h +++ b/cloudphone/src/main/cpp/CasConf.h @@ -32,7 +32,6 @@ struct CasConf { std::string ticket; std::string sessionId; std::string aesIv; - std::string userId; std::string encryptedData; std::string authTs; std::string verifyData; @@ -57,7 +56,6 @@ struct CasConf { token = (jniConf)[KEY_TOKEN]; ticket = (jniConf)[KEY_TICKET]; sessionId = (jniConf)[KEY_SESSION_ID]; - userId = (jniConf)[KEY_USER_ID]; aesIv = (jniConf)[KEY_AES_IV]; encryptedData = (jniConf)[KEY_ENCRYPTED_DATA]; authTs = (jniConf)[KEY_AUTH_TS]; diff --git a/cloudphone/src/main/cpp/CasController.cpp b/cloudphone/src/main/cpp/CasController.cpp index 400672f..75721b4 100644 --- a/cloudphone/src/main/cpp/CasController.cpp +++ b/cloudphone/src/main/cpp/CasController.cpp @@ -158,7 +158,6 @@ bool CasController::Start(ANativeWindow *nativeWindow, bool isHome) m_verifyData = m_conf.verifyData; m_authTs = m_conf.authTs; m_aesIv = m_conf.aesIv; - m_userId = m_conf.userId; m_clientType = CLIENT_TYPE; m_maxDisconnectDuration = CalcMaxDisconnectDuration(m_conf.backgroundTimeout); @@ -976,7 +975,6 @@ bool CasController::SendStartCmd() { KEY_VERIFY_DATA, m_verifyData }, { KEY_ENCRYPTED_DATA, m_encryptedData }, { KEY_SESSION_ID, m_sessionId }, - { KEY_USER_ID, m_userId }, { KEY_AES_IV, m_aesIv }, { KEY_SDK_VERSION, m_conf.sdkVersion }, { KEY_PROTOCOL_VERSION, m_conf.protocolVersion }, diff --git a/cloudphone/src/main/cpp/CasController.h b/cloudphone/src/main/cpp/CasController.h index f61c8b1..6698ed3 100644 --- a/cloudphone/src/main/cpp/CasController.h +++ b/cloudphone/src/main/cpp/CasController.h @@ -158,7 +158,6 @@ private: std::string m_verifyData; std::string m_authTs; std::string m_aesIv; - std::string m_userId; std::string m_clientType; std::string m_maxDisconnectDuration; FrameType m_frameType; 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 b44a04b..85e53ab 100644 --- a/cloudphone/src/main/java/com/huawei/cloudphone/apiimpl/CloudPhoneImpl.java +++ b/cloudphone/src/main/java/com/huawei/cloudphone/apiimpl/CloudPhoneImpl.java @@ -356,6 +356,11 @@ public class CloudPhoneImpl implements ICloudPhone { mDisplayHeight = Math.max(width, height); CASLog.i(TAG, "width = " + mDisplayWidth + " height = " + mDisplayHeight); + if (!mServiceConnect) { + mStateListener.onNotify(CasState.CAS_CONNECT_LOST, "Connect lost"); + return; + } + if (!mIsNewCreated) { return; } diff --git a/cloudphone/src/main/java/com/huawei/cloudphone/jniwrapper/JNIWrapper.java b/cloudphone/src/main/java/com/huawei/cloudphone/jniwrapper/JNIWrapper.java index c1dfacb..0ea60bd 100644 --- a/cloudphone/src/main/java/com/huawei/cloudphone/jniwrapper/JNIWrapper.java +++ b/cloudphone/src/main/java/com/huawei/cloudphone/jniwrapper/JNIWrapper.java @@ -28,7 +28,6 @@ public class JNIWrapper { public static final String KEY_TOKEN = "token"; public static final String KEY_TICKET = "ticket"; public static final String KEY_SESSION_ID = "session_id"; - public static final String KEY_USER_ID = "user_id"; public static final String KEY_AES_IV = "aes_iv"; public static final String KEY_ENCRYPTED_DATA = "encrypted_data"; public static final String KEY_BACKGROUND_TIMEOUT = "backgroundTimeout"; diff --git a/cloudphone/src/main/java/com/huawei/cloudphone/service/CasProcessor.java b/cloudphone/src/main/java/com/huawei/cloudphone/service/CasProcessor.java index a038a97..1d9de02 100644 --- a/cloudphone/src/main/java/com/huawei/cloudphone/service/CasProcessor.java +++ b/cloudphone/src/main/java/com/huawei/cloudphone/service/CasProcessor.java @@ -50,7 +50,6 @@ import static com.huawei.cloudphone.jniwrapper.JNIWrapper.KEY_PROTOCOL_VERSION; import static com.huawei.cloudphone.jniwrapper.JNIWrapper.KEY_SDK_VERSION; import static com.huawei.cloudphone.jniwrapper.JNIWrapper.KEY_SESSION_ID; import static com.huawei.cloudphone.jniwrapper.JNIWrapper.KEY_TICKET; -import static com.huawei.cloudphone.jniwrapper.JNIWrapper.KEY_USER_ID; import static com.huawei.cloudphone.jniwrapper.JNIWrapper.KEY_VERIFY_DATA; /** @@ -251,7 +250,6 @@ public class CasProcessor extends ICASAidlInterface.Stub { JniBridge.getInstance().setJniConf(KEY_PORT, info.getConnectPort()); JniBridge.getInstance().setJniConf(KEY_TICKET, info.getTicket()); JniBridge.getInstance().setJniConf(KEY_SESSION_ID, info.getSessionId()); - JniBridge.getInstance().setJniConf(KEY_USER_ID, info.getUserId()); JniBridge.getInstance().setJniConf(KEY_AES_IV, info.getAesIv()); JniBridge.getInstance().setJniConf(KEY_AUTH_TS, info.getAuthTs()); JniBridge.getInstance().setJniConf(KEY_SDK_VERSION, info.getSdkVersion()); diff --git a/config.gradle b/config.gradle index e2435c2..344a83e 100644 --- a/config.gradle +++ b/config.gradle @@ -5,5 +5,5 @@ ext.versions = [ compileSdkVersion : 28, buildToolsVersion : '28.0.3', versionCode : 1, - versionName : '23.6.3.1', + versionName : '23.6.3.3', ] \ No newline at end of file -- Gitee From c21b5dd545c9f539d8b85e787f9f7ef8897f6ff9 Mon Sep 17 00:00:00 2001 From: wangshuo <584363327@qq.com> Date: Mon, 31 Jul 2023 11:42:55 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E4=BF=AE=E6=94=B9readme=E6=A0=BC=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index d75ff04..725372c 100644 --- a/README.md +++ b/README.md @@ -313,17 +313,17 @@ https://gitee.com/HuaweiCloudDeveloper/huaweicloud-cloudPhoneAccess-android/rele @param {Map} params:启动相关配置,具体如下: | 参数 | 是否必选 | 参数类型 | 描述 | - |------| -------- | -------- | -------------- | - | ip | 是 | String | 云手机IP地址 | - | port | 是 | String | 云手机端口信息 | - | session_id | 是 | String | 会话id | - | ticket | 是 | String | 随机数 | - | aes_key | 是 | String | 对称秘钥 | - | auth_ts | 是 | String | 验签时间戳 | - | background_timeout | 是 | String | home时长 | - | available_playtime | 是 | String | 试玩时长 | - | touch_timeout | 否 | String | 无触控时长 | - | user_id | 否 | String | 用户id | + | ------------------ | -------- | -------- | -------------- | + | ip | 是 | String | 云手机IP地址 | + | port | 是 | String | 云手机端口信息 | + | session_id | 是 | String | 会话id | + | ticket | 是 | String | 随机数 | + | aes_key | 是 | String | 对称秘钥 | + | auth_ts | 是 | String | 验签时间戳 | + | background_timeout | 是 | String | home时长 | + | available_playtime | 是 | String | 试玩时长 | + | touch_timeout | 否 | String | 无触控时长 | + | user_id | 否 | String | 用户id | - 调用示例 -- Gitee