summaryrefslogtreecommitdiff
path: root/android
diff options
context:
space:
mode:
Diffstat (limited to 'android')
-rw-r--r--android/.idea/deploymentTargetDropDown.xml15
-rw-r--r--android/app/release/app-release.apk.zipbin0 -> 8301290 bytes
-rw-r--r--android/app/src/main/java/dev/equestria/mist/JavaScriptExtensions.kt5
-rw-r--r--android/app/src/main/java/dev/equestria/mist/MainActivity.kt93
-rw-r--r--android/app/src/main/res/drawable-anydpi/ic_next.xml15
-rw-r--r--android/app/src/main/res/drawable-anydpi/ic_pause.xml15
-rw-r--r--android/app/src/main/res/drawable-anydpi/ic_play.xml15
-rw-r--r--android/app/src/main/res/drawable-anydpi/ic_prev.xml15
-rw-r--r--android/app/src/main/res/drawable-hdpi/ic_next.pngbin0 -> 268 bytes
-rw-r--r--android/app/src/main/res/drawable-hdpi/ic_pause.pngbin0 -> 168 bytes
-rw-r--r--android/app/src/main/res/drawable-hdpi/ic_play.pngbin0 -> 272 bytes
-rw-r--r--android/app/src/main/res/drawable-hdpi/ic_prev.pngbin0 -> 284 bytes
-rw-r--r--android/app/src/main/res/drawable-mdpi/ic_next.pngbin0 -> 196 bytes
-rw-r--r--android/app/src/main/res/drawable-mdpi/ic_pause.pngbin0 -> 141 bytes
-rw-r--r--android/app/src/main/res/drawable-mdpi/ic_play.pngbin0 -> 171 bytes
-rw-r--r--android/app/src/main/res/drawable-mdpi/ic_prev.pngbin0 -> 193 bytes
-rw-r--r--android/app/src/main/res/drawable-xhdpi/ic_next.pngbin0 -> 267 bytes
-rw-r--r--android/app/src/main/res/drawable-xhdpi/ic_pause.pngbin0 -> 214 bytes
-rw-r--r--android/app/src/main/res/drawable-xhdpi/ic_play.pngbin0 -> 282 bytes
-rw-r--r--android/app/src/main/res/drawable-xhdpi/ic_prev.pngbin0 -> 295 bytes
-rw-r--r--android/app/src/main/res/drawable-xxhdpi/ic_next.pngbin0 -> 446 bytes
-rw-r--r--android/app/src/main/res/drawable-xxhdpi/ic_pause.pngbin0 -> 236 bytes
-rw-r--r--android/app/src/main/res/drawable-xxhdpi/ic_play.pngbin0 -> 376 bytes
-rw-r--r--android/app/src/main/res/drawable-xxhdpi/ic_prev.pngbin0 -> 403 bytes
24 files changed, 127 insertions, 46 deletions
diff --git a/android/.idea/deploymentTargetDropDown.xml b/android/.idea/deploymentTargetDropDown.xml
index 0c0c338..462cfeb 100644
--- a/android/.idea/deploymentTargetDropDown.xml
+++ b/android/.idea/deploymentTargetDropDown.xml
@@ -3,7 +3,20 @@
<component name="deploymentTargetDropDown">
<value>
<entry key="app">
- <State />
+ <State>
+ <targetSelectedWithDropDown>
+ <Target>
+ <type value="QUICK_BOOT_TARGET" />
+ <deviceKey>
+ <Key>
+ <type value="VIRTUAL_DEVICE_PATH" />
+ <value value="$USER_HOME$/.android/avd/Pixel_4a_API_31.avd" />
+ </Key>
+ </deviceKey>
+ </Target>
+ </targetSelectedWithDropDown>
+ <timeTargetWasSelectedWithDropDown value="2023-10-31T18:25:15.979904Z" />
+ </State>
</entry>
</value>
</component>
diff --git a/android/app/release/app-release.apk.zip b/android/app/release/app-release.apk.zip
new file mode 100644
index 0000000..aa5811b
--- /dev/null
+++ b/android/app/release/app-release.apk.zip
Binary files differ
diff --git a/android/app/src/main/java/dev/equestria/mist/JavaScriptExtensions.kt b/android/app/src/main/java/dev/equestria/mist/JavaScriptExtensions.kt
index 62c3b03..294e80f 100644
--- a/android/app/src/main/java/dev/equestria/mist/JavaScriptExtensions.kt
+++ b/android/app/src/main/java/dev/equestria/mist/JavaScriptExtensions.kt
@@ -2,6 +2,7 @@ package dev.equestria.mist
import android.Manifest
import android.annotation.SuppressLint
+import android.app.PendingIntent
import android.content.Context
import android.content.Intent
import android.content.pm.PackageManager
@@ -148,7 +149,11 @@ class JavaScriptExtensions(originalActivity: MainActivity, private val window: W
session.setCallback(callback)
session.setMetadata(builder.build())
session.setPlaybackState(playbackStateBuilder.build())
+
style.setMediaSession(session.sessionToken)
+
+ notificationBuilder.setContentTitle(title)
+ notificationBuilder.setContentText("$artist - $album")
notificationBuilder.setStyle(style)
val notification = notificationBuilder.build()
diff --git a/android/app/src/main/java/dev/equestria/mist/MainActivity.kt b/android/app/src/main/java/dev/equestria/mist/MainActivity.kt
index 930d309..78807c2 100644
--- a/android/app/src/main/java/dev/equestria/mist/MainActivity.kt
+++ b/android/app/src/main/java/dev/equestria/mist/MainActivity.kt
@@ -48,6 +48,7 @@ import dev.equestria.mist.ui.theme.MistTheme
class MainActivity : ComponentActivity() {
private lateinit var intent: Intent
+ lateinit var webview: WebView
@OptIn(ExperimentalMaterial3Api::class)
fun showError() {
@@ -101,7 +102,7 @@ class MainActivity : ComponentActivity() {
}
}
- val channel = NotificationChannel("main", "Playback", NotificationManager.IMPORTANCE_DEFAULT).apply {}
+ val channel = NotificationChannel("main", "Playback", NotificationManager.IMPORTANCE_LOW).apply {}
val notificationManager: NotificationManager =
getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager
notificationManager.createNotificationChannel(channel)
@@ -155,50 +156,52 @@ class MainActivity : ComponentActivity() {
Log.d("StatusBarHeight", getStatusBarHeight(this).toString())
Log.d("NavigationBarHeight", getNavigationBarHeight(this).toString())
}
-}
-
-@SuppressLint("SetJavaScriptEnabled")
-@Composable
-fun WebViewContainer(activity: MainActivity, intent: Intent) {
- val mUrl = "https://mist.equestria.horse/app/"
-
- AndroidView(factory = {
- WebView(it).apply {
- layoutParams = ViewGroup.LayoutParams(
- ViewGroup.LayoutParams.MATCH_PARENT,
- ViewGroup.LayoutParams.MATCH_PARENT
- )
-
- clearCache(true)
- clearHistory()
- webViewClient = WebViewClient()
-
- settings.domStorageEnabled = true
- settings.javaScriptEnabled = true
- settings.safeBrowsingEnabled = false
- settings.mediaPlaybackRequiresUserGesture = false
- settings.userAgentString += " MistAndroid/" + BuildConfig.VERSION_NAME
- settings.cacheMode = WebSettings.LOAD_NO_CACHE
-
- settings.setSupportMultipleWindows(true)
- webChromeClient = object : WebChromeClient() {
- override fun onCreateWindow(
- view: WebView,
- dialog: Boolean,
- userGesture: Boolean,
- resultMsg: Message
- ): Boolean {
- val result = view.hitTestResult
- val data = result.extra
- val context = view.context
- val browserIntent = Intent(Intent.ACTION_VIEW, Uri.parse(data))
- context.startActivity(browserIntent)
- return false
+
+ @SuppressLint("SetJavaScriptEnabled")
+ @Composable
+ fun WebViewContainer(activity: MainActivity, intent: Intent) {
+ val mUrl = "https://mist.equestria.horse/app/"
+
+ AndroidView(factory = {
+ WebView(it).apply {
+ webview = this
+
+ layoutParams = ViewGroup.LayoutParams(
+ ViewGroup.LayoutParams.MATCH_PARENT,
+ ViewGroup.LayoutParams.MATCH_PARENT
+ )
+
+ clearCache(true)
+ clearHistory()
+ webViewClient = WebViewClient()
+
+ settings.domStorageEnabled = true
+ settings.javaScriptEnabled = true
+ settings.safeBrowsingEnabled = false
+ settings.mediaPlaybackRequiresUserGesture = false
+ settings.userAgentString += " MistAndroid/" + BuildConfig.VERSION_NAME
+ settings.cacheMode = WebSettings.LOAD_NO_CACHE
+
+ settings.setSupportMultipleWindows(true)
+ webChromeClient = object : WebChromeClient() {
+ override fun onCreateWindow(
+ view: WebView,
+ dialog: Boolean,
+ userGesture: Boolean,
+ resultMsg: Message
+ ): Boolean {
+ val result = view.hitTestResult
+ val data = result.extra
+ val context = view.context
+ val browserIntent = Intent(Intent.ACTION_VIEW, Uri.parse(data))
+ context.startActivity(browserIntent)
+ return false
+ }
}
- }
- addJavascriptInterface(JavaScriptExtensions(activity, activity.window, this, intent), "MistAndroid")
- loadUrl(mUrl)
- }
- })
+ addJavascriptInterface(JavaScriptExtensions(activity, activity.window, this, intent), "MistAndroid")
+ loadUrl(mUrl)
+ }
+ })
+ }
} \ No newline at end of file
diff --git a/android/app/src/main/res/drawable-anydpi/ic_next.xml b/android/app/src/main/res/drawable-anydpi/ic_next.xml
new file mode 100644
index 0000000..76ce9be
--- /dev/null
+++ b/android/app/src/main/res/drawable-anydpi/ic_next.xml
@@ -0,0 +1,15 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="24dp"
+ android:height="24dp"
+ android:viewportWidth="24"
+ android:viewportHeight="24"
+ android:tint="#FFFFFF">
+ <group android:scaleX="0.92"
+ android:scaleY="0.92"
+ android:translateX="0.96"
+ android:translateY="0.96">
+ <path
+ android:pathData="M6,18l8.5,-6L6,6v12zM16,6v12h2V6h-2z"
+ android:fillColor="#000000"/>
+ </group>
+</vector>
diff --git a/android/app/src/main/res/drawable-anydpi/ic_pause.xml b/android/app/src/main/res/drawable-anydpi/ic_pause.xml
new file mode 100644
index 0000000..7a6a35e
--- /dev/null
+++ b/android/app/src/main/res/drawable-anydpi/ic_pause.xml
@@ -0,0 +1,15 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="24dp"
+ android:height="24dp"
+ android:viewportWidth="24"
+ android:viewportHeight="24"
+ android:tint="#FFFFFF">
+ <group android:scaleX="0.92"
+ android:scaleY="0.92"
+ android:translateX="0.96"
+ android:translateY="0.96">
+ <path
+ android:pathData="M6,19h4L10,5L6,5v14zM14,5v14h4L18,5h-4z"
+ android:fillColor="#000000"/>
+ </group>
+</vector>
diff --git a/android/app/src/main/res/drawable-anydpi/ic_play.xml b/android/app/src/main/res/drawable-anydpi/ic_play.xml
new file mode 100644
index 0000000..5abab06
--- /dev/null
+++ b/android/app/src/main/res/drawable-anydpi/ic_play.xml
@@ -0,0 +1,15 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="24dp"
+ android:height="24dp"
+ android:viewportWidth="24"
+ android:viewportHeight="24"
+ android:tint="#FFFFFF">
+ <group android:scaleX="0.92"
+ android:scaleY="0.92"
+ android:translateX="0.96"
+ android:translateY="0.96">
+ <path
+ android:pathData="M8,5v14l11,-7z"
+ android:fillColor="#000000"/>
+ </group>
+</vector>
diff --git a/android/app/src/main/res/drawable-anydpi/ic_prev.xml b/android/app/src/main/res/drawable-anydpi/ic_prev.xml
new file mode 100644
index 0000000..99bbfd4
--- /dev/null
+++ b/android/app/src/main/res/drawable-anydpi/ic_prev.xml
@@ -0,0 +1,15 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="24dp"
+ android:height="24dp"
+ android:viewportWidth="24"
+ android:viewportHeight="24"
+ android:tint="#FFFFFF">
+ <group android:scaleX="0.92"
+ android:scaleY="0.92"
+ android:translateX="0.96"
+ android:translateY="0.96">
+ <path
+ android:pathData="M6,6h2v12L6,18zM9.5,12l8.5,6L18,6z"
+ android:fillColor="#000000"/>
+ </group>
+</vector>
diff --git a/android/app/src/main/res/drawable-hdpi/ic_next.png b/android/app/src/main/res/drawable-hdpi/ic_next.png
new file mode 100644
index 0000000..0c73200
--- /dev/null
+++ b/android/app/src/main/res/drawable-hdpi/ic_next.png
Binary files differ
diff --git a/android/app/src/main/res/drawable-hdpi/ic_pause.png b/android/app/src/main/res/drawable-hdpi/ic_pause.png
new file mode 100644
index 0000000..0b92c70
--- /dev/null
+++ b/android/app/src/main/res/drawable-hdpi/ic_pause.png
Binary files differ
diff --git a/android/app/src/main/res/drawable-hdpi/ic_play.png b/android/app/src/main/res/drawable-hdpi/ic_play.png
new file mode 100644
index 0000000..440eb34
--- /dev/null
+++ b/android/app/src/main/res/drawable-hdpi/ic_play.png
Binary files differ
diff --git a/android/app/src/main/res/drawable-hdpi/ic_prev.png b/android/app/src/main/res/drawable-hdpi/ic_prev.png
new file mode 100644
index 0000000..08de7d2
--- /dev/null
+++ b/android/app/src/main/res/drawable-hdpi/ic_prev.png
Binary files differ
diff --git a/android/app/src/main/res/drawable-mdpi/ic_next.png b/android/app/src/main/res/drawable-mdpi/ic_next.png
new file mode 100644
index 0000000..116f916
--- /dev/null
+++ b/android/app/src/main/res/drawable-mdpi/ic_next.png
Binary files differ
diff --git a/android/app/src/main/res/drawable-mdpi/ic_pause.png b/android/app/src/main/res/drawable-mdpi/ic_pause.png
new file mode 100644
index 0000000..c674ea9
--- /dev/null
+++ b/android/app/src/main/res/drawable-mdpi/ic_pause.png
Binary files differ
diff --git a/android/app/src/main/res/drawable-mdpi/ic_play.png b/android/app/src/main/res/drawable-mdpi/ic_play.png
new file mode 100644
index 0000000..9611b5f
--- /dev/null
+++ b/android/app/src/main/res/drawable-mdpi/ic_play.png
Binary files differ
diff --git a/android/app/src/main/res/drawable-mdpi/ic_prev.png b/android/app/src/main/res/drawable-mdpi/ic_prev.png
new file mode 100644
index 0000000..0134f9a
--- /dev/null
+++ b/android/app/src/main/res/drawable-mdpi/ic_prev.png
Binary files differ
diff --git a/android/app/src/main/res/drawable-xhdpi/ic_next.png b/android/app/src/main/res/drawable-xhdpi/ic_next.png
new file mode 100644
index 0000000..99766cd
--- /dev/null
+++ b/android/app/src/main/res/drawable-xhdpi/ic_next.png
Binary files differ
diff --git a/android/app/src/main/res/drawable-xhdpi/ic_pause.png b/android/app/src/main/res/drawable-xhdpi/ic_pause.png
new file mode 100644
index 0000000..70c6e09
--- /dev/null
+++ b/android/app/src/main/res/drawable-xhdpi/ic_pause.png
Binary files differ
diff --git a/android/app/src/main/res/drawable-xhdpi/ic_play.png b/android/app/src/main/res/drawable-xhdpi/ic_play.png
new file mode 100644
index 0000000..1689d6c
--- /dev/null
+++ b/android/app/src/main/res/drawable-xhdpi/ic_play.png
Binary files differ
diff --git a/android/app/src/main/res/drawable-xhdpi/ic_prev.png b/android/app/src/main/res/drawable-xhdpi/ic_prev.png
new file mode 100644
index 0000000..56d6889
--- /dev/null
+++ b/android/app/src/main/res/drawable-xhdpi/ic_prev.png
Binary files differ
diff --git a/android/app/src/main/res/drawable-xxhdpi/ic_next.png b/android/app/src/main/res/drawable-xxhdpi/ic_next.png
new file mode 100644
index 0000000..966db87
--- /dev/null
+++ b/android/app/src/main/res/drawable-xxhdpi/ic_next.png
Binary files differ
diff --git a/android/app/src/main/res/drawable-xxhdpi/ic_pause.png b/android/app/src/main/res/drawable-xxhdpi/ic_pause.png
new file mode 100644
index 0000000..dd66a4c
--- /dev/null
+++ b/android/app/src/main/res/drawable-xxhdpi/ic_pause.png
Binary files differ
diff --git a/android/app/src/main/res/drawable-xxhdpi/ic_play.png b/android/app/src/main/res/drawable-xxhdpi/ic_play.png
new file mode 100644
index 0000000..3dcf46a
--- /dev/null
+++ b/android/app/src/main/res/drawable-xxhdpi/ic_play.png
Binary files differ
diff --git a/android/app/src/main/res/drawable-xxhdpi/ic_prev.png b/android/app/src/main/res/drawable-xxhdpi/ic_prev.png
new file mode 100644
index 0000000..9555f28
--- /dev/null
+++ b/android/app/src/main/res/drawable-xxhdpi/ic_prev.png
Binary files differ