add 活动
This commit is contained in:
parent
aa5b3cc363
commit
400ac6943e
|
|
@ -136,6 +136,7 @@
|
||||||
android:screenOrientation="portrait" />
|
android:screenOrientation="portrait" />
|
||||||
<activity
|
<activity
|
||||||
android:name=".act.ActivityActivity"
|
android:name=".act.ActivityActivity"
|
||||||
|
android:process=":background"
|
||||||
android:screenOrientation="portrait" />
|
android:screenOrientation="portrait" />
|
||||||
<activity
|
<activity
|
||||||
android:name=".act.LossPreventionActivity"
|
android:name=".act.LossPreventionActivity"
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@ import android.content.Intent
|
||||||
import android.graphics.Color
|
import android.graphics.Color
|
||||||
import android.net.Uri
|
import android.net.Uri
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
|
import android.text.TextUtils
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.widget.TextView
|
import android.widget.TextView
|
||||||
import androidx.lifecycle.ViewModelProvider
|
import androidx.lifecycle.ViewModelProvider
|
||||||
|
|
@ -57,6 +58,8 @@ class ActivityActivity : BaseActivity() {
|
||||||
initAdapter()
|
initAdapter()
|
||||||
initRefreshLayout()
|
initRefreshLayout()
|
||||||
initLoadMore()
|
initLoadMore()
|
||||||
|
|
||||||
|
Log.d("uc=======>${MainApplication.getUserInfo()?.userCommand}")
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun initView() {
|
private fun initView() {
|
||||||
|
|
@ -79,11 +82,10 @@ class ActivityActivity : BaseActivity() {
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun showActDialog(bean: Activity_) {
|
private fun showActDialog(bean: Activity_) {
|
||||||
|
|
||||||
if (bean.vipRule == 1) {
|
|
||||||
checkExpire();
|
|
||||||
}
|
|
||||||
var command = MMKV.defaultMMKV().decodeString(BZYConstants.MMKV_KEY_VPN_UserCommand, "")!!
|
var command = MMKV.defaultMMKV().decodeString(BZYConstants.MMKV_KEY_VPN_UserCommand, "")!!
|
||||||
|
if (TextUtils.isEmpty(command)){
|
||||||
|
command=NewMainActivity.userCommand!!
|
||||||
|
}
|
||||||
command = "领会员${command}"
|
command = "领会员${command}"
|
||||||
copyToClipboard(command)
|
copyToClipboard(command)
|
||||||
var act_dialog = MaterialDialog(this@ActivityActivity).show {
|
var act_dialog = MaterialDialog(this@ActivityActivity).show {
|
||||||
|
|
@ -134,7 +136,7 @@ class ActivityActivity : BaseActivity() {
|
||||||
val clipboard = getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager
|
val clipboard = getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager
|
||||||
val clip = ClipData.newPlainText("label", text)
|
val clip = ClipData.newPlainText("label", text)
|
||||||
clipboard.setPrimaryClip(clip)
|
clipboard.setPrimaryClip(clip)
|
||||||
|
RxToast.info("口令已复制,加群后请手动发送.")
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun initRefreshLayout() {
|
private fun initRefreshLayout() {
|
||||||
|
|
|
||||||
|
|
@ -20,6 +20,7 @@ import com.yingmao.clash.net.http.entity.LoginRsp
|
||||||
import com.tencent.mmkv.MMKV
|
import com.tencent.mmkv.MMKV
|
||||||
import com.yingmao.clash.BuildConfig
|
import com.yingmao.clash.BuildConfig
|
||||||
import com.yingmao.clash.R
|
import com.yingmao.clash.R
|
||||||
|
import com.yingmao.clash.app.MainApplication
|
||||||
import com.yingmao.clash.base.BaseActivity
|
import com.yingmao.clash.base.BaseActivity
|
||||||
import com.yingmao.clash.conf.BZYConstants
|
import com.yingmao.clash.conf.BZYConstants
|
||||||
import com.yingmao.clash.entity.CheckLoginRsp
|
import com.yingmao.clash.entity.CheckLoginRsp
|
||||||
|
|
@ -56,10 +57,8 @@ class LoginActivity : BaseActivity(), View.OnClickListener {
|
||||||
setContentView(R.layout.layout_activity_login)
|
setContentView(R.layout.layout_activity_login)
|
||||||
//点击输入框外边隐藏输入法 必须在setContentView之后调用
|
//点击输入框外边隐藏输入法 必须在setContentView之后调用
|
||||||
setupUI(findViewById<ViewGroup>(android.R.id.content).getChildAt(0))
|
setupUI(findViewById<ViewGroup>(android.R.id.content).getChildAt(0))
|
||||||
|
|
||||||
loginViewMode = ViewModelProvider(this).get(LoginAtyVM::class.java)
|
loginViewMode = ViewModelProvider(this).get(LoginAtyVM::class.java)
|
||||||
observe(this, loginViewMode)
|
observe(this, loginViewMode)
|
||||||
|
|
||||||
initViews()
|
initViews()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -102,7 +101,6 @@ class LoginActivity : BaseActivity(), View.OnClickListener {
|
||||||
mmkv.encode(BZYConstants.MMKV_KEY_USER_ID, rsp.data?.userId)
|
mmkv.encode(BZYConstants.MMKV_KEY_USER_ID, rsp.data?.userId)
|
||||||
mmkv.encode(BZYConstants.MMKV_KEY_REMEMBER_USERNAME, loginUserName)
|
mmkv.encode(BZYConstants.MMKV_KEY_REMEMBER_USERNAME, loginUserName)
|
||||||
mmkv.encode(BZYConstants.MMKV_KEY_IS_REGISTER, true) //如果登录过一次也算注册过
|
mmkv.encode(BZYConstants.MMKV_KEY_IS_REGISTER, true) //如果登录过一次也算注册过
|
||||||
|
|
||||||
loginViewMode.checkLogin()
|
loginViewMode.checkLogin()
|
||||||
} else {
|
} else {
|
||||||
hideLoadingDialog()
|
hideLoadingDialog()
|
||||||
|
|
@ -118,8 +116,10 @@ class LoginActivity : BaseActivity(), View.OnClickListener {
|
||||||
val rsp = httpStatus.rsp
|
val rsp = httpStatus.rsp
|
||||||
if (rsp is CheckLoginRsp) {
|
if (rsp is CheckLoginRsp) {
|
||||||
if (rsp.code == 0) {
|
if (rsp.code == 0) {
|
||||||
|
rsp.data?.let { MainApplication.setUserInfo(it) }
|
||||||
val expired = rsp.data?.expired
|
val expired = rsp.data?.expired
|
||||||
val isPerfect = rsp.data?.isPerfect
|
val isPerfect = rsp.data?.isPerfect
|
||||||
|
val userCommand = rsp.data?.userCommand
|
||||||
val mmkv = MMKV.defaultMMKV()
|
val mmkv = MMKV.defaultMMKV()
|
||||||
mmkv.encode(BZYConstants.MMKV_KEY_VPN_EXPIRED, expired ?: true)
|
mmkv.encode(BZYConstants.MMKV_KEY_VPN_EXPIRED, expired ?: true)
|
||||||
mmkv.encode(
|
mmkv.encode(
|
||||||
|
|
@ -127,6 +127,7 @@ class LoginActivity : BaseActivity(), View.OnClickListener {
|
||||||
rsp.data?.vpnExpireTime ?: 0
|
rsp.data?.vpnExpireTime ?: 0
|
||||||
)
|
)
|
||||||
mmkv.encode(BZYConstants.MMKV_KEY_IS_PERFECT, isPerfect ?: true)
|
mmkv.encode(BZYConstants.MMKV_KEY_IS_PERFECT, isPerfect ?: true)
|
||||||
|
mmkv.encode(BZYConstants.MMKV_KEY_VPN_UserCommand, userCommand ?: "")
|
||||||
toMain()
|
toMain()
|
||||||
// loginViewMode.getServiceAclAndSet()
|
// loginViewMode.getServiceAclAndSet()
|
||||||
} else {
|
} else {
|
||||||
|
|
|
||||||
|
|
@ -117,6 +117,8 @@ class NewMainActivity : BaseActivity() {
|
||||||
var newMainActGlo: Boolean = false
|
var newMainActGlo: Boolean = false
|
||||||
var isUpload: Boolean = false
|
var isUpload: Boolean = false
|
||||||
var hostsMem: ArrayList<String> = ArrayList()
|
var hostsMem: ArrayList<String> = ArrayList()
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
val dateFormat = SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
|
val dateFormat = SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
|
||||||
|
|
@ -246,8 +248,10 @@ class NewMainActivity : BaseActivity() {
|
||||||
// })
|
// })
|
||||||
|
|
||||||
val isGlobal = MMKV.defaultMMKV().decodeBool(BZYConstants.MMKV_KEY_GLOBAL_MODEL, false)
|
val isGlobal = MMKV.defaultMMKV().decodeBool(BZYConstants.MMKV_KEY_GLOBAL_MODEL, false)
|
||||||
Log.i("newMainActGlo isGlobal==>${isGlobal}")
|
val uc = MMKV.defaultMMKV().decodeString(BZYConstants.MMKV_KEY_VPN_UserCommand, "")
|
||||||
|
Log.i("newMainActGlo isGlobal==>${isGlobal}, uc==>${uc}")
|
||||||
newMainActGlo = isGlobal
|
newMainActGlo = isGlobal
|
||||||
|
|
||||||
startLog()
|
startLog()
|
||||||
showBindAccount()
|
showBindAccount()
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
package com.yingmao.clash.act
|
package com.yingmao.clash.act
|
||||||
|
|
||||||
|
import android.annotation.SuppressLint
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.text.method.HideReturnsTransformationMethod
|
import android.text.method.HideReturnsTransformationMethod
|
||||||
|
|
@ -16,6 +17,7 @@ import com.tencent.mmkv.MMKV
|
||||||
import com.yingmao.clash.BuildConfig
|
import com.yingmao.clash.BuildConfig
|
||||||
import com.yingmao.clash.R
|
import com.yingmao.clash.R
|
||||||
import com.yingmao.clash.base.BaseActivity
|
import com.yingmao.clash.base.BaseActivity
|
||||||
|
import com.yingmao.clash.common.log.Log
|
||||||
import com.yingmao.clash.conf.BZYConstants
|
import com.yingmao.clash.conf.BZYConstants
|
||||||
import com.yingmao.clash.net.http.HttpStatus
|
import com.yingmao.clash.net.http.HttpStatus
|
||||||
import com.yingmao.clash.net.http.entity.RegisterRsp
|
import com.yingmao.clash.net.http.entity.RegisterRsp
|
||||||
|
|
@ -34,8 +36,8 @@ class RegisterActivity : BaseActivity(), View.OnClickListener {
|
||||||
private lateinit var usernameErrorTv: TextView
|
private lateinit var usernameErrorTv: TextView
|
||||||
private lateinit var passwordErrorTv: TextView
|
private lateinit var passwordErrorTv: TextView
|
||||||
|
|
||||||
// private lateinit var verificationTipTv: TextView
|
private lateinit var verificationTipTv: TextView
|
||||||
// private lateinit var verificationSv: SlidingVerification
|
private lateinit var verificationSv: SlidingVerification
|
||||||
|
|
||||||
private lateinit var username: String
|
private lateinit var username: String
|
||||||
private lateinit var password: String
|
private lateinit var password: String
|
||||||
|
|
@ -111,10 +113,10 @@ class RegisterActivity : BaseActivity(), View.OnClickListener {
|
||||||
val passwordHideCb2 = findViewById<CheckBox>(R.id.cb_password_hide_check)
|
val passwordHideCb2 = findViewById<CheckBox>(R.id.cb_password_hide_check)
|
||||||
passwordHideCb2.setOnCheckedChangeListener(IOnCheckedChangeListener())
|
passwordHideCb2.setOnCheckedChangeListener(IOnCheckedChangeListener())
|
||||||
|
|
||||||
// verificationSv = findViewById(R.id.sv_verification)
|
verificationSv = findViewById(R.id.sv_verification)
|
||||||
// verificationSv.setOnSeekBarChangeListener(IOnSeekBarChangeListener())
|
verificationSv.setOnSeekBarChangeListener(IOnSeekBarChangeListener())
|
||||||
//
|
//
|
||||||
// verificationTipTv = findViewById(R.id.tv_verification_tip)
|
verificationTipTv = findViewById(R.id.tv_verification_tip)
|
||||||
|
|
||||||
val registerTv = findViewById<TextView>(R.id.tv_register)
|
val registerTv = findViewById<TextView>(R.id.tv_register)
|
||||||
registerTv.setOnClickListener(this)
|
registerTv.setOnClickListener(this)
|
||||||
|
|
@ -178,14 +180,22 @@ class RegisterActivity : BaseActivity(), View.OnClickListener {
|
||||||
override fun onStartTrackingTouch(seekBar: SeekBar?) {
|
override fun onStartTrackingTouch(seekBar: SeekBar?) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@SuppressLint("ResourceAsColor")
|
||||||
override fun onStopTrackingTouch(seekBar: SeekBar?) {
|
override fun onStopTrackingTouch(seekBar: SeekBar?) {
|
||||||
seekBar?.let {
|
seekBar?.let {
|
||||||
|
|
||||||
|
Log.d("it.progress==>${it.progress}")
|
||||||
if (it.progress >= it.max) {
|
if (it.progress >= it.max) {
|
||||||
if (!checkInput())
|
it.isEnabled = false
|
||||||
it.progress = 0
|
verificationSv.progress=it.max
|
||||||
else {
|
verificationTipTv.text = getString(R.string.verification_success)
|
||||||
// verificationTipTv.text = getString(R.string.verification_success)
|
verificationTipTv.setTextColor(R.color.black)
|
||||||
it.isEnabled = false
|
verificationSv.setProgressDrawableTiled(getDrawable(R.drawable.login_btn_bg_selector))
|
||||||
|
|
||||||
|
if (!checkInput()) {
|
||||||
|
|
||||||
|
}else {
|
||||||
|
|
||||||
}
|
}
|
||||||
} else it.progress = 0
|
} else it.progress = 0
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -27,6 +27,7 @@ import com.orhanobut.logger.Logger
|
||||||
import com.tencent.mmkv.MMKV
|
import com.tencent.mmkv.MMKV
|
||||||
import com.yingmao.clash.BuildConfig
|
import com.yingmao.clash.BuildConfig
|
||||||
import com.yingmao.clash.R
|
import com.yingmao.clash.R
|
||||||
|
import com.yingmao.clash.app.MainApplication
|
||||||
import com.yingmao.clash.base.BaseActivity
|
import com.yingmao.clash.base.BaseActivity
|
||||||
import com.yingmao.clash.conf.BZYConstants
|
import com.yingmao.clash.conf.BZYConstants
|
||||||
import com.yingmao.clash.conf.BZYConstants.Companion.MMKV_KEY_IS_REGISTER
|
import com.yingmao.clash.conf.BZYConstants.Companion.MMKV_KEY_IS_REGISTER
|
||||||
|
|
@ -49,6 +50,7 @@ import com.yingmao.clash.util.withProfile
|
||||||
import com.yingmao.clash.view.RxToast
|
import com.yingmao.clash.view.RxToast
|
||||||
import com.yingmao.clash.vm.SplashAtyVM
|
import com.yingmao.clash.vm.SplashAtyVM
|
||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
|
import kotlinx.coroutines.GlobalScope
|
||||||
import kotlinx.coroutines.MainScope
|
import kotlinx.coroutines.MainScope
|
||||||
import kotlinx.coroutines.delay
|
import kotlinx.coroutines.delay
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
|
|
@ -381,6 +383,8 @@ class SplashActivity : BaseActivity() {
|
||||||
HttpReqType.CHECK_LOGIN -> {
|
HttpReqType.CHECK_LOGIN -> {
|
||||||
(httpStatus.rsp as CheckLoginRsp).let { checkLoginRsp ->
|
(httpStatus.rsp as CheckLoginRsp).let { checkLoginRsp ->
|
||||||
if (checkLoginRsp.code == 0) {
|
if (checkLoginRsp.code == 0) {
|
||||||
|
com.yingmao.clash.common.log.Log.d("splash CHECK_LOGIN==>")
|
||||||
|
checkLoginRsp.data?.let { MainApplication.setUserInfo(it) }
|
||||||
val expired = checkLoginRsp.data?.expired
|
val expired = checkLoginRsp.data?.expired
|
||||||
val isPerfect = checkLoginRsp.data?.isPerfect
|
val isPerfect = checkLoginRsp.data?.isPerfect
|
||||||
val userCommand = checkLoginRsp.data?.userCommand
|
val userCommand = checkLoginRsp.data?.userCommand
|
||||||
|
|
@ -392,7 +396,11 @@ class SplashActivity : BaseActivity() {
|
||||||
)
|
)
|
||||||
mmkv.encode(BZYConstants.MMKV_KEY_IS_PERFECT, isPerfect ?: true)
|
mmkv.encode(BZYConstants.MMKV_KEY_IS_PERFECT, isPerfect ?: true)
|
||||||
mmkv.encode(BZYConstants.MMKV_KEY_VPN_UserCommand, userCommand ?: "")
|
mmkv.encode(BZYConstants.MMKV_KEY_VPN_UserCommand, userCommand ?: "")
|
||||||
|
|
||||||
|
|
||||||
toMainPage()
|
toMainPage()
|
||||||
|
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
toLoginPage()
|
toLoginPage()
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -17,6 +17,8 @@ import com.yingmao.clash.R
|
||||||
import com.yingmao.clash.common.Global
|
import com.yingmao.clash.common.Global
|
||||||
import com.yingmao.clash.common.compat.currentProcessName
|
import com.yingmao.clash.common.compat.currentProcessName
|
||||||
import com.yingmao.clash.common.log.Log
|
import com.yingmao.clash.common.log.Log
|
||||||
|
import com.yingmao.clash.entity.CheckLoginRsp
|
||||||
|
import com.yingmao.clash.entity.UserData
|
||||||
|
|
||||||
import com.yingmao.clash.util.clashDir
|
import com.yingmao.clash.util.clashDir
|
||||||
import java.io.File
|
import java.io.File
|
||||||
|
|
@ -25,6 +27,7 @@ import java.io.FileOutputStream
|
||||||
class MainApplication : Application() {
|
class MainApplication : Application() {
|
||||||
companion object {
|
companion object {
|
||||||
private lateinit var mApp: MainApplication
|
private lateinit var mApp: MainApplication
|
||||||
|
private var userBean: UserData?=null
|
||||||
|
|
||||||
fun getApp(): MainApplication? {
|
fun getApp(): MainApplication? {
|
||||||
return mApp
|
return mApp
|
||||||
|
|
@ -34,6 +37,14 @@ class MainApplication : Application() {
|
||||||
private const val STATUS_CHANNEL = "profile_status_channel"
|
private const val STATUS_CHANNEL = "profile_status_channel"
|
||||||
private const val RESULT_CHANNEL = "profile_result_channel"
|
private const val RESULT_CHANNEL = "profile_result_channel"
|
||||||
|
|
||||||
|
fun getUserInfo(): UserData? {
|
||||||
|
return userBean
|
||||||
|
}
|
||||||
|
|
||||||
|
fun setUserInfo(bean: UserData) {
|
||||||
|
Log.d("setUserInfo")
|
||||||
|
userBean = bean
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun attachBaseContext(base: Context?) {
|
override fun attachBaseContext(base: Context?) {
|
||||||
|
|
@ -92,16 +103,18 @@ class MainApplication : Application() {
|
||||||
nm.createNotificationChannels(
|
nm.createNotificationChannels(
|
||||||
listOf(
|
listOf(
|
||||||
NotificationChannel(
|
NotificationChannel(
|
||||||
SERVICE_CHANNEL, getApp()?.getText(R.string.service_vpn),
|
SERVICE_CHANNEL,
|
||||||
|
getApp()?.getText(R.string.service_vpn),
|
||||||
if (Build.VERSION.SDK_INT >= 28) NotificationManager.IMPORTANCE_MIN
|
if (Build.VERSION.SDK_INT >= 28) NotificationManager.IMPORTANCE_MIN
|
||||||
else NotificationManager.IMPORTANCE_LOW
|
else NotificationManager.IMPORTANCE_LOW
|
||||||
), // #1355
|
), // #1355
|
||||||
NotificationChannel(
|
NotificationChannel(
|
||||||
STATUS_CHANNEL, getApp()?.getText(R.string.service_proxy),
|
STATUS_CHANNEL,
|
||||||
|
getApp()?.getText(R.string.service_proxy),
|
||||||
NotificationManager.IMPORTANCE_LOW
|
NotificationManager.IMPORTANCE_LOW
|
||||||
),
|
), NotificationChannel(
|
||||||
NotificationChannel(
|
RESULT_CHANNEL,
|
||||||
RESULT_CHANNEL, getApp()?.getText(R.string.service_transproxy),
|
getApp()?.getText(R.string.service_transproxy),
|
||||||
NotificationManager.IMPORTANCE_DEFAULT
|
NotificationManager.IMPORTANCE_DEFAULT
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,13 @@ import android.webkit.WebViewClient
|
||||||
import androidx.appcompat.app.AppCompatActivity
|
import androidx.appcompat.app.AppCompatActivity
|
||||||
import com.yingmao.clash.BuildConfig
|
import com.yingmao.clash.BuildConfig
|
||||||
import com.yingmao.clash.R
|
import com.yingmao.clash.R
|
||||||
|
import com.yingmao.clash.common.log.Log
|
||||||
import com.yingmao.clash.util.StatusBarUtils
|
import com.yingmao.clash.util.StatusBarUtils
|
||||||
|
import com.yingmao.clash.view.RxToast
|
||||||
|
import kotlinx.coroutines.CoroutineScope
|
||||||
|
import kotlinx.coroutines.Job
|
||||||
|
import kotlinx.coroutines.delay
|
||||||
|
import kotlinx.coroutines.launch
|
||||||
|
|
||||||
class BZYWebViewKeFu : AppCompatActivity() {
|
class BZYWebViewKeFu : AppCompatActivity() {
|
||||||
private lateinit var webView: WebView
|
private lateinit var webView: WebView
|
||||||
|
|
@ -28,13 +34,13 @@ class BZYWebViewKeFu : AppCompatActivity() {
|
||||||
setWebView()
|
setWebView()
|
||||||
countDown()
|
countDown()
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun countDown() {
|
private fun countDown() {
|
||||||
val timer = object : CountDownTimer(10000, 1000) {
|
val timer = object : CountDownTimer(5000, 1000) {
|
||||||
override fun onTick(millisUntilFinished: Long) {
|
override fun onTick(millisUntilFinished: Long) {
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onFinish() {
|
override fun onFinish() {
|
||||||
|
Log.d("onFinish")
|
||||||
webView.evaluateJavascript("updateStatus()", null)
|
webView.evaluateJavascript("updateStatus()", null)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -154,7 +154,7 @@
|
||||||
app:layout_constraintStart_toStartOf="@+id/iv_icon"
|
app:layout_constraintStart_toStartOf="@+id/iv_icon"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/et_password_check" />
|
app:layout_constraintTop_toBottomOf="@+id/et_password_check" />
|
||||||
|
|
||||||
<!--<com.yingmao.clash.view.SlidingVerification
|
<com.yingmao.clash.view.SlidingVerification
|
||||||
android:id="@+id/sv_verification"
|
android:id="@+id/sv_verification"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="48dp"
|
android:layout_height="48dp"
|
||||||
|
|
|
||||||
|
|
@ -28,7 +28,7 @@
|
||||||
|
|
||||||
</RelativeLayout>
|
</RelativeLayout>
|
||||||
|
|
||||||
<WebView
|
<android.webkit.WebView
|
||||||
android:layout_below="@+id/rl_title_bar"
|
android:layout_below="@+id/rl_title_bar"
|
||||||
android:id="@+id/webView"
|
android:id="@+id/webView"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue