diff --git a/V2rayNG/app/build.gradle b/V2rayNG/app/build.gradle
index 0831f508..8c6e0934 100644
--- a/V2rayNG/app/build.gradle
+++ b/V2rayNG/app/build.gradle
@@ -87,6 +87,7 @@ android {
buildFeatures {
viewBinding true
+ buildConfig true
}
namespace 'com.v2ray.ang'
testNamespace 'com.v2ray.angTest'
diff --git a/V2rayNG/app/src/androidTest/java/com/v2ray/ang/ApplicationTest.java b/V2rayNG/app/src/androidTest/java/com/v2ray/ang/ApplicationTest.java
deleted file mode 100644
index e221e714..00000000
--- a/V2rayNG/app/src/androidTest/java/com/v2ray/ang/ApplicationTest.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package com.v2ray.ang;
-
-import android.app.Application;
-import android.test.ApplicationTestCase;
-
-/**
- * Testing Fundamentals
- */
-public class ApplicationTest extends ApplicationTestCase {
- public ApplicationTest() {
- super(Application.class);
- }
-}
\ No newline at end of file
diff --git a/V2rayNG/app/src/main/AndroidManifest.xml b/V2rayNG/app/src/main/AndroidManifest.xml
index 7d118e8d..daa511a3 100644
--- a/V2rayNG/app/src/main/AndroidManifest.xml
+++ b/V2rayNG/app/src/main/AndroidManifest.xml
@@ -11,6 +11,8 @@
+
+
+
diff --git a/V2rayNG/app/src/main/kotlin/com/v2ray/ang/ui/MainActivity.kt b/V2rayNG/app/src/main/kotlin/com/v2ray/ang/ui/MainActivity.kt
index c35406de..7160055c 100644
--- a/V2rayNG/app/src/main/kotlin/com/v2ray/ang/ui/MainActivity.kt
+++ b/V2rayNG/app/src/main/kotlin/com/v2ray/ang/ui/MainActivity.kt
@@ -613,13 +613,14 @@ class MainActivity : BaseActivity(), NavigationView.OnNavigationItemSelectedList
// }
override fun onKeyDown(keyCode: Int, event: KeyEvent): Boolean {
- if (keyCode == KeyEvent.KEYCODE_BACK) {
+ if (keyCode == KeyEvent.KEYCODE_BACK || keyCode == KeyEvent.KEYCODE_BUTTON_B) {
moveTaskToBack(false)
return true
}
return super.onKeyDown(keyCode, event)
}
+
fun showCircle() {
binding.fabProgressCircle.show()
}
diff --git a/V2rayNG/app/src/main/kotlin/com/v2ray/ang/util/Utils.kt b/V2rayNG/app/src/main/kotlin/com/v2ray/ang/util/Utils.kt
index cd8acd49..69a92210 100644
--- a/V2rayNG/app/src/main/kotlin/com/v2ray/ang/util/Utils.kt
+++ b/V2rayNG/app/src/main/kotlin/com/v2ray/ang/util/Utils.kt
@@ -7,6 +7,7 @@ import android.util.Base64
import java.util.*
import android.content.ClipData
import android.content.Intent
+import android.content.pm.PackageManager
import android.content.res.Configuration.UI_MODE_NIGHT_MASK
import android.content.res.Configuration.UI_MODE_NIGHT_YES
import android.net.Uri
@@ -399,5 +400,9 @@ object Utils {
return URL(url.protocol, IDN.toASCII(url.host, IDN.ALLOW_UNASSIGNED), url.port, url.file)
.toExternalForm()
}
+
+ fun isTv(context: Context): Boolean =
+ context.packageManager.hasSystemFeature(PackageManager.FEATURE_LEANBACK)
+
}
diff --git a/V2rayNG/app/src/main/res/mipmap-anydpi-v26/ic_banner.xml b/V2rayNG/app/src/main/res/mipmap-anydpi-v26/ic_banner.xml
new file mode 100644
index 00000000..f928b0cd
--- /dev/null
+++ b/V2rayNG/app/src/main/res/mipmap-anydpi-v26/ic_banner.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/V2rayNG/app/src/main/res/mipmap-xhdpi/ic_banner.png b/V2rayNG/app/src/main/res/mipmap-xhdpi/ic_banner.png
new file mode 100644
index 00000000..9c525197
Binary files /dev/null and b/V2rayNG/app/src/main/res/mipmap-xhdpi/ic_banner.png differ
diff --git a/V2rayNG/app/src/main/res/mipmap-xhdpi/ic_banner_foreground.png b/V2rayNG/app/src/main/res/mipmap-xhdpi/ic_banner_foreground.png
new file mode 100644
index 00000000..4603f96e
Binary files /dev/null and b/V2rayNG/app/src/main/res/mipmap-xhdpi/ic_banner_foreground.png differ
diff --git a/V2rayNG/app/src/main/res/values/ic_banner_background.xml b/V2rayNG/app/src/main/res/values/ic_banner_background.xml
new file mode 100644
index 00000000..15db34b8
--- /dev/null
+++ b/V2rayNG/app/src/main/res/values/ic_banner_background.xml
@@ -0,0 +1,4 @@
+
+
+ #FFFFFF
+
\ No newline at end of file