From 3430dbbe8e30935c286479f0a523db5cc93c29ea Mon Sep 17 00:00:00 2001 From: pppscn <35696959@qq.com> Date: Thu, 22 Sep 2022 23:05:06 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=EF=BC=9A`webhook`=E5=8F=91?= =?UTF-8?q?=E9=80=81=E9=80=9A=E9=81=93=E5=A2=9E=E5=8A=A0`PUT`/`PATCH`?= =?UTF-8?q?=E8=AF=B7=E6=B1=82=E6=96=B9=E5=BC=8F=20#206?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fragment/senders/WebhookFragment.kt | 59 +++++++++++++++---- 1 file changed, 47 insertions(+), 12 deletions(-) diff --git a/app/src/main/java/com/idormy/sms/forwarder/fragment/senders/WebhookFragment.kt b/app/src/main/java/com/idormy/sms/forwarder/fragment/senders/WebhookFragment.kt index b18e7591..8ebe0c12 100644 --- a/app/src/main/java/com/idormy/sms/forwarder/fragment/senders/WebhookFragment.kt +++ b/app/src/main/java/com/idormy/sms/forwarder/fragment/senders/WebhookFragment.kt @@ -81,7 +81,8 @@ class WebhookFragment : BaseFragment(), View.OnC override fun initViews() { //测试按钮增加倒计时,避免重复点击 mCountDownHelper = CountDownButtonHelper(binding!!.btnTest, SettingUtils.requestTimeout) - mCountDownHelper!!.setOnCountDownListener(object : CountDownButtonHelper.OnCountDownListener { + mCountDownHelper!!.setOnCountDownListener(object : + CountDownButtonHelper.OnCountDownListener { override fun onCountDown(time: Int) { binding!!.btnTest.text = String.format(getString(R.string.seconds_n), time) } @@ -131,7 +132,12 @@ class WebhookFragment : BaseFragment(), View.OnC //set header if (settingVo.headers != null) { for ((key, value) in settingVo.headers) { - addHeaderItemLinearLayout(headerItemMap, binding!!.layoutHeaders, key, value) + addHeaderItemLinearLayout( + headerItemMap, + binding!!.layoutHeaders, + key, + value + ) } } } @@ -143,8 +149,16 @@ class WebhookFragment : BaseFragment(), View.OnC binding!!.btnTest.setOnClickListener(this) binding!!.btnDel.setOnClickListener(this) binding!!.btnSave.setOnClickListener(this) - binding!!.btnAddHeader.setOnClickListener { addHeaderItemLinearLayout(headerItemMap, binding!!.layoutHeaders, null, null) } - LiveEventBus.get(KEY_SENDER_TEST, String::class.java).observe(this) { mCountDownHelper?.finish() } + binding!!.btnAddHeader.setOnClickListener { + addHeaderItemLinearLayout( + headerItemMap, + binding!!.layoutHeaders, + null, + null + ) + } + LiveEventBus.get(KEY_SENDER_TEST, String::class.java) + .observe(this) { mCountDownHelper?.finish() } } @SingleClick @@ -157,7 +171,13 @@ class WebhookFragment : BaseFragment(), View.OnC try { val settingVo = checkSetting() Log.d(TAG, settingVo.toString()) - val msgInfo = MsgInfo("sms", getString(R.string.test_phone_num), getString(R.string.test_sender_sms), Date(), getString(R.string.test_sim_info)) + val msgInfo = MsgInfo( + "sms", + getString(R.string.test_phone_num), + getString(R.string.test_sender_sms), + Date(), + getString(R.string.test_sim_info) + ) WebhookUtils.sendMsg(settingVo, msgInfo) } catch (e: Exception) { e.printStackTrace() @@ -197,7 +217,8 @@ class WebhookFragment : BaseFragment(), View.OnC val status = if (binding!!.sbEnable.isChecked) 1 else 0 val settingVo = checkSetting() if (isClone) senderId = 0 - val senderNew = Sender(senderId, senderType, name, Gson().toJson(settingVo), status) + val senderNew = + Sender(senderId, senderType, name, Gson().toJson(settingVo), status) Log.d(TAG, senderNew.toString()) viewModel.insertOrUpdate(senderNew) @@ -218,7 +239,12 @@ class WebhookFragment : BaseFragment(), View.OnC throw Exception(getString(R.string.invalid_webserver)) } - val method = if (binding!!.rgMethod.checkedRadioButtonId == R.id.rb_method_get) "GET" else "POST" + val method = when (binding!!.rgMethod.checkedRadioButtonId) { + R.id.rb_method_get -> "GET" + R.id.rb_method_put -> "PUT" + R.id.rb_method_patch -> "PATCH" + else -> "POST" + } val secret = binding!!.etSecret.text.toString().trim() val webParams = binding!!.etWebParams.text.toString().trim() val headers = getHeadersFromHeaderItemMap(headerItemMap) @@ -238,12 +264,21 @@ class WebhookFragment : BaseFragment(), View.OnC * @param key header的key,为空则不设置 * @param value header的value,为空则不设置 */ - private fun addHeaderItemLinearLayout(headerItemMap: MutableMap, linearLayoutWebNotifyHeaders: LinearLayout, key: String?, value: String?) { - val linearLayoutItemAddHeader = View.inflate(requireContext(), R.layout.item_add_header, null) as LinearLayout - val imageViewRemoveHeader = linearLayoutItemAddHeader.findViewById(R.id.imageViewRemoveHeader) + private fun addHeaderItemLinearLayout( + headerItemMap: MutableMap, + linearLayoutWebNotifyHeaders: LinearLayout, + key: String?, + value: String? + ) { + val linearLayoutItemAddHeader = + View.inflate(requireContext(), R.layout.item_add_header, null) as LinearLayout + val imageViewRemoveHeader = + linearLayoutItemAddHeader.findViewById(R.id.imageViewRemoveHeader) if (key != null && value != null) { - val editTextHeaderKey = linearLayoutItemAddHeader.findViewById(R.id.editTextHeaderKey) - val editTextHeaderValue = linearLayoutItemAddHeader.findViewById(R.id.editTextHeaderValue) + val editTextHeaderKey = + linearLayoutItemAddHeader.findViewById(R.id.editTextHeaderKey) + val editTextHeaderValue = + linearLayoutItemAddHeader.findViewById(R.id.editTextHeaderValue) editTextHeaderKey.setText(key) editTextHeaderValue.setText(value) }