parent
b130f2e92f
commit
dc8cc818f8
|
|
@ -136,10 +136,6 @@
|
||||||
android:process=":background"
|
android:process=":background"
|
||||||
android:screenOrientation="portrait"
|
android:screenOrientation="portrait"
|
||||||
/>
|
/>
|
||||||
<activity android:name=".act.MineInfoActivity"
|
|
||||||
android:process=":background"
|
|
||||||
android:screenOrientation="portrait"
|
|
||||||
/>
|
|
||||||
<activity
|
<activity
|
||||||
android:name=".act.NodeGroupActivity"
|
android:name=".act.NodeGroupActivity"
|
||||||
android:process=":background"
|
android:process=":background"
|
||||||
|
|
|
||||||
|
|
@ -60,6 +60,7 @@ import com.yingmao.clash.remote.Remote
|
||||||
import com.yingmao.clash.util.AESUtil
|
import com.yingmao.clash.util.AESUtil
|
||||||
import com.yingmao.clash.util.CommonUtils
|
import com.yingmao.clash.util.CommonUtils
|
||||||
import com.yingmao.clash.util.Utils
|
import com.yingmao.clash.util.Utils
|
||||||
|
import com.yingmao.clash.util.stopClashService
|
||||||
import com.yingmao.clash.view.RxToast
|
import com.yingmao.clash.view.RxToast
|
||||||
import com.yingmao.clash.view.dialog.ActivityViewDialog
|
import com.yingmao.clash.view.dialog.ActivityViewDialog
|
||||||
import com.yingmao.clash.view.dialog.ActivityViewDialog.OnDialogClickListener
|
import com.yingmao.clash.view.dialog.ActivityViewDialog.OnDialogClickListener
|
||||||
|
|
@ -249,7 +250,9 @@ class MainActivity : BaseActivity() {
|
||||||
val u = jo.get("upload").asLong
|
val u = jo.get("upload").asLong
|
||||||
val trafficUsedInGB = String.format("%.2f", (d + u) / 1024.0 / 1024.0 / 1024.0)
|
val trafficUsedInGB = String.format("%.2f", (d + u) / 1024.0 / 1024.0 / 1024.0)
|
||||||
val trafficTolTelInGB = String.format("%.2f", t / 1024.0 / 1024.0 / 1024.0)
|
val trafficTolTelInGB = String.format("%.2f", t / 1024.0 / 1024.0 / 1024.0)
|
||||||
trafficStatisticsData.value = "流量统计:${trafficUsedInGB}GB / ${trafficTolTelInGB}GB"
|
val userTrafficStr = "流量统计:${trafficUsedInGB}GB / ${trafficTolTelInGB}GB"
|
||||||
|
trafficStatisticsData.value =userTrafficStr
|
||||||
|
Log.i("userTrafficMethod::${userTrafficStr}")
|
||||||
}
|
}
|
||||||
private fun initData() {
|
private fun initData() {
|
||||||
clashBinder = MainApplication.getApp()?.let { ClashManager(it).wrap() as IClashManager }
|
clashBinder = MainApplication.getApp()?.let { ClashManager(it).wrap() as IClashManager }
|
||||||
|
|
@ -536,7 +539,7 @@ class MainActivity : BaseActivity() {
|
||||||
payResultLoading!!.show()
|
payResultLoading!!.show()
|
||||||
}
|
}
|
||||||
|
|
||||||
public fun cleanUserInfo() {
|
fun cleanUserInfo() {
|
||||||
MMKV.defaultMMKV().removeValueForKey(BZYConstants.MMKV_KEY_PH_TOKEN)
|
MMKV.defaultMMKV().removeValueForKey(BZYConstants.MMKV_KEY_PH_TOKEN)
|
||||||
MMKV.defaultMMKV().removeValueForKey(BZYConstants.MMKV_KEY_TOKEN)
|
MMKV.defaultMMKV().removeValueForKey(BZYConstants.MMKV_KEY_TOKEN)
|
||||||
MMKV.defaultMMKV().removeValueForKey(BZYConstants.MMKV_KEY_CURRENT_NODE)
|
MMKV.defaultMMKV().removeValueForKey(BZYConstants.MMKV_KEY_CURRENT_NODE)
|
||||||
|
|
@ -549,7 +552,7 @@ class MainActivity : BaseActivity() {
|
||||||
//清除源切换记录
|
//清除源切换记录
|
||||||
|
|
||||||
if (clashRunning) {
|
if (clashRunning) {
|
||||||
fragments.filterIsInstance<HomeFragment>().forEach { it.stopClash() }
|
stopClashService()
|
||||||
}
|
}
|
||||||
isSubed=false
|
isSubed=false
|
||||||
stopUploadTimer()
|
stopUploadTimer()
|
||||||
|
|
|
||||||
|
|
@ -1,90 +0,0 @@
|
||||||
package com.yingmao.clash.act
|
|
||||||
|
|
||||||
import android.content.Intent
|
|
||||||
import android.os.Bundle
|
|
||||||
import android.widget.TextView
|
|
||||||
import androidx.appcompat.widget.AppCompatImageView
|
|
||||||
import androidx.constraintlayout.widget.ConstraintLayout
|
|
||||||
import androidx.lifecycle.ViewModelProvider
|
|
||||||
import com.cncat.vpn.common.log.Log
|
|
||||||
import com.tencent.mmkv.MMKV
|
|
||||||
import com.yingmao.clash.R
|
|
||||||
import com.yingmao.clash.act.MainActivity.Companion.isSubbed
|
|
||||||
import com.yingmao.clash.act.MainActivity.Companion.profileBinder
|
|
||||||
import com.yingmao.clash.base.BaseActivity
|
|
||||||
import com.yingmao.clash.conf.BZYConstants
|
|
||||||
import com.yingmao.clash.util.CommonUtils
|
|
||||||
import com.yingmao.clash.vm.MainAtyVM
|
|
||||||
import kotlinx.coroutines.DelicateCoroutinesApi
|
|
||||||
import kotlinx.coroutines.Dispatchers
|
|
||||||
import kotlinx.coroutines.GlobalScope
|
|
||||||
import kotlinx.coroutines.launch
|
|
||||||
|
|
||||||
class MineInfoActivity: BaseActivity() {
|
|
||||||
private lateinit var clChanPsw:ConstraintLayout
|
|
||||||
private lateinit var clFoodPsw:ConstraintLayout
|
|
||||||
private lateinit var tvChange: TextView
|
|
||||||
private lateinit var mainAtyVM: MainAtyVM
|
|
||||||
private lateinit var aiBack:AppCompatImageView
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
|
||||||
super.onCreate(savedInstanceState)
|
|
||||||
setContentView(R.layout.mine_layout)
|
|
||||||
mainAtyVM = ViewModelProvider(this).get(MainAtyVM::class.java)
|
|
||||||
observe(this, mainAtyVM)
|
|
||||||
initView()
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun initView() {
|
|
||||||
aiBack=findViewById(R.id.aiBack)
|
|
||||||
clChanPsw=findViewById(R.id.clChanPsw)
|
|
||||||
clFoodPsw=findViewById(R.id.clFowdPsw)
|
|
||||||
tvChange=findViewById(R.id.tvChange)
|
|
||||||
aiBack.setOnClickListener {
|
|
||||||
finish()
|
|
||||||
}
|
|
||||||
tvChange.setOnClickListener {
|
|
||||||
cleanUserInfo()
|
|
||||||
}
|
|
||||||
clChanPsw.setOnClickListener {
|
|
||||||
val intent = Intent(this, ChangePwdActivity::class.java)
|
|
||||||
startActivity(intent)
|
|
||||||
}
|
|
||||||
clFoodPsw.setOnClickListener {
|
|
||||||
val intent = Intent(this, ForGetPwdActivity::class.java)
|
|
||||||
startActivity(intent)
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
private fun cleanUserInfo() {
|
|
||||||
MMKV.defaultMMKV().removeValueForKey(BZYConstants.MMKV_KEY_PH_TOKEN)
|
|
||||||
MMKV.defaultMMKV().removeValueForKey(BZYConstants.MMKV_KEY_TOKEN)
|
|
||||||
MMKV.defaultMMKV().removeValueForKey(BZYConstants.MMKV_KEY_CURRENT_NODE)
|
|
||||||
MMKV.defaultMMKV().removeValueForKey(BZYConstants.NODE_SELECTED_NAME_KEY)
|
|
||||||
MMKV.defaultMMKV().removeValueForKey(BZYConstants.MMKV_KEY_VPN_UserCommand)
|
|
||||||
MMKV.defaultMMKV().removeValueForKey(BZYConstants.NODE_All_ITEM_NAME_KEY)
|
|
||||||
MMKV.defaultMMKV().removeValueForKey(BZYConstants.PROFILE_SUB_URL)
|
|
||||||
MMKV.defaultMMKV().removeValueForKey(BZYConstants.MMKV_KEY_Switch_Finsh_Set)
|
|
||||||
isSubbed =false
|
|
||||||
MainActivity().stopUploadTimer()
|
|
||||||
mainAtyVM.stopHeartBeat()
|
|
||||||
cleanProfile()
|
|
||||||
val intent=Intent(CommonUtils.getApp(), LoginActivity::class.java)
|
|
||||||
intent.flags = Intent.FLAG_ACTIVITY_CLEAR_TASK or Intent.FLAG_ACTIVITY_NEW_TASK
|
|
||||||
startActivity(intent)
|
|
||||||
finish()
|
|
||||||
}
|
|
||||||
@OptIn(DelicateCoroutinesApi::class)
|
|
||||||
private fun cleanProfile() {
|
|
||||||
Log.d("cleanProfile start")
|
|
||||||
GlobalScope.launch(Dispatchers.IO) {
|
|
||||||
profileBinder?.let { pm ->
|
|
||||||
pm.queryAll().forEach { profile ->
|
|
||||||
Log.d("cleanProfile go delete name==>${profile.name}, uuid==>${profile.uuid}")
|
|
||||||
pm.delete(profile.uuid)
|
|
||||||
}
|
|
||||||
} ?: let {
|
|
||||||
Log.d("profileBinder is null")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -131,11 +131,8 @@ open class HomeFragment : BaseFragment(), CoroutineScope by CoroutineScope(Dispa
|
||||||
|
|
||||||
val serStore by lazy { ServiceStore(requireActivity()) }
|
val serStore by lazy { ServiceStore(requireActivity()) }
|
||||||
private var currentNode: MutableList<NodeGroupItem> = mutableListOf()
|
private var currentNode: MutableList<NodeGroupItem> = mutableListOf()
|
||||||
|
|
||||||
private val mPageInfo = ExpensesRecordActivity.PageInfo()
|
|
||||||
private var reConnection = false
|
private var reConnection = false
|
||||||
private var connectId = -1
|
private var connectId = -1
|
||||||
var proList: MutableList<ClashNodebBean>? = null
|
|
||||||
private var baseLoadingView: RxDialogShapeLoading? = null
|
private var baseLoadingView: RxDialogShapeLoading? = null
|
||||||
|
|
||||||
override fun init(
|
override fun init(
|
||||||
|
|
@ -254,10 +251,6 @@ open class HomeFragment : BaseFragment(), CoroutineScope by CoroutineScope(Dispa
|
||||||
startActivityForResult(intent, 2)
|
startActivityForResult(intent, 2)
|
||||||
}
|
}
|
||||||
tvIntelligentMode.setOnClickListener {
|
tvIntelligentMode.setOnClickListener {
|
||||||
// if(clashRunning){
|
|
||||||
// RxToast.info(resources.getString(R.string.SwitchingSourceModel))
|
|
||||||
// return@setOnClickListener
|
|
||||||
// }
|
|
||||||
val getIsGlo= MMKV.defaultMMKV().decodeBool(BZYConstants.MMKV_KEY_GLOBAL_MODEL, false)
|
val getIsGlo= MMKV.defaultMMKV().decodeBool(BZYConstants.MMKV_KEY_GLOBAL_MODEL, false)
|
||||||
Log.d("clIntelligentMode ==>${getIsGlo}")
|
Log.d("clIntelligentMode ==>${getIsGlo}")
|
||||||
if(getIsGlo){
|
if(getIsGlo){
|
||||||
|
|
@ -417,7 +410,6 @@ open class HomeFragment : BaseFragment(), CoroutineScope by CoroutineScope(Dispa
|
||||||
}
|
}
|
||||||
delay(500)
|
delay(500)
|
||||||
}
|
}
|
||||||
refreshNode()
|
|
||||||
val vpnRequest = context?.startClashService()
|
val vpnRequest = context?.startClashService()
|
||||||
try {
|
try {
|
||||||
startUTimer()
|
startUTimer()
|
||||||
|
|
|
||||||
|
|
@ -107,9 +107,6 @@ class SettingFragment : BaseFragment(), CoroutineScope by CoroutineScope(Dispatc
|
||||||
|
|
||||||
private var baseLoad: RxDialogShapeLoading? = null
|
private var baseLoad: RxDialogShapeLoading? = null
|
||||||
private lateinit var mainAtyVM: MainAtyVM
|
private lateinit var mainAtyVM: MainAtyVM
|
||||||
|
|
||||||
private lateinit var tvUseNet: TextView
|
|
||||||
|
|
||||||
private var settingPageList = mutableListOf<SettingPageBean>()
|
private var settingPageList = mutableListOf<SettingPageBean>()
|
||||||
@RequiresApi(Build.VERSION_CODES.O)
|
@RequiresApi(Build.VERSION_CODES.O)
|
||||||
override fun init(
|
override fun init(
|
||||||
|
|
@ -386,18 +383,7 @@ class SettingFragment : BaseFragment(), CoroutineScope by CoroutineScope(Dispatc
|
||||||
clVipCard =view.findViewById(R.id.clVipCard)
|
clVipCard =view.findViewById(R.id.clVipCard)
|
||||||
shareCard =view.findViewById(R.id.shareCard)
|
shareCard =view.findViewById(R.id.shareCard)
|
||||||
tvVersion=view.findViewById(R.id.tvVersion)
|
tvVersion=view.findViewById(R.id.tvVersion)
|
||||||
|
|
||||||
rvSettingTab=view.findViewById(R.id.rvSettingTab)
|
rvSettingTab=view.findViewById(R.id.rvSettingTab)
|
||||||
|
|
||||||
tvUseNet=view.findViewById(R.id.tvUseNet)
|
|
||||||
|
|
||||||
trafficStatisticsData.observe(requireActivity()){
|
|
||||||
it.let {
|
|
||||||
tvUseNet.text=it
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
clVipCard.setOnClickListener {
|
clVipCard.setOnClickListener {
|
||||||
goNewRecharge()
|
goNewRecharge()
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,154 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
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:orientation="vertical">
|
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
|
||||||
android:id="@+id/clTitle"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
|
||||||
android:layout_marginTop="43dp"
|
|
||||||
>
|
|
||||||
<androidx.appcompat.widget.AppCompatImageView
|
|
||||||
android:id="@+id/aiBack"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:src="@drawable/ic_mode_back"
|
|
||||||
android:padding="5dp"
|
|
||||||
android:layout_marginStart="15dp"
|
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
|
||||||
/>
|
|
||||||
<TextView
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:textColor="#B36C1B"
|
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
|
||||||
android:text="@string/myAccount"
|
|
||||||
android:textSize="18sp"
|
|
||||||
/>
|
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_marginStart="13dp"
|
|
||||||
android:layout_marginEnd="13dp"
|
|
||||||
android:layout_marginTop="31dp"
|
|
||||||
android:background="@drawable/oc_setting_lo_bg"
|
|
||||||
>
|
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
|
||||||
android:id="@+id/clChanPsw"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
|
||||||
android:layout_marginStart="21dp"
|
|
||||||
android:layout_marginEnd="21dp"
|
|
||||||
android:layout_marginTop="22dp"
|
|
||||||
>
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/tvServiceTerms"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_marginTop="10dp"
|
|
||||||
android:layout_marginBottom="10dp"
|
|
||||||
android:text="@string/change_password"
|
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
|
||||||
android:textColor="#5A2B31"
|
|
||||||
android:textSize="16sp"
|
|
||||||
app:layout_constraintTop_toTopOf="parent" />
|
|
||||||
|
|
||||||
<androidx.appcompat.widget.AppCompatImageView
|
|
||||||
android:id="@+id/aiServiceTerms"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:src="@drawable/oc_xy"
|
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/clChanPsw"
|
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
|
||||||
app:layout_constraintTop_toTopOf="@+id/clChanPsw" />
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
|
||||||
|
|
||||||
<View
|
|
||||||
android:id="@+id/LineView"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="1dp"
|
|
||||||
android:background="#E59E4D"
|
|
||||||
android:layout_marginStart="21dp"
|
|
||||||
android:layout_marginEnd="21dp"
|
|
||||||
android:layout_marginTop="16dp"
|
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
|
||||||
app:layout_constraintTop_toBottomOf="@+id/clChanPsw"
|
|
||||||
/>
|
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
|
||||||
android:id="@+id/clFowdPsw"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
|
||||||
app:layout_constraintTop_toBottomOf="@+id/LineView"
|
|
||||||
android:layout_marginStart="21dp"
|
|
||||||
android:layout_marginEnd="21dp"
|
|
||||||
android:layout_marginTop="16dp"
|
|
||||||
android:layout_marginBottom="20dp"
|
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
|
||||||
>
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/tvFowdPsw"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_marginTop="10dp"
|
|
||||||
android:layout_marginBottom="10dp"
|
|
||||||
android:text="@string/forget_pwd"
|
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
|
||||||
android:textColor="#5A2B31"
|
|
||||||
android:textSize="16sp"
|
|
||||||
app:layout_constraintTop_toTopOf="parent" />
|
|
||||||
|
|
||||||
<androidx.appcompat.widget.AppCompatImageView
|
|
||||||
android:id="@+id/aiyszc"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:src="@drawable/oc_xy"
|
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/clFowdPsw"
|
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
|
||||||
app:layout_constraintTop_toTopOf="@+id/clFowdPsw" />
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/tvChange"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_marginStart="@dimen/layout_login_tv_login_start_margin"
|
|
||||||
android:layout_marginTop="21dp"
|
|
||||||
android:layout_marginEnd="@dimen/layout_login_tv_login_end_margin"
|
|
||||||
android:background="@drawable/oc_ming_change_bg"
|
|
||||||
android:gravity="center"
|
|
||||||
android:paddingTop="@dimen/layout_login_tv_login_top_padding"
|
|
||||||
android:paddingBottom="@dimen/layout_login_tv_login_bottom_padding"
|
|
||||||
android:elevation="10dp"
|
|
||||||
android:translationZ="1dp"
|
|
||||||
android:text="@string/ChangeAccount"
|
|
||||||
android:textColor="#B36C1B"
|
|
||||||
android:textSize="@dimen/layout_login_tv_login_textsize"
|
|
||||||
android:textStyle="bold"
|
|
||||||
app:layout_constraintTop_toBottomOf="@+id/ll_user_agreement" />
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
@ -287,19 +287,6 @@
|
||||||
android:textStyle="bold"
|
android:textStyle="bold"
|
||||||
app:layout_constraintStart_toStartOf="@+id/shareCard"
|
app:layout_constraintStart_toStartOf="@+id/shareCard"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/shareCard" />
|
app:layout_constraintTop_toBottomOf="@+id/shareCard" />
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/tvUseNet"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:text=""
|
|
||||||
android:textColor="#FF000000"
|
|
||||||
android:layout_marginTop="10dp"
|
|
||||||
android:textSize="13sp"
|
|
||||||
android:textStyle="bold"
|
|
||||||
app:layout_constraintEnd_toEndOf="@+id/shareCard"
|
|
||||||
app:layout_constraintTop_toBottomOf="@+id/shareCard" />
|
|
||||||
|
|
||||||
<androidx.recyclerview.widget.RecyclerView
|
<androidx.recyclerview.widget.RecyclerView
|
||||||
android:id="@+id/rvSettingTab"
|
android:id="@+id/rvSettingTab"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
|
|
|
||||||
|
|
@ -109,7 +109,7 @@ subprojects {
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
create("1111") {
|
create("0000") {
|
||||||
isDefault = true
|
isDefault = true
|
||||||
dimension = flavorDimensionList[0]
|
dimension = flavorDimensionList[0]
|
||||||
buildConfigField("boolean", "PREMIUM", "Boolean.parseBoolean(\"false\")")
|
buildConfigField("boolean", "PREMIUM", "Boolean.parseBoolean(\"false\")")
|
||||||
|
|
@ -117,7 +117,7 @@ subprojects {
|
||||||
buildConfigField("boolean", "is_back_cn", "false")
|
buildConfigField("boolean", "is_back_cn", "false")
|
||||||
buildConfigField("String", "applicationId", "\"com.jsq.wufu\"")
|
buildConfigField("String", "applicationId", "\"com.jsq.wufu\"")
|
||||||
buildConfigField("String", "service_url", "\"https://api.yijianlianjsq.com/\"")
|
buildConfigField("String", "service_url", "\"https://api.yijianlianjsq.com/\"")
|
||||||
buildConfigField("String", "productId", "\"1111\"")
|
buildConfigField("String", "productId", "\"0000\"")
|
||||||
manifestPlaceholders(
|
manifestPlaceholders(
|
||||||
mapOf(
|
mapOf(
|
||||||
"APP_NAME" to "@string/wf",
|
"APP_NAME" to "@string/wf",
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue