diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 35c9d6e..bf36568 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -29,7 +29,8 @@
-
+
(android.R.id.content).getChildAt(0))
initView()
}
diff --git a/app/src/main/java/com/yingmao/clash/act/ForGetPwdActivity.kt b/app/src/main/java/com/yingmao/clash/act/ForGetPwdActivity.kt
index 7c3cfc2..5d5081f 100644
--- a/app/src/main/java/com/yingmao/clash/act/ForGetPwdActivity.kt
+++ b/app/src/main/java/com/yingmao/clash/act/ForGetPwdActivity.kt
@@ -13,6 +13,7 @@ import android.widget.ImageView
import android.widget.SeekBar
import android.widget.TextView
import androidx.appcompat.app.AppCompatActivity
+import androidx.appcompat.widget.AppCompatImageView
import androidx.lifecycle.ViewModelProvider
import com.yingmao.clash.R
import com.yingmao.clash.base.BaseActivity
@@ -28,7 +29,7 @@ import java.util.Timer
import java.util.TimerTask
-class ForGetPwdActivity : BaseNotTitleActivity(), SeekBar.OnSeekBarChangeListener,
+class ForGetPwdActivity : BaseActivity(), SeekBar.OnSeekBarChangeListener,
CompoundButton.OnCheckedChangeListener {
lateinit var seekBar: SeekBar
@@ -45,7 +46,6 @@ class ForGetPwdActivity : BaseNotTitleActivity(), SeekBar.OnSeekBarChangeListene
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_forget_pwd)
- showBack()
setupUI(findViewById(android.R.id.content).getChildAt(0))
initView()
@@ -92,9 +92,9 @@ class ForGetPwdActivity : BaseNotTitleActivity(), SeekBar.OnSeekBarChangeListene
}
}
-// findViewById(R.id.iv_back).setOnClickListener {
-// onBackPressed()
-// }
+ findViewById(R.id.aiBack).setOnClickListener {
+ finish()
+ }
}
override fun httpSuccess(httpStatus: HttpStatus.Success) {
diff --git a/app/src/main/java/com/yingmao/clash/act/MemberRechargeActivity.kt b/app/src/main/java/com/yingmao/clash/act/MemberRechargeActivity.kt
index d39d215..fef8043 100644
--- a/app/src/main/java/com/yingmao/clash/act/MemberRechargeActivity.kt
+++ b/app/src/main/java/com/yingmao/clash/act/MemberRechargeActivity.kt
@@ -51,7 +51,9 @@ import com.yingmao.clash.util.PayUtils
import com.yingmao.clash.util.ThreadUtils
import com.yingmao.clash.view.RxToast
import com.yingmao.clash.view.dialog.DialogDoMainChoose
+import com.yingmao.clash.view.dialog.PayConfirmDialog
import com.yingmao.clash.view.dialog.RxDialogShapeLoading
+import com.yingmao.clash.view.dialog.SplashDialog
import kotlinx.coroutines.DelicateCoroutinesApi
import kotlinx.coroutines.GlobalScope
import kotlinx.coroutines.MainScope
@@ -168,8 +170,23 @@ class MemberRechargeActivity : BaseActivity() {
RxToast.info(resources.getString(R.string.selectRechargeAmount))
return@setOnClickListener
}
- viewModel.pay("1", selectedGrade!!, "pointCard")
+ if(BuildConfig.productId=="9788"){
+ val payConfirm =
+ PayConfirmDialog(this)
+ payConfirm.showDialog(this@MemberRechargeActivity)
+ payConfirm.setOnDialogClickListener(object : PayConfirmDialog.ActivityLinkListener{
+ override fun onFinishClickListener() {
+ viewModel.pay("1", selectedGrade!!, "pointCard")
+ payConfirm.cancel()
+ }
+ override fun onCancelClickListener() {
+ payConfirm.cancel()
+ }
+ })
+ }else{
+ viewModel.pay("1", selectedGrade!!, "pointCard")
+ }
}
}
diff --git a/app/src/main/java/com/yingmao/clash/view/dialog/PayConfirmDialog.java b/app/src/main/java/com/yingmao/clash/view/dialog/PayConfirmDialog.java
new file mode 100644
index 0000000..c2b65de
--- /dev/null
+++ b/app/src/main/java/com/yingmao/clash/view/dialog/PayConfirmDialog.java
@@ -0,0 +1,69 @@
+package com.yingmao.clash.view.dialog;
+
+import android.annotation.SuppressLint;
+import android.app.Dialog;
+import android.content.Context;
+import android.content.Intent;
+import android.view.Gravity;
+import android.view.View;
+import android.view.Window;
+import android.view.WindowManager;
+import android.widget.TextView;
+
+import com.yingmao.clash.R;
+import com.yingmao.clash.act.AgreementAndPrivacyActivity;
+import com.yingmao.clash.conf.BZYConstants;
+
+public class PayConfirmDialog extends Dialog {
+
+ public PayConfirmDialog(Context context) {
+ super(context);
+ setContentView(R.layout.pay_confirm_layout);
+ //设置点击布局外则Dialog消失
+ setCanceledOnTouchOutside(false);
+ }
+ @SuppressLint("SetTextI18n")
+ public void showDialog(Context context) {
+ Window window = getWindow();
+ //设置弹窗动画
+ assert window != null;
+ window.setWindowAnimations(R.style.style_dialog);
+ //设置Dialog背景色
+ window.setBackgroundDrawableResource(R.color.colorTransparent);
+ WindowManager.LayoutParams wl = window.getAttributes();
+ //设置弹窗位置
+ wl.gravity = Gravity.CENTER;
+ window.setAttributes(wl);
+ show();
+ TextView noAgree=findViewById(R.id.tv_pay_cancle);
+ TextView agree=findViewById(R.id.tv_pay_finish);
+ noAgree.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ if(activityLinkListener!=null){
+ activityLinkListener.onCancelClickListener();
+ }
+ }
+ });
+ agree.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ if(activityLinkListener!=null){
+ activityLinkListener.onFinishClickListener();
+ }
+ }
+ });
+
+ }
+ /********************** 回调 ************************/
+ private ActivityLinkListener activityLinkListener;
+
+ public void setOnDialogClickListener(ActivityLinkListener activityLinkListener){
+ this.activityLinkListener = activityLinkListener;
+ }
+
+ public interface ActivityLinkListener{
+ void onFinishClickListener();
+ void onCancelClickListener();
+ }
+}
diff --git a/app/src/main/java/com/yingmao/clash/webview/CustomerServiceWebView.kt b/app/src/main/java/com/yingmao/clash/webview/CustomerServiceWebView.kt
index 9b13f26..1aea100 100644
--- a/app/src/main/java/com/yingmao/clash/webview/CustomerServiceWebView.kt
+++ b/app/src/main/java/com/yingmao/clash/webview/CustomerServiceWebView.kt
@@ -1,17 +1,23 @@
package com.yingmao.clash.webview
import android.annotation.SuppressLint
+import android.content.ActivityNotFoundException
+import android.content.Intent
import android.graphics.Rect
+import android.net.Uri
import android.os.Bundle
import android.text.TextUtils
import android.view.View
import android.view.ViewTreeObserver.OnGlobalLayoutListener
+import android.webkit.ValueCallback
+import android.webkit.WebChromeClient
import android.webkit.WebSettings
import android.webkit.WebView
import android.webkit.WebViewClient
import android.widget.EditText
import android.widget.LinearLayout
import android.widget.ScrollView
+import android.widget.Toast
import androidx.appcompat.widget.AppCompatImageView
import androidx.constraintlayout.widget.ConstraintLayout
import androidx.lifecycle.ViewModelProvider
@@ -31,6 +37,7 @@ class CustomerServiceWebView:BaseActivity() {
private lateinit var rootView: LinearLayout
private lateinit var webViewVM: WebViewAtyVM
private var customerServiceHost = ""
+// private var fileChooserCallback: ValueCallback>? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
@@ -59,6 +66,26 @@ class CustomerServiceWebView:BaseActivity() {
}
}
}
+// csWebView.webChromeClient = object : WebChromeClient() {
+// override fun onShowFileChooser(
+// webView: WebView?,
+// filePathCallback: ValueCallback>,
+// fileChooserParams: FileChooserParams
+// ): Boolean {
+// fileChooserCallback?.onReceiveValue(null)
+// fileChooserCallback = filePathCallback
+//
+// val intent = fileChooserParams.createIntent()
+// try {
+// startActivityForResult(intent, 1001)
+// } catch (e: ActivityNotFoundException) {
+// fileChooserCallback = null
+// Toast.makeText(this@CustomerServiceWebView, "无法打开文件选择器", Toast.LENGTH_SHORT).show()
+// return false
+// }
+// return true
+// }
+// }
getCustomerServiceUrl()
}
@@ -120,4 +147,16 @@ class CustomerServiceWebView:BaseActivity() {
csWebView=findViewById(R.id.csWebView)
rootView=findViewById(R.id.root_view)
}
+// override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
+// super.onActivityResult(requestCode, resultCode, data)
+// if (requestCode == 1001) {
+// val result =
+// if (resultCode == RESULT_OK && data != null) WebChromeClient.FileChooserParams.parseResult(resultCode, data)
+// else null
+// fileChooserCallback?.onReceiveValue(result)
+// fileChooserCallback = null
+// } else {
+// super.onActivityResult(requestCode, resultCode, data)
+// }
+// }
}
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_mode_black.xml b/app/src/main/res/drawable/ic_mode_black.xml
new file mode 100644
index 0000000..55faf49
--- /dev/null
+++ b/app/src/main/res/drawable/ic_mode_black.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/app/src/main/res/layout/activity_band_phone.xml b/app/src/main/res/layout/activity_band_phone.xml
index 5f07329..755320f 100644
--- a/app/src/main/res/layout/activity_band_phone.xml
+++ b/app/src/main/res/layout/activity_band_phone.xml
@@ -3,7 +3,6 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
- android:background="@drawable/homeact_linea_bg"
android:orientation="vertical"
>
@@ -20,7 +19,7 @@
android:id="@+id/aiBack"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:src="@drawable/ic_mode_back"
+ android:src="@drawable/ic_mode_black"
android:padding="5dp"
android:layout_marginStart="15dp"
app:layout_constraintStart_toStartOf="parent"
@@ -37,7 +36,7 @@
android:layout_height="wrap_content"
android:layout_marginTop="54dp"
android:text="@string/BindAccount"
- android:textColor="#4072FE"
+ android:textColor="#000000"
android:textSize="@dimen/layout_login_welcome_textsize"
android:textStyle="bold"
/>
@@ -49,7 +48,7 @@
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/layout_login_username_title_text_top_margin"
android:text="@string/phone_number"
- android:textColor="#4F4F4F"
+ android:textColor="#000000"
android:textSize="13sp"
/>
@@ -83,7 +82,7 @@
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/layout_login_pwd_title_text_top_margin"
android:text="@string/sms_code"
- android:textColor="#4F4F4F"
+ android:textColor="#000000"
android:textSize="13sp"
/>
diff --git a/app/src/main/res/layout/activity_change_pwd.xml b/app/src/main/res/layout/activity_change_pwd.xml
index 7320626..989854d 100644
--- a/app/src/main/res/layout/activity_change_pwd.xml
+++ b/app/src/main/res/layout/activity_change_pwd.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="@drawable/homeact_linea_bg">
+ >
@@ -59,7 +59,7 @@
android:maxLines="1"
android:textColor="#4F4F4F"
android:textSize="@dimen/layout_login_et_textsize"
- android:hint="@string/correctCode"
+ android:hint="@string/please_input_original_password"
android:textColorHint="@color/gray_BDBDBD"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent"
@@ -110,6 +110,8 @@
android:background="@drawable/login_et_bg_selector"
android:maxLines="1"
android:textColor="#4F4F4F"
+ android:hint="@string/please_input_new_password"
+ android:textColorHint="@color/gray_BDBDBD"
android:textSize="@dimen/layout_login_et_textsize"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent"
diff --git a/app/src/main/res/layout/activity_forget_pwd.xml b/app/src/main/res/layout/activity_forget_pwd.xml
index 74bc0cc..b6a5918 100644
--- a/app/src/main/res/layout/activity_forget_pwd.xml
+++ b/app/src/main/res/layout/activity_forget_pwd.xml
@@ -4,7 +4,6 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:background="@drawable/homeact_linea_bg"
>
@@ -21,7 +20,7 @@
android:id="@+id/aiBack"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:src="@drawable/ic_mode_back"
+ android:src="@drawable/ic_mode_black"
android:padding="5dp"
android:layout_marginStart="15dp"
app:layout_constraintStart_toStartOf="parent"
@@ -45,7 +44,7 @@
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/layout_login_welcome_text_top_margin"
android:text="@string/forget_pwd"
- android:textColor="@color/blue_4072FE"
+ android:textColor="#000000"
android:layout_marginStart="40dp"
android:textSize="@dimen/layout_login_welcome_textsize"
android:textStyle="bold"
@@ -59,7 +58,7 @@
android:layout_height="wrap_content"
android:layout_marginTop="23dp"
android:text="@string/phone_and_email"
- android:textColor="@color/black_4F4F4F"
+ android:textColor="#000000"
android:textSize="@dimen/layout_login_username_title_textsize"
app:layout_constraintStart_toStartOf="@+id/tv_welcome_back"
app:layout_constraintTop_toBottomOf="@+id/tv_welcome_back" />
@@ -109,7 +108,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/sms_code"
- android:textColor="@color/black_4F4F4F"
+ android:textColor="#000000"
android:textSize="@dimen/layout_login_pwd_title_textsize"
tools:ignore="MissingConstraints"/>
@@ -119,11 +118,12 @@
android:layout_height="wrap_content"
android:layout_below="@+id/tv_sms"
android:layout_marginRight="5dp"
-
android:background="@drawable/login_et_bg_selector"
android:inputType="number"
android:maxLines="1"
android:textColor="@color/white"
+ android:hint="@string/correctCode"
+ android:textColorHint="@color/gray_BDBDBD"
android:textSize="@dimen/layout_login_et_textsize"
android:textStyle="bold" />
@@ -200,7 +200,7 @@
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/layout_login_pwd_title_text_top_margin"
android:text="@string/new_password_check"
- android:textColor="@color/black_4F4F4F"
+ android:textColor="#000000"
android:textSize="@dimen/layout_login_pwd_title_textsize" />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/values-en/strings.xml b/app/src/main/res/values-en/strings.xml
index 3a91306..08acf04 100644
--- a/app/src/main/res/values-en/strings.xml
+++ b/app/src/main/res/values-en/strings.xml
@@ -371,4 +371,5 @@ Service Description\n
Change country/region
Safety mode
Speed mode
+ Only supports acceleration of content that is allowed by domestic and foreign laws and regulations, no firewall-breaking function, confirm whether to recharge
\ No newline at end of file
diff --git a/app/src/main/res/values-zh-rHK/strings.xml b/app/src/main/res/values-zh-rHK/strings.xml
index e8e643b..bf7e3d3 100644
--- a/app/src/main/res/values-zh-rHK/strings.xml
+++ b/app/src/main/res/values-zh-rHK/strings.xml
@@ -361,5 +361,5 @@
變更國家/地區
安全模式
極速模式
-
+ 僅支持加速境內、境外法律法規允許訪問的內容,無翻墻功能,是否確認充值
\ No newline at end of file
diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml
index 927b452..7967594 100644
--- a/app/src/main/res/values-zh-rTW/strings.xml
+++ b/app/src/main/res/values-zh-rTW/strings.xml
@@ -359,4 +359,5 @@
變更國家/地區
安全模式
極速模式
+ 僅支持加速境內、境外法律法規允許訪問的內容,無翻墻功能,是否確認充值
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 5b5f8eb..e0852cb 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -383,4 +383,5 @@
《服务条款》
《隐私政策》
为贯彻与加强个人信息安全防护意识,请仔细阅读以下列出的相关协议
+ 仅支持加速境内、境外法律法规允许访问的内容,无翻墙功能,是否确认充值
\ No newline at end of file
diff --git a/build.gradle.kts b/build.gradle.kts
index d530175..a94b39e 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -71,8 +71,8 @@ subprojects {
// targetSdk = 32
minSdk = 21
targetSdk = 34
- versionName = "1.0.4.2"
- versionCode = 1042
+ versionName = "1.0.4.3"
+ versionCode = 1043
resValue("string", "release_name", "v$versionName")
resValue("integer", "release_code", "$versionCode")
externalNativeBuild {
@@ -119,6 +119,25 @@ subprojects {
)
)
}
+ create("9531") {
+ isDefault = true
+ dimension = flavorDimensionList[0]
+ buildConfigField("boolean", "PREMIUM", "Boolean.parseBoolean(\"false\")")
+ buildConfigField("boolean", "is_back_cn", "false")
+ buildConfigField("boolean", "is_ym", "true")
+ 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("boolean", "is_free", "false")
+ buildConfigField("String", "productId", "\"9531\"")
+ manifestPlaceholders(
+ mapOf(
+ "APP_NAME" to "@string/ConnectImmediately",
+ "APP_ICON" to "@mipmap/logo_connect_immediately"
+ )
+ )
+ }
}
sourceSets {
getByName("9788") {