diff --git a/android/app/src/main/java/com/izzy2lost/super3/MainActivity.kt b/android/app/src/main/java/com/izzy2lost/super3/MainActivity.kt
index b32b379..f0b868b 100644
--- a/android/app/src/main/java/com/izzy2lost/super3/MainActivity.kt
+++ b/android/app/src/main/java/com/izzy2lost/super3/MainActivity.kt
@@ -3,6 +3,8 @@ package com.izzy2lost.super3
import android.content.Intent
import android.net.Uri
import android.os.Bundle
+import android.text.method.LinkMovementMethod
+import android.text.util.Linkify
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
@@ -40,6 +42,7 @@ class MainActivity : AppCompatActivity() {
private lateinit var searchBar: SearchBar
private lateinit var searchView: SearchView
private lateinit var btnViewMode: ImageButton
+ private lateinit var btnAbout: MaterialButton
private lateinit var gamesFolderText: TextView
private lateinit var userFolderText: TextView
@@ -130,6 +133,7 @@ class MainActivity : AppCompatActivity() {
// Get views from the navigation header
val headerView = navigationView.getHeaderView(0)
+ btnAbout = headerView.findViewById(R.id.btn_about)
gamesFolderText = headerView.findViewById(R.id.games_folder_text)
userFolderText = headerView.findViewById(R.id.user_folder_text)
statusText = headerView.findViewById(R.id.status_text)
@@ -159,6 +163,11 @@ class MainActivity : AppCompatActivity() {
drawerLayout.openDrawer(GravityCompat.START)
}
+ btnAbout.setOnClickListener {
+ drawerLayout.closeDrawer(GravityCompat.START)
+ showAboutDialog()
+ }
+
btnPickGamesFolder.setOnClickListener { pickGamesFolder.launch(null) }
btnPickUserFolder.setOnClickListener { pickUserFolder.launch(null) }
btnRescan.setOnClickListener { refreshUi() }
@@ -233,6 +242,38 @@ class MainActivity : AppCompatActivity() {
refreshUi()
}
+ private fun showAboutDialog() {
+ val view = layoutInflater.inflate(R.layout.dialog_about, null)
+ val aboutText: TextView = view.findViewById(R.id.about_text)
+ aboutText.text =
+ """
+ SUPER3 is an open-source Sega Model 3 emulator for Android.
+
+ Sources used:
+ https://github.com/trzy/Supermodel
+ https://github.com/DirtBagXon/model3emu-code-sinden/tree/arm
+
+ License (GPLv3):
+ https://www.gnu.org/licenses/gpl-3.0.en.html
+
+ App source code:
+ https://github.com/izzy2lost/Super3
+
+ Disclaimers:
+ - No games/ROMs/BIOS included.
+ - Not affiliated with or endorsed by SEGA.
+ """.trimIndent()
+
+ Linkify.addLinks(aboutText, Linkify.WEB_URLS)
+ aboutText.movementMethod = LinkMovementMethod.getInstance()
+
+ MaterialAlertDialogBuilder(this)
+ .setTitle(R.string.about_title)
+ .setView(view)
+ .setPositiveButton(android.R.string.ok, null)
+ .show()
+ }
+
override fun onResume() {
super.onResume()
applyImmersiveMode()
diff --git a/android/app/src/main/res/layout/dialog_about.xml b/android/app/src/main/res/layout/dialog_about.xml
new file mode 100644
index 0000000..e310cbd
--- /dev/null
+++ b/android/app/src/main/res/layout/dialog_about.xml
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/android/app/src/main/res/layout/nav_header.xml b/android/app/src/main/res/layout/nav_header.xml
index 7d1b10f..b58e0ea 100644
--- a/android/app/src/main/res/layout/nav_header.xml
+++ b/android/app/src/main/res/layout/nav_header.xml
@@ -157,5 +157,13 @@
android:textColor="?attr/colorOnPrimary"
android:visibility="gone" />
+
+
diff --git a/android/app/src/main/res/values/strings.xml b/android/app/src/main/res/values/strings.xml
index 84d273a..a4e7f8e 100644
--- a/android/app/src/main/res/values/strings.xml
+++ b/android/app/src/main/res/values/strings.xml
@@ -1,5 +1,7 @@
SUPER3
+ About
+ About SUPER3
Save state
Exit game
Save states