diff --git a/app/src/main/java/org/yameida/worktool/Constant.kt b/app/src/main/java/org/yameida/worktool/Constant.kt index 17a4b47..c10d132 100644 --- a/app/src/main/java/org/yameida/worktool/Constant.kt +++ b/app/src/main/java/org/yameida/worktool/Constant.kt @@ -22,25 +22,30 @@ object Constant { var key = "9876543210abcdef".toByteArray() var iv = "0123456789abcdef".toByteArray() val transformation = "AES/CBC/PKCS7Padding" - var weworkCorpId: String - get() = SPUtils.getInstance().getString("weworkCorpId", "") + var weworkCorpName: String + get() = SPUtils.getInstance().getString("weworkCorpName", "") set(value) { - SPUtils.getInstance().put("weworkCorpId", value) + SPUtils.getInstance().put("weworkCorpName", value) + } + var weworkCorpId: String + get() = SPUtils.getInstance().getString(weworkCorpName + "weworkCorpId", "") + set(value) { + SPUtils.getInstance().put(weworkCorpName + "weworkCorpId", value) } var weworkAgentId: String - get() = SPUtils.getInstance().getString("weworkAgentId", "") + get() = SPUtils.getInstance().getString(weworkCorpName + "weworkAgentId", "") set(value) { - SPUtils.getInstance().put("weworkAgentId", value) + SPUtils.getInstance().put(weworkCorpName + "weworkAgentId", value) } var weworkSchema: String - get() = SPUtils.getInstance().getString("weworkSchema", "") + get() = SPUtils.getInstance().getString(weworkCorpName + "weworkSchema", "") set(value) { - SPUtils.getInstance().put("weworkSchema", value) + SPUtils.getInstance().put(weworkCorpName + "weworkSchema", value) } var weworkMP: String - get() = SPUtils.getInstance().getString("weworkMP", "") + get() = SPUtils.getInstance().getString(weworkCorpName + "weworkMP", "") set(value) { - SPUtils.getInstance().put("weworkMP", value) + SPUtils.getInstance().put(weworkCorpName + "weworkMP", value) } var encryptType: Int = SPUtils.getInstance().getInt("encryptType", 1) var autoReply: Int = SPUtils.getInstance().getInt("autoReply", 1) diff --git a/app/src/main/java/org/yameida/worktool/activity/SettingsAdvanceActivity.kt b/app/src/main/java/org/yameida/worktool/activity/SettingsAdvanceActivity.kt index 3fffd41..8f9ff66 100644 --- a/app/src/main/java/org/yameida/worktool/activity/SettingsAdvanceActivity.kt +++ b/app/src/main/java/org/yameida/worktool/activity/SettingsAdvanceActivity.kt @@ -73,6 +73,7 @@ class SettingsAdvanceActivity : AppCompatActivity() { ll_corp_param.visibility = if (Constant.customLink) View.VISIBLE else View.GONE rl_username.visibility = if (Constant.customMP) View.VISIBLE else View.GONE rl_qa_url.setOnClickListener { showQaUrlDialog() } + rl_corp_name.setOnClickListener { showCorpNameDialog() } rl_corp.setOnClickListener { showCorpIdDialog() } rl_agent.setOnClickListener { showAgentIdDialog() } rl_schema.setOnClickListener { showSchemaDialog() } @@ -145,6 +146,24 @@ class SettingsAdvanceActivity : AppCompatActivity() { } } + private fun showCorpNameDialog() { + val builder = QMUIDialog.EditTextDialogBuilder(this) + builder.setTitle("企业名称") + .setDefaultText(Constant.weworkCorpName) + .setInputType(InputType.TYPE_CLASS_TEXT) + .addAction(getString(R.string.cancel)) { dialog, index -> dialog.dismiss() } + .addAction(getString(R.string.add)) { dialog, index -> + val text = builder.editText.text + if (text != null) { + dialog.dismiss() + Constant.weworkCorpName = text.toString().trim() + } else { + ToastUtils.showLong("请勿为空!") + } + } + .create(R.style.QMUI_Dialog).show() + } + private fun showCorpIdDialog() { val builder = QMUIDialog.EditTextDialogBuilder(this) builder.setTitle("CorpId") diff --git a/app/src/main/java/org/yameida/worktool/service/WeworkOperationImpl.kt b/app/src/main/java/org/yameida/worktool/service/WeworkOperationImpl.kt index 79b1548..93f681b 100644 --- a/app/src/main/java/org/yameida/worktool/service/WeworkOperationImpl.kt +++ b/app/src/main/java/org/yameida/worktool/service/WeworkOperationImpl.kt @@ -1663,11 +1663,13 @@ object WeworkOperationImpl { .filter { it.childCount >= 2 } val listview = listviewList.firstOrNull() if (listview != null) { - val tvCorp = AccessibilityUtil.findOnceByText(listview, objectName, exact = true) + val tvCorp = AccessibilityUtil.scrollAndFindByText(WeworkController.weworkService, listview, objectName, exact = true) if (tvCorp != null) { LogUtils.d("找到目标企业: $objectName") AccessibilityUtil.performClick(tvCorp) uploadCommandResult(message, ExecCallbackBean.SUCCESS, "切换企业成功: $objectName", startTime, listOf(objectName), listOf()) + Constant.weworkCorpName = objectName + IWWAPIUtil.init(Utils.getApp()) goHome() WeworkGetImpl.getMyInfo(message) return true diff --git a/app/src/main/java/org/yameida/worktool/utils/IWWAPIUtil.kt b/app/src/main/java/org/yameida/worktool/utils/IWWAPIUtil.kt index 7727192..f36fd1a 100644 --- a/app/src/main/java/org/yameida/worktool/utils/IWWAPIUtil.kt +++ b/app/src/main/java/org/yameida/worktool/utils/IWWAPIUtil.kt @@ -24,8 +24,9 @@ object IWWAPIUtil { fun init(context: Context) { iwwapi = WWAPIFactory.createWWAPI(context) + iwwapi?.unregisterApp() val result = iwwapi?.registerApp(Constant.weworkSchema) - LogUtils.e("iwwapi.registerApp: $result") + LogUtils.i("iwwapi.registerApp: $result", Constant.weworkSchema) } fun sendLink(thumbUrl: String?, webpageUrl: String?, title: String?, description: String?): Boolean { diff --git a/app/src/main/res/layout/activity_settings_advance.xml b/app/src/main/res/layout/activity_settings_advance.xml index 6af3e82..7136e5f 100644 --- a/app/src/main/res/layout/activity_settings_advance.xml +++ b/app/src/main/res/layout/activity_settings_advance.xml @@ -240,7 +240,7 @@ android:paddingBottom="@dimen/setting_vertical_padding"> + + + + + + + + + + + + +