diff --git a/.gitignore b/.gitignore
index aa724b7..878c2cd 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,12 +1,7 @@
*.iml
.gradle
/local.properties
-/.idea/caches
-/.idea/libraries
-/.idea/modules.xml
-/.idea/workspace.xml
-/.idea/navEditor.xml
-/.idea/assetWizardSettings.xml
+.idea
.DS_Store
/build
/captures
diff --git a/.idea/.gitignore b/.idea/.gitignore
deleted file mode 100644
index 26d3352..0000000
--- a/.idea/.gitignore
+++ /dev/null
@@ -1,3 +0,0 @@
-# Default ignored files
-/shelf/
-/workspace.xml
diff --git a/.idea/.name b/.idea/.name
deleted file mode 100644
index 3951b24..0000000
--- a/.idea/.name
+++ /dev/null
@@ -1 +0,0 @@
-VencordMobile
\ No newline at end of file
diff --git a/.idea/compiler.xml b/.idea/compiler.xml
deleted file mode 100644
index fb7f4a8..0000000
--- a/.idea/compiler.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/discord.xml b/.idea/discord.xml
deleted file mode 100644
index 30bab2a..0000000
--- a/.idea/discord.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/gradle.xml b/.idea/gradle.xml
deleted file mode 100644
index a0de2a1..0000000
--- a/.idea/gradle.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
deleted file mode 100644
index 5c9f89f..0000000
--- a/.idea/misc.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
deleted file mode 100644
index 94a25f7..0000000
--- a/.idea/vcs.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index e852452..eaf0b26 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -15,11 +15,23 @@
+ android:configChanges="orientation|keyboardHidden|screenSize|layoutDirection"
+ android:launchMode="singleTask">
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/java/dev/vendicated/vencord/MainActivity.java b/app/src/main/java/dev/vendicated/vencord/MainActivity.java
index ece5a12..480e838 100644
--- a/app/src/main/java/dev/vendicated/vencord/MainActivity.java
+++ b/app/src/main/java/dev/vendicated/vencord/MainActivity.java
@@ -11,9 +11,11 @@ import android.webkit.ValueCallback;
import android.webkit.WebView;
import java.io.IOException;
+import java.util.Objects;
public class MainActivity extends Activity {
public static final int FILECHOOSER_RESULTCODE = 8485;
+ private boolean wvInitialized = false;
private WebView wv;
public ValueCallback filePathCallback;
@@ -49,7 +51,15 @@ public class MainActivity extends Activity {
return;
}
- wv.loadUrl("https://discord.com/app");
+ Intent intent = getIntent();
+ if (Objects.equals(intent.getAction(), Intent.ACTION_VIEW)) {
+ Uri data = intent.getData();
+ if (data != null) handleUrl(intent.getData());
+ } else {
+ wv.loadUrl("https://discord.com/app");
+ }
+
+ wvInitialized = true;
}
@Override
@@ -98,4 +108,24 @@ public class MainActivity extends Activity {
.build()
);
}
+
+ public void handleUrl(Uri url) {
+ if (url != null) {
+ if (!url.getAuthority().contains("discord")) return;
+ if (!wvInitialized) {
+ wv.loadUrl(url.toString());
+ } else {
+ wv.evaluateJavascript("Vencord.Webpack.Common.NavigationRouter.transitionTo(\"" + url.getPath() + "\")", (result) -> {
+ });
+ }
+ }
+ }
+
+ @Override
+ protected void onNewIntent(Intent intent) {
+ super.onNewIntent(intent);
+ Uri data = intent.getData();
+ if (data != null) handleUrl(data);
+ }
+
}