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