From b22c96af7faefcf490ec950bc08ccb5ecda597a1 Mon Sep 17 00:00:00 2001 From: nin0dev Date: Tue, 27 Aug 2024 20:04:17 -0400 Subject: [PATCH 01/12] Bump to 1.3 --- app/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index f3d811c..2dc7612 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -11,8 +11,8 @@ android { applicationId "com.nin0dev.vendroid" minSdk 21 targetSdk 34 - versionCode 5 - versionName "1.2" + versionCode 6 + versionName "1.3" } buildTypes { From b3544cdee2f7e43f414732570693b95d383add51 Mon Sep 17 00:00:00 2001 From: nin0dev Date: Wed, 28 Aug 2024 10:43:59 -0400 Subject: [PATCH 02/12] removed devbuild settings from welcome screen --- .../com/nin0dev/vendroid/WelcomeActivity.kt | 20 ------------- app/src/main/res/layout/activity_welcome.xml | 28 ------------------- 2 files changed, 48 deletions(-) diff --git a/app/src/main/java/com/nin0dev/vendroid/WelcomeActivity.kt b/app/src/main/java/com/nin0dev/vendroid/WelcomeActivity.kt index 950772b..5cca6af 100644 --- a/app/src/main/java/com/nin0dev/vendroid/WelcomeActivity.kt +++ b/app/src/main/java/com/nin0dev/vendroid/WelcomeActivity.kt @@ -27,25 +27,6 @@ class WelcomeActivity : AppCompatActivity() { setContentView(R.layout.activity_welcome) - val devbuildCheckbox = findViewById(R.id.allow_custom_location) - devbuildCheckbox.setOnClickListener { - if (devbuildCheckbox.isChecked) { - MaterialAlertDialogBuilder(this) - .setTitle("Warning") - .setMessage("If you set a custom location, you will be loading and injecting Vencord from a different location. This feature is meant for developers ONLY. Never edit this setting if someone else asked you to, or if you don't know what you're doing! If you do set a custom location, you will not be able to ask for support in the Vencord support channel or in this project's issues. Are you sure you want to continue?") - .setNegativeButton(resources.getString(R.string.no)) { _, _ -> - devbuildCheckbox.isChecked = false - } - .setPositiveButton(resources.getString(R.string.yes)) { _, _ -> - findViewById(R.id.custom_location).visibility = VISIBLE - } - .show() - } - else { - findViewById(R.id.custom_location).visibility = GONE - } - } - findViewById(R.id.save_settings).setOnClickListener { val sPrefs = getSharedPreferences("settings", Context.MODE_PRIVATE) val editor = sPrefs.edit() @@ -54,7 +35,6 @@ class WelcomeActivity : AppCompatActivity() { if (findViewById(R.id.stable).isChecked) editor.putString("discordBranch", "stable") if (findViewById(R.id.ptb).isChecked) editor.putString("discordBranch", "ptb") if (findViewById(R.id.canary).isChecked) editor.putString("discordBranch", "canary") - if (findViewById(R.id.allow_custom_location).isChecked && findViewById(R.id.custom_location).text.isNotBlank()) editor.putString("vencordLocation", findViewById(R.id.custom_location).text.toString()) editor.apply() finish() diff --git a/app/src/main/res/layout/activity_welcome.xml b/app/src/main/res/layout/activity_welcome.xml index 3905fe6..05f3f76 100644 --- a/app/src/main/res/layout/activity_welcome.xml +++ b/app/src/main/res/layout/activity_welcome.xml @@ -71,34 +71,6 @@ android:text="@string/canary" /> - - - - - - - - - - From a9ec66d1a6716e2074b00ddf2eb09ef3d31f404e Mon Sep 17 00:00:00 2001 From: nin0dev Date: Wed, 28 Aug 2024 10:54:26 -0400 Subject: [PATCH 03/12] added more splashscreens (shiggy, oneko) --- .../java/com/nin0dev/vendroid/MainActivity.kt | 5 +++ .../com/nin0dev/vendroid/SettingsActivity.kt | 8 +++++ app/src/main/res/drawable/oneko.gif | Bin 0 -> 1176 bytes app/src/main/res/drawable/shiggy.gif | Bin 0 -> 64579 bytes app/src/main/res/layout/activity_main.xml | 24 +++++++++++-- app/src/main/res/layout/activity_settings.xml | 32 ++++++++++++++++++ app/src/main/res/values/strings.xml | 4 +++ 7 files changed, 71 insertions(+), 2 deletions(-) create mode 100644 app/src/main/res/drawable/oneko.gif create mode 100644 app/src/main/res/drawable/shiggy.gif diff --git a/app/src/main/java/com/nin0dev/vendroid/MainActivity.kt b/app/src/main/java/com/nin0dev/vendroid/MainActivity.kt index 7ef9160..f6b95ca 100644 --- a/app/src/main/java/com/nin0dev/vendroid/MainActivity.kt +++ b/app/src/main/java/com/nin0dev/vendroid/MainActivity.kt @@ -11,6 +11,7 @@ import android.os.Bundle import android.os.StrictMode import android.os.StrictMode.ThreadPolicy import android.view.KeyEvent +import android.view.View.VISIBLE import android.view.WindowManager import android.webkit.ValueCallback import android.webkit.WebView @@ -21,6 +22,7 @@ import com.android.volley.toolbox.Volley import com.google.android.material.dialog.MaterialAlertDialogBuilder import com.nin0dev.vendroid.HttpClient.fetchVencord import com.nin0dev.vendroid.Logger.e +import pl.droidsonroids.gif.GifImageView import java.io.IOException class MainActivity : Activity() { @@ -78,6 +80,9 @@ class MainActivity : Activity() { // https://developer.chrome.com/docs/devtools/remote-debugging/webviews/ WebView.setWebContentsDebuggingEnabled(BuildConfig.DEBUG) setContentView(R.layout.activity_main) + if (sPrefs.getString("splash", "viggy") == "viggy") findViewById(R.id.viggy_gif).visibility = VISIBLE + else if (sPrefs.getString("splash", "viggy") == "shiggy") findViewById(R.id.shiggy_gif).visibility = VISIBLE + else if (sPrefs.getString("splash", "viggy") == "oneko") findViewById(R.id.oneko_gif).visibility = VISIBLE wv = findViewById(R.id.webview)!! explodeAndroid() wv!!.setWebViewClient(VWebviewClient()) diff --git a/app/src/main/java/com/nin0dev/vendroid/SettingsActivity.kt b/app/src/main/java/com/nin0dev/vendroid/SettingsActivity.kt index a6470e2..54a6e15 100644 --- a/app/src/main/java/com/nin0dev/vendroid/SettingsActivity.kt +++ b/app/src/main/java/com/nin0dev/vendroid/SettingsActivity.kt @@ -37,6 +37,11 @@ class SettingsActivity : AppCompatActivity() { "ptb" -> findViewById(R.id.ptb).isChecked = true "canary" -> findViewById(R.id.canary).isChecked = true } + when (sPrefs.getString("splash", "viggy")) { + "viggy" -> findViewById(R.id.viggy).isChecked = true + "shiggy" -> findViewById(R.id.shiggy).isChecked = true + "oneko" -> findViewById(R.id.oneko).isChecked = true + } if(sPrefs.getString("vencordLocation", "")?.isNotBlank() == true) { findViewById(R.id.allow_custom_location).isChecked = true val devbuildField = findViewById(R.id.custom_location) @@ -71,6 +76,9 @@ class SettingsActivity : AppCompatActivity() { if (findViewById(R.id.stable).isChecked) editor.putString("discordBranch", "stable") if (findViewById(R.id.ptb).isChecked) editor.putString("discordBranch", "ptb") if (findViewById(R.id.canary).isChecked) editor.putString("discordBranch", "canary") + if (findViewById(R.id.viggy).isChecked) editor.putString("splash", "viggy") + if (findViewById(R.id.shiggy).isChecked) editor.putString("splash", "shiggy") + if (findViewById(R.id.oneko).isChecked) editor.putString("splash", "oneko") if (findViewById(R.id.allow_custom_location).isChecked && findViewById(R.id.custom_location).text.isNotBlank()) editor.putString("vencordLocation", findViewById(R.id.custom_location).text.toString()) editor.apply() diff --git a/app/src/main/res/drawable/oneko.gif b/app/src/main/res/drawable/oneko.gif new file mode 100644 index 0000000000000000000000000000000000000000..5fb66d126a0c284f8f717bf1ceb7c227c157757d GIT binary patch literal 1176 zcmV;J1ZVq4Nk%w1VPF7Y0Pp|+00030|NkNX3r4~F7Mmgb43>dLn63&-+I*Y=I)`p)(tOe&W^fb$8BKA8%sHA+ofw}31n01k`6&oG4R)Q#7HGWd*Ev&HTJoZF0= zCF^<~x);&s6xbtG_%H~7xZ{W6h#++XX+dcqX=6#DiTQ$Nb@v%I1@qb2U`j}qR+>uc z;5y3sGFNMNIeSohxY`9{J9qG^JIC9W+XBocj4ZIL*E_Uz_w4I4{ZOa)cgmnWHasKR z8(WMejwb86Xbwd)e!N~Co?@(Ct*Bf_Ut-^j4^EY>ea-qoqa!e1Kz0KK@(b~eO+-Z# zff2MOq9Q_u|ML@)C+@LdF z&!O=iY6u#XXgi}Bkj_+EGA0P89HE}X)`6$a%Lt1IoQt@`nzzrcMR{@jGO>=v65{T@xswjrQ)0QKTT3|JrD!Dtnq zyC8R?=E-?IORWUCbkwkh8N!8?y6kAyu3I;a9eFn2+PrUP=89XWPu`AE|9%;|?m=U( zQ3aR1Tb*Frf1$3sLb32=4~F7Mmgb43>dLkm0LSu7yCse1HktSGJ_-nj#A0j+6cv}mqc9m_ zN}U0yDR!V*QCNd^dxd3TNN{QRHJi}nr+O_+zem(=#5bFd0c^ko|Dz{RCnf=CXO>nL zAr&A8rs&2v)mHTuX*tRCm~^OPSUKm3^A~zKng_}!Y1Zh+SniqMqA5pE4Yyh z+k5ew8H_Pp+*ycBr@S13=*&Ur7rilEZCweyylq?AhdtQ*Kn0H7z55+E9(^Uv7xyzE&IKERr1%$4>1ki90t^+LlHfD1_e5hCCZ~rU83ty z^kh?&35iPeIdy7Mt3N?zWxCaaQITK4eu8?{YgwdcrKKgimMy7lU1i3FNpa+hw>IzM z%~(+t)w+KB?5r?09^jfsb7B?gmhe)MiBU>~Ot*2~$_+33jI5ckN4ts*2X?@@Z|514 zOH)4WO)_brj)k@kOChywoqW|EzSDa)&ft%WKZT&%<>2LTKVwMlTCVBEzmXGf&D`g- z>g28q&$WGXUeI4rU36OTxZv{UYrp=f9=L4q?OCIT4_j5hpn!JUFpOUcDxr<0+JE`U qx1U@Dsx_Sp^;PA?gFrkuRD|_SNFh5EhQncp9)1X7h$4DW0028Y{5z8X literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable/shiggy.gif b/app/src/main/res/drawable/shiggy.gif new file mode 100644 index 0000000000000000000000000000000000000000..05e628dbe8676001efc2d64bb5d81e3597bce289 GIT binary patch literal 64579 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Μ@xO+8%wrGMme*-AVU%&~k?Es54#5O;;<* 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 + android:src="@drawable/viggy" + android:visibility="gone" /> + + + + + + + + + + + + + + + + Vendroid update available Update Later + Viggy, by shoritsu + Shiggy, by naga_U + Oneko + Splash screen \ No newline at end of file From d2c750175f9486e31f5250d8453a370749a80c13 Mon Sep 17 00:00:00 2001 From: nin0dev Date: Wed, 28 Aug 2024 12:56:39 -0400 Subject: [PATCH 04/12] added more splashscreens (shiggy, oneko) --- app/build.gradle | 2 +- app/src/debug/res/xml/shortcuts.xml | 13 +++ app/src/main/AndroidManifest.xml | 11 ++- .../java/com/nin0dev/vendroid/HttpClient.kt | 2 +- .../java/com/nin0dev/vendroid/MainActivity.kt | 13 +-- .../com/nin0dev/vendroid/RecoveryActivity.kt | 38 ++++++++ .../com/nin0dev/vendroid/VWebviewClient.kt | 12 ++- app/src/main/res/drawable/reset.xml | 7 ++ app/src/main/res/layout/activity_recovery.xml | 87 +++++++++++++++++++ app/src/main/res/xml/shortcuts.xml | 13 +++ 10 files changed, 181 insertions(+), 17 deletions(-) create mode 100644 app/src/debug/res/xml/shortcuts.xml create mode 100644 app/src/main/java/com/nin0dev/vendroid/RecoveryActivity.kt create mode 100644 app/src/main/res/drawable/reset.xml create mode 100644 app/src/main/res/layout/activity_recovery.xml create mode 100644 app/src/main/res/xml/shortcuts.xml diff --git a/app/build.gradle b/app/build.gradle index 2dc7612..b632af0 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -9,7 +9,7 @@ android { defaultConfig { applicationId "com.nin0dev.vendroid" - minSdk 21 + minSdk 25 targetSdk 34 versionCode 6 versionName "1.3" diff --git a/app/src/debug/res/xml/shortcuts.xml b/app/src/debug/res/xml/shortcuts.xml new file mode 100644 index 0000000..7b9f82f --- /dev/null +++ b/app/src/debug/res/xml/shortcuts.xml @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 871864a..def834c 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -14,6 +14,11 @@ android:theme="@style/AppTheme" android:usesCleartextTraffic="true" tools:targetApi="34"> + @@ -27,6 +32,10 @@ android:exported="true" android:launchMode="singleTask" android:theme="@style/AppTheme"> + + @@ -50,4 +59,4 @@ - + \ No newline at end of file diff --git a/app/src/main/java/com/nin0dev/vendroid/HttpClient.kt b/app/src/main/java/com/nin0dev/vendroid/HttpClient.kt index 570f245..301545c 100644 --- a/app/src/main/java/com/nin0dev/vendroid/HttpClient.kt +++ b/app/src/main/java/com/nin0dev/vendroid/HttpClient.kt @@ -25,7 +25,7 @@ object HttpClient { val res = activity.resources res.openRawResource(R.raw.vencord_mobile).use { `is` -> VencordMobileRuntime = readAsText(`is`) } if (VencordRuntime != null) return - if (sPrefs.getString("vencordLocation", Constants.JS_BUNDLE_URL) == Constants.JS_BUNDLE_URL || BuildConfig.DEBUG) { // user is debugging vencord or app, always redownload + if (sPrefs.getString("vencordLocation", Constants.JS_BUNDLE_URL) != Constants.JS_BUNDLE_URL || BuildConfig.DEBUG) { // user is debugging vencord or app, always redownload Toast.makeText(activity, "Debugging app or Vencord, bundle will be redownloaded. Avoid using on limited networks", Toast.LENGTH_LONG).show() vendroidFile.delete() } diff --git a/app/src/main/java/com/nin0dev/vendroid/MainActivity.kt b/app/src/main/java/com/nin0dev/vendroid/MainActivity.kt index f6b95ca..aa30dea 100644 --- a/app/src/main/java/com/nin0dev/vendroid/MainActivity.kt +++ b/app/src/main/java/com/nin0dev/vendroid/MainActivity.kt @@ -11,7 +11,6 @@ import android.os.Bundle import android.os.StrictMode import android.os.StrictMode.ThreadPolicy import android.view.KeyEvent -import android.view.View.VISIBLE import android.view.WindowManager import android.webkit.ValueCallback import android.webkit.WebView @@ -22,7 +21,6 @@ import com.android.volley.toolbox.Volley import com.google.android.material.dialog.MaterialAlertDialogBuilder import com.nin0dev.vendroid.HttpClient.fetchVencord import com.nin0dev.vendroid.Logger.e -import pl.droidsonroids.gif.GifImageView import java.io.IOException class MainActivity : Activity() { @@ -56,13 +54,7 @@ class MainActivity : Activity() { showDiscordToast("No updates available", "MESSAGE") } }, - { error -> - if (BuildConfig.DEBUG) { - e("Network error during update check", error) - } - Toast.makeText(this, "Failed to check for updates", Toast.LENGTH_SHORT).show() - } - ) + { }) stringRequest.setShouldCache(false); queue.add(stringRequest) } @@ -80,9 +72,6 @@ class MainActivity : Activity() { // https://developer.chrome.com/docs/devtools/remote-debugging/webviews/ WebView.setWebContentsDebuggingEnabled(BuildConfig.DEBUG) setContentView(R.layout.activity_main) - if (sPrefs.getString("splash", "viggy") == "viggy") findViewById(R.id.viggy_gif).visibility = VISIBLE - else if (sPrefs.getString("splash", "viggy") == "shiggy") findViewById(R.id.shiggy_gif).visibility = VISIBLE - else if (sPrefs.getString("splash", "viggy") == "oneko") findViewById(R.id.oneko_gif).visibility = VISIBLE wv = findViewById(R.id.webview)!! explodeAndroid() wv!!.setWebViewClient(VWebviewClient()) diff --git a/app/src/main/java/com/nin0dev/vendroid/RecoveryActivity.kt b/app/src/main/java/com/nin0dev/vendroid/RecoveryActivity.kt new file mode 100644 index 0000000..8e7b2cd --- /dev/null +++ b/app/src/main/java/com/nin0dev/vendroid/RecoveryActivity.kt @@ -0,0 +1,38 @@ +package com.nin0dev.vendroid + +import android.content.Context +import android.content.Intent +import android.graphics.Color +import android.os.Bundle +import android.view.WindowManager +import android.widget.Button +import androidx.activity.enableEdgeToEdge +import androidx.appcompat.app.AppCompatActivity +import androidx.core.view.ViewCompat +import androidx.core.view.WindowInsetsCompat +import com.google.android.material.snackbar.Snackbar + +class RecoveryActivity : AppCompatActivity() { + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + + window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS) + window.statusBarColor = Color.TRANSPARENT + window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION) + window.navigationBarColor = Color.TRANSPARENT + + setContentView(R.layout.activity_recovery) + + findViewById