diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index ba840a2..af5f5c8 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -19,6 +19,11 @@
+
+
+
+
+
pm.queryAll().forEach { itemPro ->
@@ -218,7 +213,7 @@ class MainActivity : BaseActivity() {
aivHome.setOnClickListener {
if (homeFragment == null) homeFragment = HomeFragment()
showFragment(homeFragment!!)
- aivHome.setImageResource(R.drawable.yjl_vip_page_choose)
+ aivHome.setImageResource(R.drawable.yjl_home_page_choose)
aivCenter.setImageResource(R.drawable.yjl_user_page)
aivVip.setImageResource(R.drawable.yjl_vip_page)
}
@@ -235,8 +230,8 @@ class MainActivity : BaseActivity() {
if (activityFragment == null) activityFragment = vipFragment()
showFragment(activityFragment!!)
aivHome.setImageResource(R.drawable.yjl_home_page)
- aivCenter.setImageResource(R.drawable.yjl_vip_page)
- aivVip.setImageResource(R.drawable.yjl_user_page_choose)
+ aivCenter.setImageResource(R.drawable.yjl_user_page)
+ aivVip.setImageResource(R.drawable.yjl_vip_page_choose)
}
}
@@ -304,12 +299,13 @@ class MainActivity : BaseActivity() {
data.data.data.list[0].redirectLink.let {
if (activityDialog == null) {
activityDialog =
- ActivityViewDialog(this, data.data.data.list[0].redirectLink)
+ ActivityViewDialog(this, data.data.data.list[0].copyContent)
activityDialog?.setOnDialogClickListener(object :
OnDialogClickListener {
override fun onRechargeClickListener() {
//跳转到支付界面
goBackupRechargeWeb()
+ activityDialog?.dismiss()
}
override fun onCancelClickListener() {
@@ -362,7 +358,7 @@ class MainActivity : BaseActivity() {
val data = it.data
if (data?.notice != null && lastNotice != data.notice) {
- val userName ="AAA"+MMKV.defaultMMKV().decodeString(BZYConstants.MMKV_KEY_REMEMBER_USERNAME)
+ val userName =MMKV.defaultMMKV().decodeString(BZYConstants.MMKV_KEY_REMEMBER_USERNAME)
android.util.Log.i("data::::","notice::"+data.notice)
if(data.notice.isEmpty()){
val homeNoticeDialog = NoticeViewDialog(this@MainActivity, "暂无新通知",userName)
@@ -726,9 +722,14 @@ class MainActivity : BaseActivity() {
}
fun goBackupRechargeWeb() {
- startActivityForResult(
- Intent(this@MainActivity, MemberRechargeActivity::class.java),
- REQUEST_CODE_PAY_WEB_VIEW_ACTIVITY
- )
+ if (activityFragment == null) activityFragment = vipFragment()
+ showFragment(activityFragment!!)
+ aivHome.setImageResource(R.drawable.yjl_home_page)
+ aivCenter.setImageResource(R.drawable.yjl_vip_page)
+ aivVip.setImageResource(R.drawable.yjl_user_page_choose)
+// startActivityForResult(
+// Intent(this@MainActivity, MemberRechargeActivity::class.java),
+// REQUEST_CODE_PAY_WEB_VIEW_ACTIVITY
+// )
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/yingmao/clash/act/SettingActivity.kt b/app/src/main/java/com/yingmao/clash/act/SettingActivity.kt
index d000984..9e363e0 100644
--- a/app/src/main/java/com/yingmao/clash/act/SettingActivity.kt
+++ b/app/src/main/java/com/yingmao/clash/act/SettingActivity.kt
@@ -76,6 +76,7 @@ class SettingActivity : BaseActivity() {
private lateinit var clFowdPsw:ConstraintLayout
private lateinit var clDeletePsw:ConstraintLayout
private lateinit var tvExit:TextView
+ private lateinit var aiBack:AppCompatImageView
private lateinit var mainAtyVM: MainAtyVM
@RequiresApi(Build.VERSION_CODES.R)
@@ -99,7 +100,10 @@ class SettingActivity : BaseActivity() {
clFowdPsw=findViewById(R.id.clFowdPsw)
clDeletePsw=findViewById(R.id.clDeletePsw)
tvExit=findViewById(R.id.tvExit)
-
+ aiBack=findViewById(R.id.aiBack)
+ aiBack.setOnClickListener {
+ finish()
+ }
clChanPsw.setOnClickListener {
startActivity(Intent(this@SettingActivity, ChangePwdActivity::class.java))
}
diff --git a/app/src/main/java/com/yingmao/clash/fragment/BaseFragment.kt b/app/src/main/java/com/yingmao/clash/fragment/BaseFragment.kt
index fda169e..8ca45aa 100644
--- a/app/src/main/java/com/yingmao/clash/fragment/BaseFragment.kt
+++ b/app/src/main/java/com/yingmao/clash/fragment/BaseFragment.kt
@@ -24,7 +24,6 @@ import java.util.HashSet
abstract class BaseFragment :Fragment() {
- var baseLoading: RxDialogShapeLoading? = null
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
@@ -68,21 +67,6 @@ abstract class BaseFragment :Fragment() {
open fun httpSuccess(httpStatus: HttpStatus.Success){}
open fun httpFailure(httpStatus: HttpStatus.Failure){}
- fun showLoading(str: String, context: Context) {
- val message = if (TextUtils.isEmpty(str)) "进行中..." else str
- if (baseLoading == null) {
- baseLoading = RxDialogShapeLoading(context)
- }
- baseLoading?.setMessage(message)
- if (baseLoading?.isShowing == false) {
- baseLoading?.show()
- }
- }
- fun hideLoading() {
- if (baseLoading != null && baseLoading?.isShowing == true) {
- baseLoading?.cancel()
- }
- }
@Synchronized
fun switchServer2(): Boolean {
var isChange = false
diff --git a/app/src/main/java/com/yingmao/clash/fragment/home/HomeFragment.kt b/app/src/main/java/com/yingmao/clash/fragment/home/HomeFragment.kt
index 82c4ec8..c7b755b 100644
--- a/app/src/main/java/com/yingmao/clash/fragment/home/HomeFragment.kt
+++ b/app/src/main/java/com/yingmao/clash/fragment/home/HomeFragment.kt
@@ -80,7 +80,6 @@ import kotlin.coroutines.suspendCoroutine
open class HomeFragment : BaseFragment(), CoroutineScope by CoroutineScope(Dispatchers.IO){
companion object {
- const val REQUEST_CONNECT = 1
const val CHECK_NODE_REQUEST_CODE = 2
const val CLASH_STARTED = 11
const val CLASH_STARTING = 22
@@ -292,7 +291,7 @@ open class HomeFragment : BaseFragment(), CoroutineScope by CoroutineScope(Dispa
}
return@setOnClickListener
}
- showLoad(resources.getString(R.string.Starting), requireContext())
+ showLoading(resources.getString(R.string.Starting), requireContext())
startClash(true)
}
}
@@ -390,7 +389,7 @@ open class HomeFragment : BaseFragment(), CoroutineScope by CoroutineScope(Dispa
withContext(Dispatchers.Main) {
tvClick.text=resources.getString(R.string.Accelerating)
ivAccelerate.setImageResource(R.mipmap.yjl_home_clink_select_bg)
- hideLoad()
+ hideLoading()
}
}
@@ -500,6 +499,7 @@ open class HomeFragment : BaseFragment(), CoroutineScope by CoroutineScope(Dispa
val isRunning = data?.extras?.getBoolean(BZYConstants.EXTRA_KEY_IS_RUNING)
Log.d("onActivityResult ==>>> Node:${node}")
node?.let {
+ setNodeNameAndImg(it)
if (clashRunning) {
Log.d("clashRunning $clashRunning")
} else {
@@ -515,6 +515,7 @@ open class HomeFragment : BaseFragment(), CoroutineScope by CoroutineScope(Dispa
@Deprecated("Deprecated in Java")
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
+ android.util.Log.i("AAAAAAAAAAAAAAA","data:::${data}")
if (requestCode == 2) {
nodeChooseBase(data)
}
@@ -839,18 +840,18 @@ open class HomeFragment : BaseFragment(), CoroutineScope by CoroutineScope(Dispa
}
}
- fun showLoad(str: String, context: Context) {
+ fun showLoading(str: String, context: Context) {
val message = if (TextUtils.isEmpty(str)) "进行中..." else str
if (baseLoadingView == null) {
baseLoadingView = RxDialogShapeLoading(context)
}
- baseLoading?.setMessage(message)
- if (baseLoading?.isShowing == false) {
- baseLoading?.show()
+ baseLoadingView?.setMessage(message)
+ if (baseLoadingView?.isShowing == false) {
+ baseLoadingView?.show()
}
}
- fun hideLoad() {
+ fun hideLoading() {
if (baseLoadingView != null && baseLoadingView?.isShowing == true) {
baseLoadingView?.cancel()
}
diff --git a/app/src/main/java/com/yingmao/clash/fragment/setting/SettingFragment.kt b/app/src/main/java/com/yingmao/clash/fragment/setting/SettingFragment.kt
index ef6a708..d8989aa 100644
--- a/app/src/main/java/com/yingmao/clash/fragment/setting/SettingFragment.kt
+++ b/app/src/main/java/com/yingmao/clash/fragment/setting/SettingFragment.kt
@@ -8,22 +8,17 @@ import android.content.Intent
import android.os.Build
import android.os.Bundle
import android.text.TextUtils
-import android.text.method.LinkMovementMethod
import android.view.View
import android.widget.FrameLayout
import android.widget.ImageView
import android.widget.RelativeLayout
import android.widget.TextView
import androidx.annotation.RequiresApi
-import androidx.appcompat.widget.AppCompatImageView
import androidx.constraintlayout.widget.ConstraintLayout
import androidx.lifecycle.ViewModelProvider
import androidx.lifecycle.lifecycleScope
import androidx.recyclerview.widget.GridLayoutManager
import androidx.recyclerview.widget.RecyclerView
-import com.afollestad.materialdialogs.MaterialDialog
-import com.afollestad.materialdialogs.customview.customView
-import com.afollestad.materialdialogs.customview.getCustomView
import com.alibaba.sdk.android.oss.ClientException
import com.alibaba.sdk.android.oss.OSSClient
import com.alibaba.sdk.android.oss.ServiceException
@@ -34,6 +29,9 @@ import com.alibaba.sdk.android.oss.internal.OSSAsyncTask
import com.alibaba.sdk.android.oss.model.PutObjectRequest
import com.alibaba.sdk.android.oss.model.PutObjectResult
import com.cncat.vpn.common.log.Log
+import com.hjq.permissions.OnPermissionCallback
+import com.hjq.permissions.Permission
+import com.hjq.permissions.XXPermissions
import com.orhanobut.logger.Logger
import com.tencent.mmkv.MMKV
import com.yingmao.clash.BuildConfig
@@ -42,7 +40,6 @@ import com.yingmao.clash.act.ActivityActivity
import com.yingmao.clash.act.AgreementAndPrivacyActivity
import com.yingmao.clash.act.BandPhoneActivity
import com.yingmao.clash.act.MainActivity
-import com.yingmao.clash.act.MainActivity.Companion.isVip
import com.yingmao.clash.act.MainActivity.Companion.profileBinder
import com.yingmao.clash.act.MainActivity.Companion.setSub2
import com.yingmao.clash.act.MainActivity.Companion.subUrl
@@ -70,7 +67,6 @@ import com.yingmao.clash.view.dialog.DialogDoMainChoose
import com.yingmao.clash.view.dialog.NoticeViewDialog
import com.yingmao.clash.view.dialog.RxDialogShapeLoading
import com.yingmao.clash.vm.MainAtyVM
-import com.yingmao.clash.webview.CustomerServiceWebView
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.MainScope
@@ -83,6 +79,7 @@ import java.time.Instant
import java.time.temporal.ChronoUnit
import java.util.Date
import java.util.Locale
+import java.util.concurrent.TimeUnit
import kotlin.time.Duration.Companion.seconds
@@ -99,7 +96,7 @@ class SettingFragment : BaseFragment(), CoroutineScope by CoroutineScope(Dispatc
private lateinit var tvVersion: TextView
private lateinit var tvUserTimeEnd: TextView
-
+ private var baseLoadingView: RxDialogShapeLoading? = null
private lateinit var rvSettingTab:RecyclerView
@@ -257,20 +254,6 @@ class SettingFragment : BaseFragment(), CoroutineScope by CoroutineScope(Dispatc
}
6->{
- initializationRepair()
-
-
- }
- 7->{
-
-
- }
- 8->{
- val intent = Intent(requireContext(),AgreementAndPrivacyActivity::class.java)
- intent.putExtra(BZYConstants.EXTRA_KEY_AGREEMENT, BZYConstants.EXTRA_PRIVACY_AGREEMENT)
- startActivity(intent)
- }
- 9->{
if(clashRunning){
RxToast.info(getString(R.string.SwitchingSource))
}else{
@@ -278,6 +261,20 @@ class SettingFragment : BaseFragment(), CoroutineScope by CoroutineScope(Dispatc
//源切换
showDomainList()
}
+
+ }
+ 7->{
+// var a=0
+// var c=1/a
+ checkPermission()
+ }
+ 8->{
+ val intent = Intent(requireContext(),AgreementAndPrivacyActivity::class.java)
+ intent.putExtra(BZYConstants.EXTRA_KEY_AGREEMENT, BZYConstants.EXTRA_PRIVACY_AGREEMENT)
+ startActivity(intent)
+ }
+ 9->{
+ initializationRepair()
}
}
}
@@ -318,7 +315,7 @@ class SettingFragment : BaseFragment(), CoroutineScope by CoroutineScope(Dispatc
"resultData:$result"
)
withContext(Dispatchers.Main){
- hideLoad()
+ hideLoading()
RxToast.error(resources.getString(R.string.FixTimeout))
}
}else{
@@ -327,7 +324,7 @@ class SettingFragment : BaseFragment(), CoroutineScope by CoroutineScope(Dispatc
"resultData:$result"
)
withContext(Dispatchers.Main){
- hideLoad()
+ hideLoading()
RxToast.info(resources.getString(R.string.RepairCompletedInit))
}
}
@@ -452,13 +449,11 @@ class SettingFragment : BaseFragment(), CoroutineScope by CoroutineScope(Dispatc
}
} else {
val validPeriod = MMKV.defaultMMKV().decodeLong(BZYConstants.MMKV_KEY_VPN_VALID_PERIOD)
- val daysDifference = getDaysDifference(validPeriod)
+ val daysDifference = getDaysDifferenceCalendar(validPeriod)
if (daysDifference > 0) {
- tvEndTimes.text=daysDifference.toString()+"dat"
- } else if (daysDifference < 0) {
- tvEndTimes.text=daysDifference.toString()+"dat"
- } else {
- tvEndTimes.text=daysDifference.toString()+"dat"
+ tvEndTimes.text=resources.getString(R.string.vipTimeStrEd).replace("$",
+ daysDifference.toString()
+ )
}
val decodeString = MMKV.defaultMMKV().decodeString(BZYConstants.languageInfo, "")
if (decodeString.isNullOrEmpty()) {
@@ -612,7 +607,7 @@ class SettingFragment : BaseFragment(), CoroutineScope by CoroutineScope(Dispatc
}
} else {
- hideLoad()
+ hideLoading()
}
}
@@ -650,13 +645,6 @@ class SettingFragment : BaseFragment(), CoroutineScope by CoroutineScope(Dispatc
baseLoad?.show()
}
}
-
- fun hideLoad() {
- if (baseLoad != null && baseLoad?.isShowing == true) {
- baseLoad?.cancel()
- }
- }
-
private fun uploadForAliOss(data: ParamData, filePath: List, dirStr: String) {
val endpoint = "oss-cn-hongkong.aliyuncs.com"
val accessKeyId = data.credentials?.accessKeyId
@@ -687,7 +675,7 @@ class SettingFragment : BaseFragment(), CoroutineScope by CoroutineScope(Dispatc
}
requireActivity().runOnUiThread {
- hideLoad()
+ hideLoading()
RxToast.info(resources.getString(R.string.LogUploadedSuccessfully))
}
@@ -704,7 +692,7 @@ class SettingFragment : BaseFragment(), CoroutineScope by CoroutineScope(Dispatc
serviceException: ServiceException,
) {
requireActivity().runOnUiThread {
- hideLoad()
+ hideLoading()
RxToast.error(resources.getString(R.string.LogUploadedFiler))
}
// 请求异常。
@@ -747,4 +735,63 @@ class SettingFragment : BaseFragment(), CoroutineScope by CoroutineScope(Dispatc
newMain.goBackupRechargeWeb()
}
}
+ fun showLoading(str: String, context: Context) {
+ val message = if (TextUtils.isEmpty(str)) "进行中..." else str
+ if (baseLoadingView == null) {
+ baseLoadingView = RxDialogShapeLoading(context)
+ }
+ baseLoadingView?.setMessage(message)
+ if (baseLoadingView?.isShowing == false) {
+ baseLoadingView?.show()
+ }
+ }
+
+ fun hideLoading() {
+ if (baseLoadingView != null && baseLoadingView?.isShowing == true) {
+ baseLoadingView?.cancel()
+ }
+ }
+ fun getDaysDifferenceCalendar(timestamp: Long): Long {
+ val currentTime = System.currentTimeMillis()
+ val diff = Math.abs(currentTime - timestamp) // 使用绝对值
+ return TimeUnit.MILLISECONDS.toDays(diff)
+ }
+ private fun checkPermission() {
+ XXPermissions.with(this)
+ // 申请单个权限
+ .permission(Permission.MANAGE_EXTERNAL_STORAGE)
+ .permission(Permission.Group.STORAGE)
+ .request(object:OnPermissionCallback{
+ override fun onGranted(permissions: MutableList, allGranted: Boolean) {
+ if (!allGranted) {
+ showLoading(resources.getString(R.string.UploadingInProgress), requireContext())
+ val directory: File? = requireContext().getExternalFilesDir("CrashLog")
+ if (directory != null) {
+ val allFilePath = getAllFilePath(directory.path)
+ if (allFilePath.isNotEmpty()) {
+ mainAtyVM.getUploadParameters()
+ } else {
+ hideLoading()
+ RxToast.info(resources.getString(R.string.NoErrorLogs))
+ }
+ } else {
+ hideLoading()
+ RxToast.error(resources.getString(R.string.ReadPermissionsDenied))
+ }
+ return
+ }
+ }
+ override fun onDenied(permissions: MutableList, doNotAskAgain: Boolean) {
+ if (doNotAskAgain) {
+ RxToast.error(resources.getString(R.string.ReadPermissionsDenied))
+ // 如果是被永久拒绝就跳转到应用权限系统设置页面
+ XXPermissions.startPermissionActivity(requireContext(), permissions)
+ hideLoading()
+ } else {
+ RxToast.error(resources.getString(R.string.ReadPermissionsDenied))
+ hideLoading()
+ }
+ }
+ })
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/com/yingmao/clash/fragment/vip/vipFragment.kt b/app/src/main/java/com/yingmao/clash/fragment/vip/vipFragment.kt
index da274e8..25e2993 100644
--- a/app/src/main/java/com/yingmao/clash/fragment/vip/vipFragment.kt
+++ b/app/src/main/java/com/yingmao/clash/fragment/vip/vipFragment.kt
@@ -1,8 +1,10 @@
package com.yingmao.clash.fragment.activity
import android.annotation.SuppressLint
+import android.content.Context
import android.content.Intent
import android.graphics.Color
+import android.text.TextUtils
import android.view.View
import android.widget.FrameLayout
import android.widget.ImageView
@@ -89,6 +91,8 @@ class vipFragment : BaseFragment(), CoroutineScope by CoroutineScope(Dispatchers
}
private val mPageInfo = ExpensesRecordActivity.PageInfo()
+
+ private var baseLoadingView: RxDialogShapeLoading? = null
override fun init(
titleBarRl: RelativeLayout,
backIv: ImageView,
@@ -528,4 +532,20 @@ class vipFragment : BaseFragment(), CoroutineScope by CoroutineScope(Dispatchers
)
}
}
+ fun showLoading(str: String, context: Context) {
+ val message = if (TextUtils.isEmpty(str)) "进行中..." else str
+ if (baseLoadingView == null) {
+ baseLoadingView = RxDialogShapeLoading(context)
+ }
+ baseLoadingView?.setMessage(message)
+ if (baseLoadingView?.isShowing == false) {
+ baseLoadingView?.show()
+ }
+ }
+
+ fun hideLoading() {
+ if (baseLoadingView != null && baseLoadingView?.isShowing == true) {
+ baseLoadingView?.cancel()
+ }
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/com/yingmao/clash/view/adapter/GetActivityAdapter.kt b/app/src/main/java/com/yingmao/clash/view/adapter/GetActivityAdapter.kt
index d18d134..9438842 100644
--- a/app/src/main/java/com/yingmao/clash/view/adapter/GetActivityAdapter.kt
+++ b/app/src/main/java/com/yingmao/clash/view/adapter/GetActivityAdapter.kt
@@ -1,6 +1,7 @@
package com.yingmao.clash.view.adapter
+import android.content.Intent
import android.widget.TextView
import com.afollestad.materialdialogs.MaterialDialog
import com.afollestad.materialdialogs.customview.customView
@@ -12,10 +13,12 @@ import com.tencent.mmkv.MMKV
import com.yingmao.clash.R
import com.yingmao.clash.app.MainApplication
import com.cncat.vpn.common.log.Log
+import com.yingmao.clash.act.MemberRechargeActivity
import com.yingmao.clash.conf.BZYConstants
import com.yingmao.clash.conf.PayType
import com.yingmao.clash.listener.MyAdapterListener
import com.yingmao.clash.net.http.entity.Activity_
+import com.yingmao.clash.util.CommonUtils
class GetActivityAdapter(
@@ -27,10 +30,17 @@ class GetActivityAdapter(
), LoadMoreModule {
override fun convert(holder: BaseViewHolder, item: Activity_) {
holder.setText(R.id.tv_act_title, "${item.title}")
- holder.setText(R.id.tv_act_info, context.resources.getString(R.string.ActivityContent)+"${item.content}")
+ holder.setText(R.id.tv_act_info, "${item.content}")
- holder.setText(R.id.tv_act_gift, context.resources.getString(R.string.RewardTime)+"${item.awardDay}"+context.resources.getString(R.string.day))
+ holder.setText(R.id.tv_act_gift, "${item.awardDay}"+context.resources.getString(R.string.day))
+ if (item.redirectLink.contains("BindAccount")) {
+ holder.setImageResource(R.id.aivActivity,R.drawable.yjl_bing_bg_icon)
+ }else if(item.redirectLink.contains("weekcharge")){
+ holder.setImageResource(R.id.aivActivity,R.drawable.yjl_pay_item_icon)
+ }else {
+ holder.setImageResource(R.id.aivActivity,R.drawable.yjl_pay_item_icon)
+ }
holder.itemView.setOnClickListener {
diff --git a/app/src/main/java/com/yingmao/clash/view/dialog/ActivityViewDialog.java b/app/src/main/java/com/yingmao/clash/view/dialog/ActivityViewDialog.java
index 225ca3d..01a2ac4 100644
--- a/app/src/main/java/com/yingmao/clash/view/dialog/ActivityViewDialog.java
+++ b/app/src/main/java/com/yingmao/clash/view/dialog/ActivityViewDialog.java
@@ -42,7 +42,7 @@ public class ActivityViewDialog extends Dialog {
ImageView ivActivityImg =findViewById(R.id.ivActivityImg);
Glide.with(context)
.load(path)
-// .error(R.drawable.ic_activity_bg)
+ .error(R.mipmap.base_erro_activity)
.diskCacheStrategy(DiskCacheStrategy.DATA)//仅仅只缓存原来的全分辨率的图像
.into(ivActivityImg);
@@ -53,6 +53,12 @@ public class ActivityViewDialog extends Dialog {
onDialogClickListener.onCancelClickListener();
}
});
+
+ ivActivityImg.setOnClickListener(v -> {
+ if (onDialogClickListener != null) {
+ onDialogClickListener.onRechargeClickListener();
+ }
+ });
abRecharge.setOnClickListener(v -> {
if (onDialogClickListener != null) {
onDialogClickListener.onRechargeClickListener();
diff --git a/app/src/main/java/com/yingmao/clash/view/dialog/NoticeViewDialog.java b/app/src/main/java/com/yingmao/clash/view/dialog/NoticeViewDialog.java
index 0c14fc5..0659e9d 100644
--- a/app/src/main/java/com/yingmao/clash/view/dialog/NoticeViewDialog.java
+++ b/app/src/main/java/com/yingmao/clash/view/dialog/NoticeViewDialog.java
@@ -40,10 +40,6 @@ public class NoticeViewDialog extends Dialog {
ImageView icActivityClose=findViewById(R.id.icActivityClose);
TextView tvMySee=findViewById(R.id.tvMySee);
TextView tvContent=findViewById(R.id.tv_notice_content);
-
- TextView tvNewTitle=findViewById(R.id.tvNewTitle);
-
- tvNewTitle.setText(userName);
tvContent.setText(content);
icActivityClose.setOnClickListener(v -> {
if (onDialogClickListener != null) {
diff --git a/app/src/main/java/com/yingmao/clash/vm/MainAtyVM.kt b/app/src/main/java/com/yingmao/clash/vm/MainAtyVM.kt
index 2423c85..a734df4 100644
--- a/app/src/main/java/com/yingmao/clash/vm/MainAtyVM.kt
+++ b/app/src/main/java/com/yingmao/clash/vm/MainAtyVM.kt
@@ -221,4 +221,15 @@ class MainAtyVM : PublicViewMode() {
)
doAsync(HttpReqType.LogOutDel){httpApi.logOutDel(params)}
}
+ fun getUploadParameters() {
+ val httpApi = NetService.instances.createHttps(HttpApi::class.java)
+ val username =
+ MMKV.defaultMMKV().decodeString(BZYConstants.MMKV_KEY_REMEMBER_USERNAME, "")!!
+ val phToken = MMKV.defaultMMKV().decodeString(BZYConstants.MMKV_KEY_PH_TOKEN, "")!!
+ val params = hashMapOf(
+ "phoneNumber" to username,
+ "phToken" to phToken,
+ )
+ doAsync(HttpReqType.UploadParameters) { httpApi.getUploadParameters(params) }
+ }
}
\ No newline at end of file
diff --git a/app/src/main/res/drawable/oc_activity_add_group_bg.xml b/app/src/main/res/drawable/oc_activity_add_group_bg.xml
index a3f7edd..198c79a 100644
--- a/app/src/main/res/drawable/oc_activity_add_group_bg.xml
+++ b/app/src/main/res/drawable/oc_activity_add_group_bg.xml
@@ -3,7 +3,7 @@
-
-
+
@@ -15,7 +15,7 @@
android:top="0dp">
-
+
diff --git a/app/src/main/res/drawable/oc_activity_item_bg.xml b/app/src/main/res/drawable/oc_activity_item_bg.xml
index 3230f9e..a589c22 100644
--- a/app/src/main/res/drawable/oc_activity_item_bg.xml
+++ b/app/src/main/res/drawable/oc_activity_item_bg.xml
@@ -3,16 +3,16 @@
-
-
-
+
+
- -
+
-
-
-
+
+
diff --git a/app/src/main/res/drawable/yjl_bing_bg_icon.xml b/app/src/main/res/drawable/yjl_bing_bg_icon.xml
new file mode 100644
index 0000000..6b0f208
--- /dev/null
+++ b/app/src/main/res/drawable/yjl_bing_bg_icon.xml
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
diff --git a/app/src/main/res/drawable/yjl_notice_bg_txt.xml b/app/src/main/res/drawable/yjl_notice_bg_txt.xml
new file mode 100644
index 0000000..914a22e
--- /dev/null
+++ b/app/src/main/res/drawable/yjl_notice_bg_txt.xml
@@ -0,0 +1,13 @@
+
+
+-
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/yjl_pay_item_icon.xml b/app/src/main/res/drawable/yjl_pay_item_icon.xml
new file mode 100644
index 0000000..c5e76f5
--- /dev/null
+++ b/app/src/main/res/drawable/yjl_pay_item_icon.xml
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
diff --git a/app/src/main/res/layout/activity_agreement_and_privacy.xml b/app/src/main/res/layout/activity_agreement_and_privacy.xml
index d0d24db..0d59e26 100644
--- a/app/src/main/res/layout/activity_agreement_and_privacy.xml
+++ b/app/src/main/res/layout/activity_agreement_and_privacy.xml
@@ -4,7 +4,7 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:background="@mipmap/oc_index_bg"
+ android:background="@drawable/yjl_setting_bg"
>
\ No newline at end of file
diff --git a/app/src/main/res/layout/dialog_domain_choose.xml b/app/src/main/res/layout/dialog_domain_choose.xml
index 8f4ccb1..e25d4be 100644
--- a/app/src/main/res/layout/dialog_domain_choose.xml
+++ b/app/src/main/res/layout/dialog_domain_choose.xml
@@ -31,7 +31,7 @@
android:layout_marginBottom="10dp"
android:gravity="center"
android:text="@string/domain_warn"
- android:textColor="#B36C1B"
+ android:textColor="#000"
android:textSize="16sp"
android:textStyle="bold" />
@@ -60,7 +60,7 @@
android:layout_height="wrap_content">
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/dialog_shape_loading_view.xml b/app/src/main/res/layout/dialog_shape_loading_view.xml
index f12b20d..9040009 100644
--- a/app/src/main/res/layout/dialog_shape_loading_view.xml
+++ b/app/src/main/res/layout/dialog_shape_loading_view.xml
@@ -20,7 +20,7 @@
@@ -32,7 +32,7 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ android:layout_height="match_parent">
-
-
+
+ app:layout_constraintTop_toTopOf="parent">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/layout/get_activity_item_layout.xml b/app/src/main/res/layout/get_activity_item_layout.xml
index 7396dcb..424ff00 100644
--- a/app/src/main/res/layout/get_activity_item_layout.xml
+++ b/app/src/main/res/layout/get_activity_item_layout.xml
@@ -8,17 +8,17 @@
android:layout_margin="8dp"
>
-
-
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/layout_activity_activity.xml b/app/src/main/res/layout/layout_activity_activity.xml
index 70571e2..5ccc865 100644
--- a/app/src/main/res/layout/layout_activity_activity.xml
+++ b/app/src/main/res/layout/layout_activity_activity.xml
@@ -3,7 +3,7 @@
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:background="@mipmap/oc_index_bg"
+ android:background="#FF6FA2FA"
>
diff --git a/app/src/main/res/layout/layout_item_setting_page.xml b/app/src/main/res/layout/layout_item_setting_page.xml
index e9fc4de..c1be81d 100644
--- a/app/src/main/res/layout/layout_item_setting_page.xml
+++ b/app/src/main/res/layout/layout_item_setting_page.xml
@@ -34,7 +34,7 @@
android:layout_marginTop="10dp"
android:text=""
android:textColor="#000000"
- android:textSize="16sp" />
+ android:textSize="14sp" />
diff --git a/app/src/main/res/layout/setting_fragment_layout.xml b/app/src/main/res/layout/setting_fragment_layout.xml
index 034e9a6..3a8da20 100644
--- a/app/src/main/res/layout/setting_fragment_layout.xml
+++ b/app/src/main/res/layout/setting_fragment_layout.xml
@@ -48,7 +48,7 @@
android:layout_height="60dp"
android:layout_marginStart="15dp"
android:layout_marginTop="15dp"
- android:layout_marginBottom="15dp"
+ android:layout_marginBottom="10dp"
android:src="@mipmap/yjl_usericon"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
@@ -138,7 +138,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="15dp"
- android:layout_marginTop="16dp"
+ android:layout_marginTop="10dp"
android:layout_marginEnd="15dp"
android:background="@drawable/user_center_vip_bg"
app:layout_constraintEnd_toEndOf="parent"
@@ -172,7 +172,7 @@
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
android:layout_marginEnd="5dp"
- android:text="AAA"
+ android:text=""
android:textColor="#FFB3B3B3"
android:textSize="12sp"
app:layout_constraintBottom_toBottomOf="parent"
@@ -219,8 +219,8 @@
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
- android:layout_marginTop="10dp"
- android:layout_marginBottom="10dp"
+ android:layout_marginTop="5dp"
+ android:layout_marginBottom="5dp"
/>
不限时间
你的专属客服当前在线,
点击为你解答
+ 最新通知
+ 你的会员还有$天到期
+ 去完成
\ No newline at end of file