From 14f36872e7e3a7094f668a251f979ba45d50c744 Mon Sep 17 00:00:00 2001
From: 2dust <31833384+2dust@users.noreply.github.com>
Date: Thu, 3 Apr 2025 17:30:29 +0800
Subject: [PATCH] If it is the Google Play version, the update check will not
be displayed within 2 days after update.
---
.../java/com/v2ray/ang/ui/AboutActivity.kt | 10 ++++++++++
.../java/com/v2ray/ang/util/AppManagerUtil.kt | 4 ++++
.../src/main/java/com/v2ray/ang/util/Utils.kt | 11 +++++++++--
.../src/main/res/layout/activity_about.xml | 19 +++++++++----------
4 files changed, 32 insertions(+), 12 deletions(-)
diff --git a/V2rayNG/app/src/main/java/com/v2ray/ang/ui/AboutActivity.kt b/V2rayNG/app/src/main/java/com/v2ray/ang/ui/AboutActivity.kt
index 280dd945..3157316f 100644
--- a/V2rayNG/app/src/main/java/com/v2ray/ang/ui/AboutActivity.kt
+++ b/V2rayNG/app/src/main/java/com/v2ray/ang/ui/AboutActivity.kt
@@ -5,6 +5,7 @@ import android.content.Intent
import android.os.Build
import android.os.Bundle
import android.util.Log
+import android.view.View
import androidx.activity.result.contract.ActivityResultContracts
import androidx.appcompat.app.AlertDialog
import androidx.core.content.ContextCompat
@@ -22,6 +23,7 @@ import com.v2ray.ang.extension.toastSuccess
import com.v2ray.ang.handler.MmkvManager
import com.v2ray.ang.handler.SpeedtestManager
import com.v2ray.ang.handler.UpdateCheckerManager
+import com.v2ray.ang.util.AppManagerUtil
import com.v2ray.ang.util.Utils
import com.v2ray.ang.util.ZipUtil
import kotlinx.coroutines.launch
@@ -103,6 +105,14 @@ class AboutActivity : BaseActivity() {
}
}
+ //If it is the Google Play version, not be displayed within 2 days after update
+ if (Utils.isGoogleFlavor()) {
+ val lastUpdateTime = AppManagerUtil.getLastUpdateTime(this)
+ val currentTime = System.currentTimeMillis()
+ if ((currentTime - lastUpdateTime) < 2 * 24 * 60 * 60 * 1000L) {
+ binding.layoutCheckUpdate.visibility = View.GONE
+ }
+ }
binding.layoutCheckUpdate.setOnClickListener {
checkForUpdates(binding.checkPreRelease.isChecked)
}
diff --git a/V2rayNG/app/src/main/java/com/v2ray/ang/util/AppManagerUtil.kt b/V2rayNG/app/src/main/java/com/v2ray/ang/util/AppManagerUtil.kt
index 577a618a..577698ea 100644
--- a/V2rayNG/app/src/main/java/com/v2ray/ang/util/AppManagerUtil.kt
+++ b/V2rayNG/app/src/main/java/com/v2ray/ang/util/AppManagerUtil.kt
@@ -33,4 +33,8 @@ object AppManagerUtil {
return@withContext apps
}
+
+ fun getLastUpdateTime(context: Context): Long =
+ context.packageManager.getPackageInfo(context.packageName, 0).lastUpdateTime
+
}
diff --git a/V2rayNG/app/src/main/java/com/v2ray/ang/util/Utils.kt b/V2rayNG/app/src/main/java/com/v2ray/ang/util/Utils.kt
index d83a9989..fda82097 100644
--- a/V2rayNG/app/src/main/java/com/v2ray/ang/util/Utils.kt
+++ b/V2rayNG/app/src/main/java/com/v2ray/ang/util/Utils.kt
@@ -17,8 +17,8 @@ import android.webkit.URLUtil
import androidx.core.content.ContextCompat
import androidx.core.net.toUri
import com.v2ray.ang.AppConfig
-import com.v2ray.ang.AppConfig.ANG_PACKAGE
import com.v2ray.ang.AppConfig.LOOPBACK
+import com.v2ray.ang.BuildConfig
import java.io.IOException
import java.net.ServerSocket
import java.net.URLDecoder
@@ -486,7 +486,14 @@ object Utils {
*
* @return True if the package is Xray, false otherwise.
*/
- fun isXray(): Boolean = ANG_PACKAGE.startsWith("com.v2ray.ang")
+ fun isXray(): Boolean = BuildConfig.APPLICATION_ID.startsWith("com.v2ray.ang")
+
+ /**
+ * Check if it is the Google Play version.
+ *
+ * @return True if the package is Google Play, false otherwise.
+ */
+ fun isGoogleFlavor(): Boolean = BuildConfig.FLAVOR == "playstore"
}
diff --git a/V2rayNG/app/src/main/res/layout/activity_about.xml b/V2rayNG/app/src/main/res/layout/activity_about.xml
index 0bbeae74..d4596963 100644
--- a/V2rayNG/app/src/main/res/layout/activity_about.xml
+++ b/V2rayNG/app/src/main/res/layout/activity_about.xml
@@ -127,24 +127,23 @@
android:layout_height="@dimen/image_size_dp24"
app:srcCompat="@drawable/ic_check_update_24dp" />
-
+ android:orientation="vertical"
+ android:paddingStart="@dimen/padding_spacing_dp16">
-
+