0d2e19274803ccc7072a69039ad15ca1f7693780..9d7d3963cc54eb145c1767f5f124f2881e8e06d4
2022-11-24 hxb
Merge branch 'master' of http://172.16.1.23:6688/r/~wxr/HdlToLc
9d7d39 对比 | 目录
2022-11-24 hxb
完善了功能
535d69 对比 | 目录
13个文件已修改
227 ■■■■ 已修改文件
AndroidOpenDemo/.idea/caches/build_file_checksums.ser 补丁 | 查看 | 原始文档 | blame | 历史
AndroidOpenDemo/.idea/workspace.xml 112 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/openapi/HttpSend.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
AndroidOpenDemo/app/src/main/java/com/common/openapi/DeviceDetailService.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
AndroidOpenDemo/app/src/main/java/com/common/openapi/DeviceInfoOpenApiManager.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
AndroidOpenDemo/app/src/main/java/com/common/openapi/IGetDeviceInfoCallBack.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
AndroidOpenDemo/app/src/main/java/com/common/openapi/MethodConst.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
AndroidOpenDemo/app/src/main/java/com/lechange/demo/ui/DeviceDetailMainFragment.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
AndroidOpenDemo/app/src/main/java/com/lechange/demo/ui/EnvGuideActivity.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
AndroidOpenDemo/app/src/main/java/com/utils/HdlToLcUtils.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
AndroidOpenDemo/app/src/main/res/layout/fragment_device_detail_main.xml 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
AndroidOpenDemo/app/src/main/res/values-en/strings.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
AndroidOpenDemo/app/src/main/res/values/strings.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
AndroidOpenDemo/.idea/caches/build_file_checksums.ser
Binary files differ
AndroidOpenDemo/.idea/workspace.xml
@@ -6,23 +6,36 @@
    </shared>
  </component>
  <component name="AndroidLogFilters">
    <option name="TOOL_WINDOW_CUSTOM_FILTER" value="HttpSend" />
    <option name="TOOL_WINDOW_LOG_LEVEL" value="verbose" />
    <option name="TOOL_WINDOW_CONFIGURED_FILTER" value="Show only selected application" />
    <option name="TOOL_WINDOW_REGEXP_FILTER" value="false" />
  </component>
  <component name="AutoImportSettings">
    <option name="autoReloadType" value="NONE" />
  </component>
  <component name="ChangeListManager">
    <list default="true" id="7bacc5cf-316f-4ad4-b191-7f5297eb7bcf" name="Default Changelist" comment="">
      <change beforePath="$PROJECT_DIR$/.idea/caches/build_file_checksums.ser" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/caches/build_file_checksums.ser" afterDir="false" />
      <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
      <change beforePath="$PROJECT_DIR$/app/build.gradle" beforeDir="false" afterPath="$PROJECT_DIR$/app/build.gradle" afterDir="false" />
      <change beforePath="$PROJECT_DIR$/app/src/main/AndroidManifest.xml" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/AndroidManifest.xml" afterDir="false" />
      <change beforePath="$PROJECT_DIR$/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/openapi/HttpSend.java" beforeDir="false" afterPath="$PROJECT_DIR$/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/openapi/HttpSend.java" afterDir="false" />
      <change beforePath="$PROJECT_DIR$/app/src/main/java/com/common/openapi/DeviceDetailService.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/com/common/openapi/DeviceDetailService.java" afterDir="false" />
      <change beforePath="$PROJECT_DIR$/app/src/main/java/com/common/openapi/DeviceInfoOpenApiManager.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/com/common/openapi/DeviceInfoOpenApiManager.java" afterDir="false" />
      <change beforePath="$PROJECT_DIR$/app/src/main/java/com/common/openapi/IGetDeviceInfoCallBack.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/com/common/openapi/IGetDeviceInfoCallBack.java" afterDir="false" />
      <change beforePath="$PROJECT_DIR$/app/src/main/java/com/common/openapi/MethodConst.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/com/common/openapi/MethodConst.java" afterDir="false" />
      <change beforePath="$PROJECT_DIR$/app/src/main/java/com/lechange/demo/ui/DeviceDetailMainFragment.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/com/lechange/demo/ui/DeviceDetailMainFragment.java" afterDir="false" />
      <change beforePath="$PROJECT_DIR$/app/src/main/java/com/lechange/demo/ui/EnvGuideActivity.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/com/lechange/demo/ui/EnvGuideActivity.java" afterDir="false" />
      <change beforePath="$PROJECT_DIR$/app/src/main/java/com/utils/HdlToLcUtils.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/com/utils/HdlToLcUtils.java" afterDir="false" />
      <change beforePath="$PROJECT_DIR$/app/src/main/res/layout/fragment_device_detail_main.xml" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/res/layout/fragment_device_detail_main.xml" afterDir="false" />
      <change beforePath="$PROJECT_DIR$/app/src/main/res/values-en/strings.xml" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/res/values-en/strings.xml" afterDir="false" />
      <change beforePath="$PROJECT_DIR$/app/src/main/res/values/strings.xml" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/res/values/strings.xml" afterDir="false" />
    </list>
    <option name="SHOW_DIALOG" value="false" />
    <option name="HIGHLIGHT_CONFLICTS" value="true" />
    <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
    <option name="LAST_RESOLUTION" value="IGNORE" />
  </component>
  <component name="ExecutionTargetManager" SELECTED_TARGET="device_and_snapshot_combo_box_target[M7BBB18B19152766]" />
  <component name="ExternalProjectsData">
    <projectState path="$PROJECT_DIR$">
      <ProjectState />
@@ -127,7 +140,7 @@
    <property name="android-custom-view/Users/hdl/Library/Developer/Xamarin/android-sdk-macosx/sources/android-29/android/view/View.java_SELECTED" value="View" />
    <property name="cidr.known.project.marker" value="true" />
    <property name="dart.analysis.tool.window.visible" value="false" />
    <property name="last_opened_file_path" value="$PROJECT_DIR$" />
    <property name="last_opened_file_path" value="$PROJECT_DIR$/app/src/main/res/layout" />
    <property name="memory.settings.postsync.last.time.stamp" value="1669180114457" />
    <property name="multi-representation-preview/Users/hdl/Library/Developer/Xamarin/android-sdk-macosx/sources/android-29/android/view/View.java_selected" value="Custom views" />
    <property name="project.structure.last.edited" value="Dependencies" />
@@ -140,22 +153,23 @@
    <option name="LAST_EDITED_BUILD_TYPE" value="release" />
  </component>
  <component name="RecentsManager">
    <key name="CopyFile.RECENT_KEYS">
      <recent name="$PROJECT_DIR$/DeviceAddModule/libs" />
      <recent name="$PROJECT_DIR$/app/src/main/java/com/hdl" />
      <recent name="$PROJECT_DIR$/app/src/main/res/drawable" />
      <recent name="$PROJECT_DIR$/app/src/main/res/mipmap-xhdpi" />
      <recent name="$PROJECT_DIR$/app/src/main/res/layout" />
    </key>
    <key name="MoveClassesOrPackagesDialog.RECENTS_KEY">
      <recent name="com" />
    </key>
    <key name="CopyClassDialog.RECENTS_KEY">
      <recent name="com.common.openapi" />
      <recent name="com.utils" />
      <recent name="com.mm.android.deviceaddmodule.utils" />
    </key>
    <key name="CopyFile.RECENT_KEYS">
      <recent name="$PROJECT_DIR$/app/src/main/res/layout" />
      <recent name="$PROJECT_DIR$/app/src/main/java/com/utils" />
      <recent name="$PROJECT_DIR$/app/src/main/java/com/lechange/demo/ui" />
      <recent name="$PROJECT_DIR$/DeviceAddModule/libs" />
      <recent name="$PROJECT_DIR$/app/src/main/java/com/hdl" />
    </key>
  </component>
  <component name="RunManager" selected="Gradle.AndroidOpenDemo:app [assembleRelease]">
  <component name="RunManager" selected="Android App.app">
    <configuration default="true" type="AndroidJUnit" factoryName="Android JUnit">
      <option name="TEST_OBJECT" value="class" />
      <option name="WORKING_DIRECTORY" value="$MODULE_DIR$" />
@@ -171,7 +185,6 @@
      <option name="ARTIFACT_NAME" value="" />
      <option name="PM_INSTALL_OPTIONS" value="" />
      <option name="ALL_USERS" value="false" />
      <option name="ALWAYS_INSTALL_WITH_PM" value="false" />
      <option name="DYNAMIC_FEATURES_DISABLED_LIST" value="" />
      <option name="ACTIVITY_EXTRA_FLAGS" value="" />
      <option name="MODE" value="default_activity" />
@@ -179,7 +192,6 @@
      <option name="SHOW_LOGCAT_AUTOMATICALLY" value="false" />
      <option name="SKIP_NOOP_APK_INSTALLATIONS" value="true" />
      <option name="FORCE_STOP_RUNNING_APP" value="true" />
      <option name="INSPECTION_WITHOUT_ACTIVITY_RESTART" value="false" />
      <option name="TARGET_SELECTION_MODE" value="DEVICE_AND_SNAPSHOT_COMBO_BOX" />
      <option name="SELECTED_CLOUD_MATRIX_CONFIGURATION_ID" value="-1" />
      <option name="SELECTED_CLOUD_MATRIX_PROJECT_ID" value="" />
@@ -238,9 +250,7 @@
        </option>
        <option name="vmOptions" />
      </ExternalSystemSettings>
      <ExternalSystemDebugServerProcess>true</ExternalSystemDebugServerProcess>
      <ExternalSystemReattachDebugProcess>true</ExternalSystemReattachDebugProcess>
      <DebugAllEnabled>false</DebugAllEnabled>
      <GradleScriptDebugEnabled>true</GradleScriptDebugEnabled>
      <method v="2" />
    </configuration>
    <configuration name="AndroidOpenDemo:DeviceAddModule [assembleRelease]" type="GradleRunConfiguration" factoryName="Gradle" temporary="true">
@@ -259,9 +269,7 @@
        </option>
        <option name="vmOptions" />
      </ExternalSystemSettings>
      <ExternalSystemDebugServerProcess>true</ExternalSystemDebugServerProcess>
      <ExternalSystemReattachDebugProcess>true</ExternalSystemReattachDebugProcess>
      <DebugAllEnabled>false</DebugAllEnabled>
      <GradleScriptDebugEnabled>true</GradleScriptDebugEnabled>
      <method v="2" />
    </configuration>
    <configuration name="AndroidOpenDemo:app [assembleDebug]" type="GradleRunConfiguration" factoryName="Gradle" temporary="true">
@@ -280,9 +288,7 @@
        </option>
        <option name="vmOptions" />
      </ExternalSystemSettings>
      <ExternalSystemDebugServerProcess>true</ExternalSystemDebugServerProcess>
      <ExternalSystemReattachDebugProcess>true</ExternalSystemReattachDebugProcess>
      <DebugAllEnabled>false</DebugAllEnabled>
      <GradleScriptDebugEnabled>true</GradleScriptDebugEnabled>
      <method v="2" />
    </configuration>
    <configuration name="AndroidOpenDemo:app [assembleRelease]" type="GradleRunConfiguration" factoryName="Gradle" temporary="true">
@@ -301,9 +307,7 @@
        </option>
        <option name="vmOptions" />
      </ExternalSystemSettings>
      <ExternalSystemDebugServerProcess>true</ExternalSystemDebugServerProcess>
      <ExternalSystemReattachDebugProcess>true</ExternalSystemReattachDebugProcess>
      <DebugAllEnabled>false</DebugAllEnabled>
      <GradleScriptDebugEnabled>true</GradleScriptDebugEnabled>
      <method v="2" />
    </configuration>
    <configuration name="AndroidOpenDemo:usermodule [assembleRelease]" type="GradleRunConfiguration" factoryName="Gradle" temporary="true">
@@ -322,9 +326,7 @@
        </option>
        <option name="vmOptions" />
      </ExternalSystemSettings>
      <ExternalSystemDebugServerProcess>true</ExternalSystemDebugServerProcess>
      <ExternalSystemReattachDebugProcess>true</ExternalSystemReattachDebugProcess>
      <DebugAllEnabled>false</DebugAllEnabled>
      <GradleScriptDebugEnabled>true</GradleScriptDebugEnabled>
      <method v="2" />
    </configuration>
    <recent_temporary>
@@ -337,7 +339,7 @@
      </list>
    </recent_temporary>
  </component>
  <component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="application-level" UseSingleDictionary="true" transferred="true" />
  <component name="SpellCheckerSettings" BundledDictionaries="0" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" Dictionaries="0" CorrectionsLimit="5" DefaultDictionary="application-level" UseSingleDictionary="true" />
  <component name="SvnConfiguration">
    <configuration />
  </component>
@@ -367,6 +369,56 @@
    <ignored-roots>
      <path value="$PROJECT_DIR$" />
    </ignored-roots>
  </component>
  <component name="WindowStateProjectService">
    <state x="321" y="0" key="#app" timestamp="1669252776150">
      <screen x="0" y="0" width="1280" height="800" />
    </state>
    <state x="321" y="0" key="#app/0.0.1280.800@0.0.1280.800" timestamp="1669252776150" />
    <state x="453" y="113" key="#com.intellij.ide.util.MemberChooser" timestamp="1669257253970">
      <screen x="0" y="0" width="1280" height="800" />
    </state>
    <state x="453" y="113" key="#com.intellij.ide.util.MemberChooser/0.0.1280.800@0.0.1280.800" timestamp="1669257253970" />
    <state width="1236" height="418" key="GridCell.Tab.0.bottom" timestamp="1669257607924">
      <screen x="0" y="0" width="1280" height="800" />
    </state>
    <state width="1236" height="418" key="GridCell.Tab.0.bottom/0.0.1280.800@0.0.1280.800" timestamp="1669257607924" />
    <state width="1236" height="164" key="GridCell.Tab.0.bottom/0.23.1280.777@0.23.1280.777" timestamp="1669257377595" />
    <state width="1236" height="418" key="GridCell.Tab.0.center" timestamp="1669257607924">
      <screen x="0" y="0" width="1280" height="800" />
    </state>
    <state width="1236" height="418" key="GridCell.Tab.0.center/0.0.1280.800@0.0.1280.800" timestamp="1669257607924" />
    <state width="1236" height="164" key="GridCell.Tab.0.center/0.23.1280.777@0.23.1280.777" timestamp="1669257377593" />
    <state width="1236" height="418" key="GridCell.Tab.0.left" timestamp="1669257607923">
      <screen x="0" y="0" width="1280" height="800" />
    </state>
    <state width="1236" height="418" key="GridCell.Tab.0.left/0.0.1280.800@0.0.1280.800" timestamp="1669257607923" />
    <state width="1236" height="164" key="GridCell.Tab.0.left/0.23.1280.777@0.23.1280.777" timestamp="1669257377592" />
    <state width="1236" height="418" key="GridCell.Tab.0.right" timestamp="1669257607924">
      <screen x="0" y="0" width="1280" height="800" />
    </state>
    <state width="1236" height="418" key="GridCell.Tab.0.right/0.0.1280.800@0.0.1280.800" timestamp="1669257607924" />
    <state width="1236" height="164" key="GridCell.Tab.0.right/0.23.1280.777@0.23.1280.777" timestamp="1669257377594" />
    <state width="1236" height="164" key="GridCell.Tab.1.bottom" timestamp="1669257522605">
      <screen x="0" y="0" width="1280" height="800" />
    </state>
    <state width="1236" height="164" key="GridCell.Tab.1.bottom/0.0.1280.800@0.0.1280.800" timestamp="1669257522605" />
    <state width="1236" height="164" key="GridCell.Tab.1.center" timestamp="1669257522603">
      <screen x="0" y="0" width="1280" height="800" />
    </state>
    <state width="1236" height="164" key="GridCell.Tab.1.center/0.0.1280.800@0.0.1280.800" timestamp="1669257522603" />
    <state width="1236" height="164" key="GridCell.Tab.1.left" timestamp="1669257522602">
      <screen x="0" y="0" width="1280" height="800" />
    </state>
    <state width="1236" height="164" key="GridCell.Tab.1.left/0.0.1280.800@0.0.1280.800" timestamp="1669257522602" />
    <state width="1236" height="164" key="GridCell.Tab.1.right" timestamp="1669257522604">
      <screen x="0" y="0" width="1280" height="800" />
    </state>
    <state width="1236" height="164" key="GridCell.Tab.1.right/0.0.1280.800@0.0.1280.800" timestamp="1669257522604" />
    <state x="332" y="155" width="708" height="490" key="find.popup" timestamp="1669259388351">
      <screen x="0" y="0" width="1280" height="800" />
    </state>
    <state x="332" y="155" width="708" height="490" key="find.popup/0.0.1280.800@0.0.1280.800" timestamp="1669259388351" />
  </component>
  <component name="XDebuggerManager">
    <breakpoint-manager>
@@ -403,7 +455,7 @@
        </line-breakpoint>
        <line-breakpoint enabled="true" suspend="THREAD" type="java-line">
          <url>file://$PROJECT_DIR$/app/src/main/java/com/common/openapi/DeviceInfoOpenApiManager.java</url>
          <line>77</line>
          <line>73</line>
          <option name="timeStamp" value="61" />
        </line-breakpoint>
        <line-breakpoint enabled="true" suspend="THREAD" type="java-line">
AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/openapi/HttpSend.java
@@ -68,10 +68,10 @@
    private static JsonObject doPost(String url, Map<String, Object> map, int timeOut) throws BusinessException {
        Gson gson = new Gson();
        map.put("homeId", LCDeviceEngine.newInstance().getHomeId());
        String json;
        JsonObject jsonObject;
        if(CONST.isHdlServer()) {
            map.put("homeId", LCDeviceEngine.newInstance().getHomeId());
            if (map.containsKey("params")) {
                Map<String, Object> tempMap = (Map<String, Object>) map.get("params");
                map.remove("params");
AndroidOpenDemo/app/src/main/java/com/common/openapi/DeviceDetailService.java
@@ -292,4 +292,38 @@
        };
    }
    /**
     * 格式化SD卡
     * @param deviceId
     * @param iRecoverSDCardCallBack
     */
    public void recoverSDCard(final String deviceId, final IGetDeviceInfoCallBack.IRecoverSDCardCallBack iRecoverSDCardCallBack){
        final LCBusinessHandler handler = new LCBusinessHandler() {
            @Override
            public void handleBusiness(Message msg) {
                if (iRecoverSDCardCallBack == null) {
                    return;
                }
                if (msg.what == HandleMessageCode.HMC_SUCCESS) {
                    //成功
                    iRecoverSDCardCallBack.onSuccess("Success");
                } else {
                    //失败
                    iRecoverSDCardCallBack.onError(BusinessErrorTip.throwError(msg));
                }
            }
        };
        new BusinessRunnable(handler) {
            @Override
            public void doBusiness() throws BusinessException {
                try {
                    boolean b = DeviceInfoOpenApiManager.recoverSDCard(deviceId);
                    handler.obtainMessage(HandleMessageCode.HMC_SUCCESS, b).sendToTarget();
                } catch (BusinessException e) {
                    throw e;
                }
            }
        };
    }
}
AndroidOpenDemo/app/src/main/java/com/common/openapi/DeviceInfoOpenApiManager.java
@@ -14,11 +14,7 @@
import com.google.gson.JsonObject;
import com.mm.android.deviceaddmodule.LCDeviceEngine;
import com.mm.android.deviceaddmodule.mobilecommon.AppConsume.BusinessException;
import com.mm.android.deviceaddmodule.mobilecommon.common.Constants;
import com.mm.android.deviceaddmodule.mobilecommon.utils.PreferencesHelper;
import com.mm.android.deviceaddmodule.openapi.HttpSend;
import org.json.JSONObject;
import java.util.HashMap;
@@ -127,6 +123,14 @@
        return true;
    }
    public static boolean recoverSDCard(String deviceId) throws BusinessException{
        HashMap<String, Object> paramsMap = new HashMap<String, Object>();
        paramsMap.put("token", LCDeviceEngine.newInstance().accessToken);
        paramsMap.put("deviceId", deviceId);
        HttpSend.execute(paramsMap, MethodConst.RECOVER_SDCARD,TIME_OUT);
        return true;
    }
    /**
     * 获取设备版本和可升级信息
     *
AndroidOpenDemo/app/src/main/java/com/common/openapi/IGetDeviceInfoCallBack.java
@@ -214,6 +214,22 @@
        void onError(Throwable throwable);
    }
    public interface IRecoverSDCardCallBack {
        /**
         * 成功
         *
         * @param result
         */
        void onSuccess(String result);
        /**
         * 错误回调
         *
         * @param throwable
         */
        void onError(Throwable throwable);
    }
}
AndroidOpenDemo/app/src/main/java/com/common/openapi/MethodConst.java
@@ -38,6 +38,8 @@
    public static String DELETE_DEVICE_PERMISSION = "deleteDevicePermission";
    public static String RECOVER_SDCARD = "recoverSDCard";
    public static String SD_STATUE_QUERY = "deviceSdcardStatus";
    public static String GET_DEVICE_CLOUD = "getDeviceCloud";
AndroidOpenDemo/app/src/main/java/com/lechange/demo/ui/DeviceDetailMainFragment.java
@@ -55,6 +55,7 @@
    private IGetDeviceInfoCallBack.IModifyDeviceName modifyNameListener;
    private String fromWhere;
    private TextView tvDeploymentTip;
    private TextView tvFormat_sd;
    public static DeviceDetailMainFragment newInstance() {
        DeviceDetailMainFragment fragment = new DeviceDetailMainFragment();
@@ -92,11 +93,13 @@
        tvDeviceVersion = view.findViewById(R.id.tv_device_version);
        tvCurrentWifi = view.findViewById(R.id.tv_current_wifi);
        rlCurWifi = view.findViewById(R.id.rl_cur_wifi);
        tvFormat_sd =view.findViewById(R.id.tvFormat_sd);
        rlDeployment.setOnClickListener(this);
        rlDetele.setOnClickListener(this);
        rlDeviceDetail.setOnClickListener(this);
        rlCurWifi.setOnClickListener(this);
        tvFormat_sd.setOnClickListener(this);
        DeviceDetailActivity deviceDetailActivity = (DeviceDetailActivity) getActivity();
        deviceDetailActivity.tvTitle.setText(getResources().getString(R.string.lc_demo_device_detail_title));
        if (arguments == null) {
@@ -271,6 +274,25 @@
            deviceDetailService.unBindDevice(deviceUnBindData, this);*/
            deviceDetailService.deletePermission(deviceListBean.deviceId,null,this);
        }
        else if(id==R.id.tvFormat_sd){
            deviceDetailActivity.rlLoading.setVisibility(View.VISIBLE);
            DeviceDetailService deviceDetailService = ClassInstanceManager.newInstance().getDeviceDetailService();
         /*   DeviceUnBindData deviceUnBindData = new DeviceUnBindData();
            deviceUnBindData.data.deviceId = deviceListBean.deviceId;
            deviceDetailService.unBindDevice(deviceUnBindData, this);*/
            deviceDetailService.recoverSDCard(deviceListBean.deviceId, new IGetDeviceInfoCallBack.IRecoverSDCardCallBack() {
                @Override
                public void onSuccess(String result) {
                    deviceDetailActivity.rlLoading.setVisibility(View.GONE);
                }
                @Override
                public void onError(Throwable throwable) {
                    deviceDetailActivity.rlLoading.setVisibility(View.GONE);
                }
            });
        }
    }
    @Override
AndroidOpenDemo/app/src/main/java/com/lechange/demo/ui/EnvGuideActivity.java
@@ -70,7 +70,7 @@
        HdlToLcUtils.getInstance().initData(this, "HDL-HOME-APP-TEST", "WeJ8TY88vbakCcnvH8G1tDUqzLWY8yss", "https://test-gz.hdlcontrol.com");
        HdlToLcUtils.getInstance().setHomeId("1547099040465408002");
        HdlToLcUtils.getInstance().setToken("eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJqdGkiOiI0YTJhNzZiYTUxNzU0ZmFmODZlYjhhNDZiODUzZWRjMCIsImNvbXBhbnlJZCI6IjIwMiIsInJvbGUiOiIiLCJoZWFkZXJQcmVmaXgiOiJCZWFyZXIgIiwidXNlckFjY291bnQiOiJ3eHIiLCJ0ZW5hbnRJZCI6IjIwIiwidXNlclR5cGUiOiJVU0VSX0IiLCJ0b2tlblR5cGUiOiJhY2Nlc3NfdG9rZW4iLCJ1c2VyTmFtZSI6Ind4ciIsIm9wZW5BcHBsaWNhdGlvbklkIjoiMCIsInVzZXJJZCI6IjEzOTIwMzU1NjgyMDQ0MjMxNjkiLCJleHAiOjE2NjkyMDEzODYsIm5iZiI6MTY2OTE5NDE4Nn0.jlXwyCbdy41f4tkObmnKup6r2xGRzk5fLtHfNgaNSdJ6deyzKFVLQcDH3FMW_AntAo2ghkTQLZGnMXt8k7uoC0fa6XLHA8bTNYvjx4-2X1ky2FMcvv_sDTmmPMo6EbqOeRNkCoiLly2iTB4Ch6FJRSQo0UFkpOJtJJuCCo92B5c");
        HdlToLcUtils.getInstance().setToken("eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJqdGkiOiI3MmI0OTEwYWRkYmE0ZjA3YjAxNzQxYmZhOGIzOTIyMSIsImNvbXBhbnlJZCI6IjIwMiIsInJvbGUiOiIiLCJoZWFkZXJQcmVmaXgiOiJCZWFyZXIgIiwidXNlckFjY291bnQiOiJ3eHIiLCJ0ZW5hbnRJZCI6IjIwIiwidXNlclR5cGUiOiJVU0VSX0IiLCJ0b2tlblR5cGUiOiJhY2Nlc3NfdG9rZW4iLCJ1c2VyTmFtZSI6Ind4ciIsIm9wZW5BcHBsaWNhdGlvbklkIjoiMCIsInVzZXJJZCI6IjEzOTIwMzU1NjgyMDQ0MjMxNjkiLCJleHAiOjE2NjkyNTk5NTUsIm5iZiI6MTY2OTI1Mjc1NX0.T0Ni3_QGu25At2UNmsqB3lfo_ueRUZTmeRLbeVK4JpvqzwlwYykCnxXZ6pyWmTPEtAvsr68e8xSIMTKp1J8X61CXipHjRBBvgOkcwpuS-436RCQR3cg_uaCQ4Ac63C6N6G94FG6zukbSYRbgBaBQqKcOBbqEYD0hCa8BaXg6sCM");
        HdlToLcUtils.getInstance().setSubAccessToken("St_00003ee84eda32b14126af958052f20a");
//        HdlToLcUtils.getInstance().openActivity();
AndroidOpenDemo/app/src/main/java/com/utils/HdlToLcUtils.java
@@ -66,9 +66,9 @@
//            mUrl = CONST.Envirment.CHINA_TEST.url;
//            ProviderManager.getAppProvider().setAppType(0);
//        } else {
//            mAppSecret = "017fc27bb987496f9a677e4e6f0c88";
//            mAppid = "lc0285433bc7e8423d";
//            mUrl = CONST.Envirment.OVERSEAS_PRO.url;
//            secretKey = "017fc27bb987496f9a677e4e6f0c88";
//            appKey = "lc0285433bc7e8423d";
//            url = CONST.Envirment.OVERSEAS_PRO.url;
             ProviderManager.getAppProvider().setAppType(1);
//        }
AndroidOpenDemo/app/src/main/res/layout/fragment_device_detail_main.xml
@@ -122,6 +122,23 @@
            android:src="@mipmap/lc_demo_common_btn_next"></ImageView>
    </RelativeLayout>
    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="@dimen/px_130"
        android:background="@color/lc_demo_color_ffffff"
        android:gravity="center_vertical"
        android:paddingLeft="@dimen/px_30"
        android:paddingRight="@dimen/px_30">
        <TextView
            android:id="@+id/tvFormat_sd"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerVertical="true"
            android:text="@string/format_sd"
            android:textColor="@color/lc_demo_color_2c2c2c"
            android:textSize="@dimen/px_36"></TextView>
    </RelativeLayout>
    <RelativeLayout
        android:visibility="gone"
        android:layout_marginTop="@dimen/px_1"
        android:id="@+id/rl_cur_wifi"
AndroidOpenDemo/app/src/main/res/values-en/strings.xml
@@ -78,4 +78,5 @@
    <string name="lc_demo_device_today_no_record">today no record</string>
    <string name="lc_demo_device_local_sd">No storage medium</string>
    <string name="lc_demo_device_cloud_not_open">Cloud storage is not enabled</string>
    <string name="format_sd">Format sd card</string>
</resources>
AndroidOpenDemo/app/src/main/res/values/strings.xml
@@ -78,4 +78,5 @@
    <string name="lc_demo_device_today_no_record">今日暂无录像</string>
    <string name="lc_demo_device_local_sd">无存储介质</string>
    <string name="lc_demo_device_cloud_not_open">云存储未开通</string>
    <string name="format_sd">格式化SD卡</string>
</resources>