新增截屏控制和添加字段
This commit is contained in:
parent
bb99d3768d
commit
1b23052085
|
|
@ -14,6 +14,7 @@ import android.os.Bundle
|
|||
import android.text.TextUtils
|
||||
import android.text.method.LinkMovementMethod
|
||||
import android.view.View
|
||||
import android.view.WindowManager
|
||||
import android.widget.ImageView
|
||||
import android.widget.LinearLayout
|
||||
import android.widget.ProgressBar
|
||||
|
|
@ -53,6 +54,7 @@ import com.yingmao.clash.R
|
|||
import com.yingmao.clash.app.MainApplication
|
||||
import com.yingmao.clash.base.BaseActivity
|
||||
import com.yingmao.clash.conf.BZYConstants
|
||||
import com.yingmao.clash.conf.BZYConstants.Companion.ScreenFlag
|
||||
import com.yingmao.clash.conf.Conf
|
||||
import com.yingmao.clash.entity.BannerImgBean
|
||||
import com.yingmao.clash.entity.CheckLoginRsp
|
||||
|
|
@ -709,6 +711,24 @@ class NewMainActivity : BaseActivity() {
|
|||
if(countryFlag == true){
|
||||
findViewById<ConstraintLayout>(R.id.clLocation).visibility=View.VISIBLE
|
||||
}
|
||||
val screenshotFlag = it.data?.screenshotFlag
|
||||
screenshotFlag.let {
|
||||
if (screenshotFlag == true) {
|
||||
// 在 Activity 中取消禁止截屏/录屏
|
||||
window.clearFlags(WindowManager.LayoutParams.FLAG_SECURE)
|
||||
MMKV.defaultMMKV().encode(
|
||||
ScreenFlag,screenshotFlag
|
||||
)
|
||||
}else{
|
||||
window.setFlags(
|
||||
WindowManager.LayoutParams.FLAG_SECURE,
|
||||
WindowManager.LayoutParams.FLAG_SECURE
|
||||
)
|
||||
MMKV.defaultMMKV().encode(
|
||||
ScreenFlag,screenshotFlag!!
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}else if(httpStatus.reqType == HttpReqType.EXPENSES_RECORD){
|
||||
|
|
|
|||
|
|
@ -14,6 +14,7 @@ import android.text.TextUtils
|
|||
import android.util.Log
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import android.view.WindowManager
|
||||
import android.view.inputmethod.InputMethodManager
|
||||
import android.widget.*
|
||||
import androidx.annotation.RequiresApi
|
||||
|
|
@ -35,6 +36,7 @@ import com.yingmao.clash.net.http.HttpStatus
|
|||
import com.yingmao.clash.remote.Broadcasts
|
||||
import com.yingmao.clash.remote.Remote
|
||||
import com.cncat.vpn.service.store.ServiceStore
|
||||
import com.yingmao.clash.conf.BZYConstants.Companion.ScreenFlag
|
||||
import com.yingmao.clash.util.ApplicationObserver
|
||||
import com.yingmao.clash.util.StatusBarUtils
|
||||
import com.yingmao.clash.util.UiStore
|
||||
|
|
@ -79,6 +81,17 @@ open class BaseActivity : AppCompatActivity(), CoroutineScope by MainScope(), Br
|
|||
StatusBarUtils.with(this).init()
|
||||
window.decorView.systemUiVisibility =
|
||||
View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN or View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR
|
||||
|
||||
val decodeBool = MMKV.defaultMMKV().decodeBool(ScreenFlag, false)
|
||||
if(decodeBool){
|
||||
window.clearFlags(WindowManager.LayoutParams.FLAG_SECURE)
|
||||
|
||||
}else{
|
||||
window.setFlags(
|
||||
WindowManager.LayoutParams.FLAG_SECURE,
|
||||
WindowManager.LayoutParams.FLAG_SECURE
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
override fun setContentView(layoutResID: Int) {
|
||||
|
|
|
|||
|
|
@ -122,6 +122,6 @@ class BZYConstants {
|
|||
const val applicationMode = "ApplicationMode"
|
||||
const val CONNECTID = "connectId"
|
||||
const val is_splash_first = "is_splash_first"
|
||||
|
||||
const val ScreenFlag="screenshotFlag"
|
||||
}
|
||||
}
|
||||
|
|
@ -249,5 +249,7 @@ data class ShowNode(
|
|||
) : BaseRsp
|
||||
data class ShowNodeInfo(
|
||||
@field:SerializedName("countryFlag")
|
||||
val countryFlag: Boolean
|
||||
val countryFlag: Boolean,
|
||||
@field:SerializedName("screenshotFlag")
|
||||
val screenshotFlag: Boolean
|
||||
)
|
||||
|
|
@ -285,4 +285,14 @@ object Utils {
|
|||
}
|
||||
return false
|
||||
}
|
||||
fun getEquipmentModel():String{
|
||||
val androidVersion = Build.VERSION.RELEASE // 系统版本号,例如 "13"
|
||||
val sdkInt = Build.VERSION.SDK_INT // SDK 级别,例如 33
|
||||
val manufacturer = Build.MANUFACTURER // 厂商,例如 "Xiaomi"
|
||||
val model = Build.MODEL // 机型,例如 "MI 11"
|
||||
val brand = Build.BRAND // 品牌,例如 "Xiaomi"
|
||||
val device = Build.DEVICE // 设备代号,例如 "venus"
|
||||
val hardware = Build.HARDWARE
|
||||
return "androidVersion:$androidVersion,sdkInt:$sdkInt,manufacturer:$manufacturer,model:$model,brand:$brand,device:$device,hardware:$hardware"
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue