update 自动切换企业参数

This commit is contained in:
gallonyin
2023-07-13 21:03:34 +08:00
parent 573b113835
commit 0b41c72e62
5 changed files with 85 additions and 13 deletions

View File

@@ -22,25 +22,30 @@ object Constant {
var key = "9876543210abcdef".toByteArray() var key = "9876543210abcdef".toByteArray()
var iv = "0123456789abcdef".toByteArray() var iv = "0123456789abcdef".toByteArray()
val transformation = "AES/CBC/PKCS7Padding" val transformation = "AES/CBC/PKCS7Padding"
var weworkCorpId: String var weworkCorpName: String
get() = SPUtils.getInstance().getString("weworkCorpId", "") get() = SPUtils.getInstance().getString("weworkCorpName", "")
set(value) { 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 var weworkAgentId: String
get() = SPUtils.getInstance().getString("weworkAgentId", "") get() = SPUtils.getInstance().getString(weworkCorpName + "weworkAgentId", "")
set(value) { set(value) {
SPUtils.getInstance().put("weworkAgentId", value) SPUtils.getInstance().put(weworkCorpName + "weworkAgentId", value)
} }
var weworkSchema: String var weworkSchema: String
get() = SPUtils.getInstance().getString("weworkSchema", "") get() = SPUtils.getInstance().getString(weworkCorpName + "weworkSchema", "")
set(value) { set(value) {
SPUtils.getInstance().put("weworkSchema", value) SPUtils.getInstance().put(weworkCorpName + "weworkSchema", value)
} }
var weworkMP: String var weworkMP: String
get() = SPUtils.getInstance().getString("weworkMP", "") get() = SPUtils.getInstance().getString(weworkCorpName + "weworkMP", "")
set(value) { set(value) {
SPUtils.getInstance().put("weworkMP", value) SPUtils.getInstance().put(weworkCorpName + "weworkMP", value)
} }
var encryptType: Int = SPUtils.getInstance().getInt("encryptType", 1) var encryptType: Int = SPUtils.getInstance().getInt("encryptType", 1)
var autoReply: Int = SPUtils.getInstance().getInt("autoReply", 1) var autoReply: Int = SPUtils.getInstance().getInt("autoReply", 1)

View File

@@ -73,6 +73,7 @@ class SettingsAdvanceActivity : AppCompatActivity() {
ll_corp_param.visibility = if (Constant.customLink) View.VISIBLE else View.GONE ll_corp_param.visibility = if (Constant.customLink) View.VISIBLE else View.GONE
rl_username.visibility = if (Constant.customMP) View.VISIBLE else View.GONE rl_username.visibility = if (Constant.customMP) View.VISIBLE else View.GONE
rl_qa_url.setOnClickListener { showQaUrlDialog() } rl_qa_url.setOnClickListener { showQaUrlDialog() }
rl_corp_name.setOnClickListener { showCorpNameDialog() }
rl_corp.setOnClickListener { showCorpIdDialog() } rl_corp.setOnClickListener { showCorpIdDialog() }
rl_agent.setOnClickListener { showAgentIdDialog() } rl_agent.setOnClickListener { showAgentIdDialog() }
rl_schema.setOnClickListener { showSchemaDialog() } 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() { private fun showCorpIdDialog() {
val builder = QMUIDialog.EditTextDialogBuilder(this) val builder = QMUIDialog.EditTextDialogBuilder(this)
builder.setTitle("CorpId") builder.setTitle("CorpId")

View File

@@ -1663,11 +1663,13 @@ object WeworkOperationImpl {
.filter { it.childCount >= 2 } .filter { it.childCount >= 2 }
val listview = listviewList.firstOrNull() val listview = listviewList.firstOrNull()
if (listview != null) { if (listview != null) {
val tvCorp = AccessibilityUtil.findOnceByText(listview, objectName, exact = true) val tvCorp = AccessibilityUtil.scrollAndFindByText(WeworkController.weworkService, listview, objectName, exact = true)
if (tvCorp != null) { if (tvCorp != null) {
LogUtils.d("找到目标企业: $objectName") LogUtils.d("找到目标企业: $objectName")
AccessibilityUtil.performClick(tvCorp) AccessibilityUtil.performClick(tvCorp)
uploadCommandResult(message, ExecCallbackBean.SUCCESS, "切换企业成功: $objectName", startTime, listOf(objectName), listOf()) uploadCommandResult(message, ExecCallbackBean.SUCCESS, "切换企业成功: $objectName", startTime, listOf(objectName), listOf())
Constant.weworkCorpName = objectName
IWWAPIUtil.init(Utils.getApp())
goHome() goHome()
WeworkGetImpl.getMyInfo(message) WeworkGetImpl.getMyInfo(message)
return true return true

View File

@@ -24,8 +24,9 @@ object IWWAPIUtil {
fun init(context: Context) { fun init(context: Context) {
iwwapi = WWAPIFactory.createWWAPI(context) iwwapi = WWAPIFactory.createWWAPI(context)
iwwapi?.unregisterApp()
val result = iwwapi?.registerApp(Constant.weworkSchema) 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 { fun sendLink(thumbUrl: String?, webpageUrl: String?, title: String?, description: String?): Boolean {

View File

@@ -240,7 +240,7 @@
android:paddingBottom="@dimen/setting_vertical_padding"> android:paddingBottom="@dimen/setting_vertical_padding">
<TextView <TextView
android:id="@+id/tv_select_fps" android:id="@+id/tv_select_qa_url"
android:layout_width="@dimen/setting_end_font_width" android:layout_width="@dimen/setting_end_font_width"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_alignParentEnd="true" android:layout_alignParentEnd="true"
@@ -255,7 +255,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_centerVertical="true" android:layout_centerVertical="true"
android:layout_marginStart="@dimen/setting_start_padding" android:layout_marginStart="@dimen/setting_start_padding"
android:layout_toStartOf="@id/tv_select_fps" android:layout_toStartOf="@id/tv_select_qa_url"
android:orientation="vertical"> android:orientation="vertical">
<TextView <TextView
@@ -404,6 +404,51 @@
android:textSize="@dimen/setting_end_font_size" android:textSize="@dimen/setting_end_font_size"
android:textStyle="bold" /> android:textStyle="bold" />
<RelativeLayout
android:id="@+id/rl_corp_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingStart="@dimen/setting_start_padding"
android:paddingTop="@dimen/setting_vertical_padding"
android:paddingEnd="@dimen/setting_end_padding"
android:paddingBottom="@dimen/setting_vertical_padding">
<TextView
android:id="@+id/tv_select_corp_name"
android:layout_width="@dimen/setting_end_font_width"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_centerVertical="true"
android:layout_marginStart="@dimen/setting_end_start_padding"
android:textColor="@color/float_time_color"
android:textSize="@dimen/setting_end_font_size"
android:textStyle="bold" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginStart="@dimen/setting_start_padding"
android:layout_toStartOf="@id/tv_select_corp_name"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="企业名称(单企业可不填)"
android:textColor="@color/color_333333"
android:textSize="@dimen/setting_start_font_size" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="在企业切换时自动切换参数"
android:textColor="@color/color_999999"
android:textSize="@dimen/setting_end_font_size" />
</LinearLayout>
</RelativeLayout>
<RelativeLayout <RelativeLayout
android:id="@+id/rl_corp" android:id="@+id/rl_corp"
android:layout_width="match_parent" android:layout_width="match_parent"