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"> - +