|
@@ -1,17 +1,22 @@
|
|
|
package com.develop.setting.ui
|
|
|
|
|
|
import android.graphics.Rect
|
|
|
+import android.net.wifi.WifiManager
|
|
|
import android.os.Bundle
|
|
|
import android.util.Log
|
|
|
import android.view.LayoutInflater
|
|
|
import android.view.View
|
|
|
+import android.widget.EditText
|
|
|
import android.widget.RelativeLayout
|
|
|
import androidx.recyclerview.widget.RecyclerView
|
|
|
import com.alibaba.android.arouter.facade.annotation.Route
|
|
|
+import com.azhon.appupdate.util.DensityUtil
|
|
|
+import com.blankj.utilcode.util.DeviceUtils
|
|
|
+import com.blankj.utilcode.util.KeyboardUtils
|
|
|
import com.blankj.utilcode.util.NetworkUtils
|
|
|
+import com.blankj.utilcode.util.ViewUtils
|
|
|
import com.develop.base.ext.navigateTo
|
|
|
import com.develop.base.ext.resId2Dimension
|
|
|
-import com.develop.base.ext.toJson
|
|
|
import com.develop.base.manager.WifiData
|
|
|
import com.develop.base.manager.WifiHelp
|
|
|
import com.develop.base.util.GlobalToast
|
|
@@ -19,6 +24,7 @@ import com.develop.common.event.FinishAtyEvent
|
|
|
import com.develop.common.router.Screens
|
|
|
import com.develop.common.tag.WIFI_FROM_MAIN_SETTING
|
|
|
import com.develop.common.ui.CommonBindingActivity
|
|
|
+import com.develop.common.widget.HomeFunctionTopBar.Companion.dp60
|
|
|
import com.develop.common.widget.WifiContentView
|
|
|
import com.develop.setting.R
|
|
|
import com.develop.setting.databinding.ActivityWifiListBinding
|
|
@@ -30,24 +36,41 @@ import com.yanzhenjie.permission.AndPermission
|
|
|
import com.yanzhenjie.permission.runtime.Permission
|
|
|
import org.greenrobot.eventbus.EventBus
|
|
|
|
|
|
+
|
|
|
@Route(path = Screens.Setting.WIFI)
|
|
|
-class WifiListActivity : CommonBindingActivity<ActivityWifiListBinding>() {
|
|
|
+class WifiListActivity : CommonBindingActivity<ActivityWifiListBinding>(),
|
|
|
+ KeyboardUtils.OnSoftInputChangedListener {
|
|
|
private var isFromMainSetting = false
|
|
|
private lateinit var wifiHelp: WifiHelp
|
|
|
private var wifiDataList = mutableListOf<WifiData>()
|
|
|
|
|
|
private var selectedPosition = -1
|
|
|
-
|
|
|
override fun createViewBinding(inflater: LayoutInflater): ActivityWifiListBinding {
|
|
|
return ActivityWifiListBinding.inflate(inflater)
|
|
|
}
|
|
|
|
|
|
override fun onCreate(savedInstanceState: Bundle?) {
|
|
|
super.onCreate(savedInstanceState)
|
|
|
+ if (!getWlanStatus()) {
|
|
|
+ setWlanStatus(true)
|
|
|
+ }
|
|
|
+ KeyboardUtils.registerSoftInputChangedListener(this, this)
|
|
|
initView()
|
|
|
initListener()
|
|
|
}
|
|
|
|
|
|
+ private fun getWlanStatus(): Boolean {
|
|
|
+ //从系统服务中获取无线网络管理器
|
|
|
+ val wm = applicationContext.getSystemService(WIFI_SERVICE) as WifiManager
|
|
|
+ return wm.isWifiEnabled
|
|
|
+ }
|
|
|
+
|
|
|
+ private fun setWlanStatus(enabled: Boolean) {
|
|
|
+ //从系统服务中获取无线网络管理器
|
|
|
+ val wm = applicationContext.getSystemService(WIFI_SERVICE) as WifiManager
|
|
|
+ wm.isWifiEnabled = enabled
|
|
|
+ }
|
|
|
+
|
|
|
private fun initView() {
|
|
|
isFromMainSetting = intent.extras?.getBoolean(WIFI_FROM_MAIN_SETTING) ?: false
|
|
|
|
|
@@ -79,8 +102,11 @@ class WifiListActivity : CommonBindingActivity<ActivityWifiListBinding>() {
|
|
|
setup {
|
|
|
|
|
|
addType<WifiData>(R.layout.item_wifi_info)
|
|
|
- onClick{
|
|
|
- Log.i("linzm","22wifi-debug,selectedPosition:${selectedPosition},absoluteAdapterPosition:${absoluteAdapterPosition}")
|
|
|
+ onClick {
|
|
|
+ Log.i(
|
|
|
+ "linzm",
|
|
|
+ "22wifi-debug,selectedPosition:${selectedPosition},absoluteAdapterPosition:${absoluteAdapterPosition}"
|
|
|
+ )
|
|
|
|
|
|
}
|
|
|
onBind {
|
|
@@ -108,7 +134,10 @@ class WifiListActivity : CommonBindingActivity<ActivityWifiListBinding>() {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- Log.i("linzm","wifi-debug,selectedPosition:${selectedPosition},absoluteAdapterPosition:${absoluteAdapterPosition},${model.toString()}")
|
|
|
+ Log.i(
|
|
|
+ "linzm",
|
|
|
+ "wifi-debug,selectedPosition:${selectedPosition},absoluteAdapterPosition:${absoluteAdapterPosition},${model.toString()}"
|
|
|
+ )
|
|
|
wifiContent.showInputView(selectedPosition == absoluteAdapterPosition, model)
|
|
|
|
|
|
R.id.wifi_content.onLongClick {
|
|
@@ -188,5 +217,21 @@ class WifiListActivity : CommonBindingActivity<ActivityWifiListBinding>() {
|
|
|
var dp30 = (com.develop.common.R.dimen.convert_30px).resId2Dimension().toInt()
|
|
|
var dp45 = (com.develop.common.R.dimen.convert_45px).resId2Dimension().toInt()
|
|
|
var dp50 = (com.develop.common.R.dimen.convert_50px).resId2Dimension().toInt()
|
|
|
+ var dp90 = (com.develop.common.R.dimen.convert_160px).resId2Dimension().toInt()
|
|
|
+ }
|
|
|
+
|
|
|
+ override fun onSoftInputChanged(height: Int) {
|
|
|
+ val location = IntArray(2)
|
|
|
+ binding.wifiRecycler.layoutManager?.findViewByPosition(selectedPosition)
|
|
|
+ ?.findViewById<EditText>(
|
|
|
+ com.develop.common.R.id.et_pwd
|
|
|
+ )?.getLocationOnScreen(location)
|
|
|
+ val viewBottom = resources.displayMetrics.heightPixels - location[1]
|
|
|
+ val requireDistance = dp90
|
|
|
+ if (viewBottom - height >= requireDistance) {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ val deltaHeight = height - viewBottom + requireDistance
|
|
|
+ binding.wifiRecycler.scrollY = deltaHeight
|
|
|
}
|
|
|
}
|