diff --git a/README.md b/README.md index ad3fcdb977800ec5fa2ddd5fd0e88dd546d87c59..725372c86a518055c47f9c6301441f47ac27fa59 100644 --- a/README.md +++ b/README.md @@ -323,7 +323,7 @@ https://gitee.com/HuaweiCloudDeveloper/huaweicloud-cloudPhoneAccess-android/rele | background_timeout | 是 | String | home时长 | | available_playtime | 是 | String | 试玩时长 | | touch_timeout | 否 | String | 无触控时长 | - | user_id | 是 | String | 用户id | + | 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 a7a352111e7dcc75fac38adc29521e639eb8d0d5..694559d13b7d29017b052818bd565563cec0423b 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 0000000000000000000000000000000000000000..690ba677606ec9cfb2a9cf3be334e42cbae2e726 --- /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 aa8ba95877c7a9e0058c306112935f67fec20fb6..c9941c68bc587d988104f4c88965dd9e2613b5d3 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 400672f35fe49b9e13eb4d156d9601a273e0a81b..75721b49bbec064fbe55f81b87d92876393dde9c 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 f61c8b1c13f44b41f7722a1370c3ab1c7e1eafaa..6698ed334e30971f597d3343f88a6a8f216b5c62 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 b44a04b71ef777f3099da9bbb62e35c999e0e2c3..85e53ab48f1e2211be62cfb9709923156f5413f4 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 c1dfacb2db2f0d79f36d960d797b0f04ca8b7955..0ea60bdabcb5872f44cddc716d3088eb9337bc9c 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 a038a97bb760df84cd13f4c33e2328d816ea583c..1d9de02af8ea451a626cb325837b1df27d41ef36 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 e2435c23c6624e92b8071c104d7ef4ce5f3fc1e2..344a83e64940a9abf4ccbc8f4e87f169a64c6e3e 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