马上连更改

This commit is contained in:
level 2025-07-09 14:15:39 +08:00
parent 4cebe2676c
commit 900d167b73
6 changed files with 149 additions and 814 deletions

File diff suppressed because it is too large Load Diff

View File

@ -237,16 +237,6 @@ class SplashActivity : BaseActivity() {
// val byteArrayToHexStr =
// AESUtil.byteArrayToHexStr(AESUtil.encrypt("https://api.kuaifei.net+https://api.wfvpnpro.com+https://wf.jimao.xyz+https://api.msljsqpro.com+https://api.mashanglianjsq.com"))
// android.util.Log.i("AAAAAAAAAAAAAAAA","data::"+byteArrayToHexStr+"::")
// 在主线程中调用
// val userAgent = WebSettings.getDefaultUserAgent(this@SplashActivity)
// Log.d("UserAgent", userAgent)
val webView = WebView(this@SplashActivity)
val userAgent2 = webView.settings.userAgentString
Log.d("UserAgent2", userAgent2)
val routerSet =
MMKV.defaultMMKV().decodeStringSet(BZYConstants.MMKV_KEY_ROUTER_HOST)
if (routerSet != null && routerSet.size > 0) {

View File

@ -1,6 +1,5 @@
package com.yingmao.clash.fragment
import android.annotation.SuppressLint
import android.app.Activity
import android.content.BroadcastReceiver
import android.content.Context
@ -11,7 +10,6 @@ import android.os.Bundle
import android.os.ResultReceiver
import android.text.TextUtils
import android.view.View
import android.widget.Button
import android.widget.FrameLayout
import android.widget.ImageView
import android.widget.RelativeLayout
@ -23,7 +21,6 @@ import androidx.appcompat.widget.AppCompatImageView
import androidx.constraintlayout.widget.ConstraintLayout
import androidx.lifecycle.ViewModelProvider
import androidx.lifecycle.lifecycleScope
import com.airbnb.lottie.LottieAnimationView
import com.cncat.vpn.common.constants.Intents
import com.cncat.vpn.common.log.Log
import com.cncat.vpn.core.Clash
@ -31,11 +28,9 @@ import com.cncat.vpn.core.model.TunnelState
import com.orhanobut.logger.Logger
import com.tencent.mmkv.MMKV
import com.yingmao.clash.R
import com.yingmao.clash.act.ChangeNodeActivity
import com.yingmao.clash.act.NewMainActivity
import com.yingmao.clash.act.NewMainActivity.Companion.clashBinder
import com.yingmao.clash.act.NewMainActivity.Companion.newUuid
import com.yingmao.clash.act.ProxyModeActivity
import com.yingmao.clash.act.NewMainActivity.Companion.isSubbed
import com.yingmao.clash.act.NewMainActivity.Companion.profileBinder
import com.yingmao.clash.conf.BZYConstants
@ -47,7 +42,6 @@ import com.yingmao.clash.net.http.HttpStatus
import com.yingmao.clash.net.http.entity.AppStartupStatus
import com.yingmao.clash.service.ConnectionService
import com.yingmao.clash.util.ActivityResultLifecycle
import com.yingmao.clash.util.CommonUtils
import com.yingmao.clash.util.Utils
import com.yingmao.clash.util.startClashService
import com.yingmao.clash.util.stopClashService
@ -60,8 +54,6 @@ import kotlinx.coroutines.delay
import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext
import okhttp3.Response
import java.text.SimpleDateFormat
import java.util.*
import java.util.concurrent.atomic.AtomicInteger
import kotlin.coroutines.resume
import kotlin.coroutines.suspendCoroutine
@ -115,17 +107,10 @@ class NewAccFragment : BaseFragment(), CoroutineScope by CoroutineScope(Dispatch
override fun onActivityCreated(savedInstanceState: Bundle?) {
super.onActivityCreated(savedInstanceState)
Logger.d("onActivityCreated")
accelerateViewModel = ViewModelProvider(this).get(AccelerateViewModel::class.java)
accelerateViewModel = ViewModelProvider(this)[AccelerateViewModel::class.java]
observe(this, accelerateViewModel)
initSS()
// initSub()
getNodesStatus()
// accelerateViewModel.getAirNodes()
// accelerateViewModel.appCheck()
val token = MMKV.defaultMMKV().decodeString(
BZYConstants.MMKV_KEY_TOKEN
).toString()
// Log.d("token==>$token")
}
@ -176,7 +161,7 @@ class NewAccFragment : BaseFragment(), CoroutineScope by CoroutineScope(Dispatch
rxDialogSureCancel.show()
} else {
android.util.Log.i("AAAAAAAAAAAAA::","data isSubbed::: "+ isSubbed)
android.util.Log.i("isSubbedData::","data isSubbed::: "+ isSubbed)
if(isSubbed){
startClash()
}else{
@ -238,7 +223,6 @@ class NewAccFragment : BaseFragment(), CoroutineScope by CoroutineScope(Dispatch
delay(500)
}
val vpnRequest = context?.startClashService()
android.util.Log.i("AAAAAAA","TTTTTT:"+vpnRequest)
try {
start_u_timer()
if (vpnRequest != null) {
@ -375,24 +359,12 @@ class NewAccFragment : BaseFragment(), CoroutineScope by CoroutineScope(Dispatch
}
}
}
// BaseService.State.Stopping -> {
// if (::rxDialogShapeLoading.isInitialized) {
// if (!rxDialogShapeLoading.isShowing) {
// rxDialogShapeLoading.setMessage("正在断开...")
// rxDialogShapeLoading.show()
// }
// }
// }
else -> {}
}
}
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
Log.i("onActivityResult ==>>> requestCode:${requestCode} resultCode:${resultCode}")
android.util.Log.i("AAAAAAAAAAAAAA:","onActivityResult ==>>> requestCode:${requestCode} resultCode:${resultCode}")
android.util.Log.i("requestCode:","onActivityResult ==>>> requestCode:${requestCode} resultCode:${resultCode}")
if (requestCode == REQUEST_CONNECT) {
if (resultCode == Activity.RESULT_OK) {
if (clashRunning) {
@ -419,8 +391,6 @@ class NewAccFragment : BaseFragment(), CoroutineScope by CoroutineScope(Dispatch
}?.run {
if (is_runing == true && !clashRunning) {
startClash()
} else {
}
}
} else if (requestCode == Proxy_Mode_REQUEST_CODE) {
@ -445,7 +415,7 @@ class NewAccFragment : BaseFragment(), CoroutineScope by CoroutineScope(Dispatch
private fun checkExpire(): Boolean {
val validPeriod = MMKV.defaultMMKV().decodeLong(BZYConstants.MMKV_KEY_VPN_VALID_PERIOD)
if (validPeriod > 0) {
var nowTime = System.currentTimeMillis();
val nowTime = System.currentTimeMillis()
Log.d("validPeriod==>$validPeriod, nowTime==>$nowTime")
if (validPeriod >= nowTime) {
return false
@ -457,7 +427,7 @@ class NewAccFragment : BaseFragment(), CoroutineScope by CoroutineScope(Dispatch
private fun start_u_timer() {
if (activity != null) {
var mact = activity as NewMainActivity
val mact = activity as NewMainActivity
mact.startUploadTimer()
}
}
@ -486,11 +456,11 @@ class NewAccFragment : BaseFragment(), CoroutineScope by CoroutineScope(Dispatch
val names = cm.queryProxyGroupNames(false)
Log.i("checkGlo names==>${names}")
if (names.isNotEmpty()) {
var selected_name =
val selectedName =
MMKV.defaultMMKV()
.decodeString(BZYConstants.NODE_SELECTED_NAME_KEY, "");
Log.i("selected_name ==>${selected_name}")
if (!TextUtils.isEmpty(selected_name)) {
Log.i("selected_name ==>${selectedName}")
if (!TextUtils.isEmpty(selectedName)) {
val o = cm.queryOverride(Clash.OverrideSlot.Session)
o.mode = TunnelState.Mode.Rule
cm.patchOverride(Clash.OverrideSlot.Session, o)
@ -503,9 +473,7 @@ class NewAccFragment : BaseFragment(), CoroutineScope by CoroutineScope(Dispatch
gName = names[1]
}
}
cm.patchSelector(gName, selected_name!!)
} else {
cm.patchSelector(gName, selectedName!!)
}
}
@ -582,7 +550,7 @@ class NewAccFragment : BaseFragment(), CoroutineScope by CoroutineScope(Dispatch
if (maxIndex > 3) {
break
}
var names = cm.queryProxyGroupNames(false)
val names = cm.queryProxyGroupNames(false)
if (names.isNotEmpty()) {
if (names[0] == "GLOBAL") {
Log.d("repeat end")

View File

@ -119,7 +119,6 @@ class MainAtyVM : PublicViewMode() {
//10分钟一次
fun startHeartBeat() {
// heartBeatTimer.cancel()
if (heartBeatTimer == null) {
heartBeatTimer= Timer()
heartBeatTask = object : TimerTask() {

View File

@ -76,68 +76,6 @@
app:layout_constraintBottom_toBottomOf="@+id/iv_slider"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@+id/iv_slider" />
<LinearLayout
android:id="@+id/ll_activity"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginTop="20dp"
android:layout_marginRight="20dp"
android:gravity="center"
android:visibility="gone"
android:orientation="vertical"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
>
<com.airbnb.lottie.LottieAnimationView
android:id="@+id/lottie_activity"
android:layout_width="45dp"
android:layout_height="40dp"
app:lottie_autoPlay="true"
app:lottie_loop="true"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/activity"
android:textColor="@color/text_yellow"
android:textSize="16sp"
android:textStyle="bold"/>
</LinearLayout>
<LinearLayout
android:id="@+id/llNoticeBackground"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="30dp"
android:layout_marginEnd="30dp"
android:visibility="gone"
android:background="@drawable/shape_notice_background"
android:gravity="center"
android:orientation="horizontal"
app:layout_constraintTop_toBottomOf="@+id/iv_slider"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
>
<com.yingmao.clash.util.MarqueeTextView
android:id="@+id/mainPageHorseRaceLamp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="50dp"
android:layout_marginEnd="50dp"
android:ellipsize="marquee"
android:focusable="true"
android:focusableInTouchMode="true"
android:marqueeRepeatLimit="marquee_forever"
android:padding="10dp"
android:scrollHorizontally="true"
android:singleLine="true"
android:text=""
android:textColor="@color/white"
android:textSize="17sp" />
</LinearLayout>
<LinearLayout
android:id="@+id/bottomLine"
android:layout_width="match_parent"
@ -546,41 +484,6 @@
app:layout_constraintTop_toTopOf="@+id/IvActivity" />
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/clShare"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:visibility="gone"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/clActivity">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/IvShare"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="30dp"
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/ic_share" />
<TextView
android:id="@+id/tvShare"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="12dp"
android:text="@string/share"
android:textColor="@color/black_242426"
android:textSize="16sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="@+id/IvShare"
app:layout_constraintStart_toEndOf="@+id/IvShare"
app:layout_constraintTop_toTopOf="@+id/IvShare" />
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/clSetting"
@ -589,7 +492,7 @@
android:layout_marginTop="20dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/clShare">
app:layout_constraintTop_toBottomOf="@+id/clActivity">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/IvSetting"

View File

@ -109,7 +109,7 @@ subprojects {
buildConfigField("boolean", "is_tz", "false")
buildConfigField("boolean", "is_yunti", "false")
buildConfigField("String", "applicationId", "\"com.jsq.mashanglian\"")
buildConfigField("String", "service_url", "\"https://api.wfvpnpro.com/\"")
buildConfigField("String", "service_url", "\"https://bc262b823866.ngrok-free.app\"")
buildConfigField("boolean", "is_free", "false")
buildConfigField("String", "productId", "\"3033\"")
manifestPlaceholders(