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 a17ba5f57d88fdbab196ef15c78e1e65d791fbad..3778e1e81aefe6df0968b2c72583b17cb5dba428 100644 --- a/cloudphone/src/main/java/com/huawei/cloudphone/apiimpl/CloudPhoneImpl.java +++ b/cloudphone/src/main/java/com/huawei/cloudphone/apiimpl/CloudPhoneImpl.java @@ -16,17 +16,23 @@ package com.huawei.cloudphone.apiimpl; +import static android.view.KeyEvent.KEYCODE_BACK; +import static android.view.KeyEvent.KEYCODE_VOLUME_DOWN; +import static android.view.KeyEvent.KEYCODE_VOLUME_UP; +import static com.huawei.cloudphone.api.CloudPhoneParas.DEV_TYPE_CAMERA; +import static com.huawei.cloudphone.api.CloudPhoneParas.DisplayMode.DISPLAY_MODE_FILL; +import static com.huawei.cloudphone.common.CasState.CAS_CONNECT_EXCEPTION; +import static com.huawei.cloudphone.utils.CasMediaUtils.isValidMediaConfig; + import android.app.Activity; import android.content.Context; import android.content.pm.ActivityInfo; import android.graphics.PixelFormat; - import android.os.Handler; import android.os.HandlerThread; import android.os.Looper; import android.os.Message; import android.os.RemoteException; - import android.view.KeyEvent; import android.view.MotionEvent; import android.view.SurfaceHolder; @@ -63,14 +69,6 @@ import java.util.Map; import java.util.Timer; import java.util.TimerTask; -import static android.view.KeyEvent.KEYCODE_BACK; -import static android.view.KeyEvent.KEYCODE_VOLUME_DOWN; -import static android.view.KeyEvent.KEYCODE_VOLUME_UP; -import static com.huawei.cloudphone.api.CloudPhoneParas.DEV_TYPE_CAMERA; -import static com.huawei.cloudphone.api.CloudPhoneParas.DisplayMode.DISPLAY_MODE_FILL; -import static com.huawei.cloudphone.common.CasState.CAS_CONNECT_EXCEPTION; -import static com.huawei.cloudphone.utils.CasMediaUtils.isValidMediaConfig; - public class CloudPhoneImpl implements ICloudPhone { private static final String TAG = "CloudPhoneImpl"; private static final int STATE_INIT = 0; @@ -106,7 +104,6 @@ public class CloudPhoneImpl implements ICloudPhone { private int mDisplayHeight = 0; private int mCurrentState; private DisplayMode mDisplayMode = DISPLAY_MODE_FILL; - private boolean mIsSurfaceDestroyed = true; private Timer mBackGroundTimer = null; private int mAutoReconnectCount = 0; private Timer mAutoReconnectTimer = null; @@ -243,7 +240,6 @@ public class CloudPhoneImpl implements ICloudPhone { mSurfaceView.setOnTouchListener(null); mSurfaceView.setOnKeyListener(null); mSurfaceView = null; - mIsSurfaceDestroyed = false; mActivity = null; mViewGroup = null; mAutoReconnectCount = 0; @@ -363,19 +359,11 @@ public class CloudPhoneImpl implements ICloudPhone { CASLog.i(TAG, "handleStartCmd start"); mCurrentState = STATE_STARTING; //创建SurfaceView - while (!mIsSurfaceDestroyed) { - try { - Thread.sleep(10); - } catch (InterruptedException e) { - CASLog.i(TAG, "sleep has been interrupt"); - } - } if (mDisplayMode == DISPLAY_MODE_FILL) { mSurfaceView = new PhoneView(activity, true); } else { mSurfaceView = new PhoneView(activity, false); } - mIsSurfaceDestroyed = false; mSurfaceView.getHolder().addCallback(new SurfaceHolder.Callback() { @Override public void surfaceCreated(SurfaceHolder holder) { @@ -423,7 +411,6 @@ public class CloudPhoneImpl implements ICloudPhone { msg.what = CMD_SURFACE_DESTROY; mCmdHandler.sendMessage(msg); } - mIsSurfaceDestroyed = true; } catch (Exception e) { CASLog.e(TAG, "surfaceDestroyed failed. " + e.getMessage()); } finally {