summaryrefslogtreecommitdiff
path: root/Source/Android
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Android')
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/NativeLibrary.kt3
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/activities/EmulationActivity.kt2
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/adapters/SettingsRowPresenter.kt10
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentPresenter.kt2
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/fragments/EmulationFragment.kt5
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/fragments/MenuFragment.kt2
-rw-r--r--Source/Android/app/src/main/res/layout/activity_settings.xml7
-rw-r--r--Source/Android/app/src/main/res/layout/fragment_ingame_menu.xml5
-rw-r--r--Source/Android/app/src/main/res/values/dimens.xml2
-rw-r--r--Source/Android/app/src/main/res/values/strings.xml1
-rw-r--r--Source/Android/jni/MainAndroid.cpp6
11 files changed, 40 insertions, 5 deletions
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/NativeLibrary.kt b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/NativeLibrary.kt
index b52b7b4fa4..e0ada502cc 100644
--- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/NativeLibrary.kt
+++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/NativeLibrary.kt
@@ -367,6 +367,9 @@ object NativeLibrary {
external fun PauseEmulation(overrideAchievementRestrictions: Boolean)
@JvmStatic
+ external fun ResetEmulation()
+
+ @JvmStatic
external fun StopEmulation()
/**
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/activities/EmulationActivity.kt b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/activities/EmulationActivity.kt
index 23ffe96cd6..2761c4b4e9 100644
--- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/activities/EmulationActivity.kt
+++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/activities/EmulationActivity.kt
@@ -525,6 +525,7 @@ class EmulationActivity : AppCompatActivity(), ThemeProvider {
MENU_ACTION_SKYLANDERS -> showSkylanderPortalSettings()
MENU_ACTION_INFINITY_BASE -> showInfinityBaseSettings()
MENU_ACTION_EXIT -> emulationFragment!!.stopEmulation()
+ MENU_ACTION_RESET -> emulationFragment!!.resetEmulation()
}
}
@@ -1084,6 +1085,7 @@ class EmulationActivity : AppCompatActivity(), ThemeProvider {
const val MENU_ACTION_SKYLANDERS = 36
const val MENU_ACTION_INFINITY_BASE = 37
const val MENU_ACTION_LATCHING_CONTROLS = 38
+ const val MENU_ACTION_RESET = 39;
init {
buttonsActionsMap.apply {
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/adapters/SettingsRowPresenter.kt b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/adapters/SettingsRowPresenter.kt
index f67a23e2da..eabfb75f82 100644
--- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/adapters/SettingsRowPresenter.kt
+++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/adapters/SettingsRowPresenter.kt
@@ -3,6 +3,7 @@
package org.dolphinemu.dolphinemu.adapters
import android.view.ViewGroup
+import android.widget.TextView
import androidx.core.content.ContextCompat
import androidx.leanback.widget.ImageCardView
import androidx.leanback.widget.Presenter
@@ -16,9 +17,16 @@ class SettingsRowPresenter : Presenter() {
val settingsCard = ImageCardView(parent.context)
settingsCard.apply {
setMainImageAdjustViewBounds(true)
- setMainImageDimensions(192, 160)
+ setMainImageDimensions(
+ resources.getDimensionPixelSize(R.dimen.tv_settings_card_width),
+ resources.getDimensionPixelSize(R.dimen.tv_settings_card_height)
+ )
isFocusable = true
isFocusableInTouchMode = true
+ findViewById<TextView>(R.id.title_text).apply {
+ minLines = 2
+ maxLines = 2
+ }
}
// Use that view to create a ViewHolder.
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentPresenter.kt b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentPresenter.kt
index 210a34b23f..8a46a698ce 100644
--- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentPresenter.kt
+++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentPresenter.kt
@@ -1359,7 +1359,7 @@ class SettingsFragmentPresenter(
)
sl.add(
IntSliderSetting(
- context, mem2Size, R.string.main_mem2_size, 0, 64, 128, "MB", 1
+ context, mem2Size, R.string.main_mem2_size, 0, 64, 256, "MB", 1
)
)
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/fragments/EmulationFragment.kt b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/fragments/EmulationFragment.kt
index a005995bdb..a0215d4cd8 100644
--- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/fragments/EmulationFragment.kt
+++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/fragments/EmulationFragment.kt
@@ -165,6 +165,11 @@ class EmulationFragment : Fragment(), SurfaceHolder.Callback {
runWhenSurfaceIsValid = true
}
+ fun resetEmulation() {
+ Log.debug("[EmulationFragment] Resetting emulation.")
+ NativeLibrary.ResetEmulation()
+ }
+
fun stopEmulation() {
Log.debug("[EmulationFragment] Stopping emulation.")
NativeLibrary.StopEmulation()
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/fragments/MenuFragment.kt b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/fragments/MenuFragment.kt
index 6bf9c7c147..ee4bb50e3f 100644
--- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/fragments/MenuFragment.kt
+++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/fragments/MenuFragment.kt
@@ -76,6 +76,7 @@ class MenuFragment : Fragment(), View.OnClickListener {
button.setOnClickListener(this)
}
+ binding.menuReset.setOnClickListener(this)
binding.menuExit.setOnClickListener(this)
val title = requireArguments().getString(KEY_TITLE, null)
@@ -199,6 +200,7 @@ class MenuFragment : Fragment(), View.OnClickListener {
EmulationActivity.MENU_ACTION_CHANGE_DISC
)
buttonsActionsMap.append(R.id.menu_exit, EmulationActivity.MENU_ACTION_EXIT)
+ buttonsActionsMap.append(R.id.menu_reset, EmulationActivity.MENU_ACTION_RESET)
buttonsActionsMap.append(R.id.menu_settings, EmulationActivity.MENU_ACTION_SETTINGS)
buttonsActionsMap.append(R.id.menu_skylanders, EmulationActivity.MENU_ACTION_SKYLANDERS)
buttonsActionsMap.append(
diff --git a/Source/Android/app/src/main/res/layout/activity_settings.xml b/Source/Android/app/src/main/res/layout/activity_settings.xml
index fbecfd3886..b4226e3d9f 100644
--- a/Source/Android/app/src/main/res/layout/activity_settings.xml
+++ b/Source/Android/app/src/main/res/layout/activity_settings.xml
@@ -140,10 +140,11 @@
</com.google.android.material.appbar.MaterialToolbar>
- <View
+ <com.google.android.material.divider.MaterialDivider
android:layout_width="match_parent"
- android:layout_height="1dp"
- android:background="@color/settings_search_outline" />
+ android:layout_height="wrap_content"
+ app:dividerColor="@color/settings_search_outline"
+ app:dividerThickness="1dp" />
</LinearLayout>
diff --git a/Source/Android/app/src/main/res/layout/fragment_ingame_menu.xml b/Source/Android/app/src/main/res/layout/fragment_ingame_menu.xml
index 446706b821..39d992061e 100644
--- a/Source/Android/app/src/main/res/layout/fragment_ingame_menu.xml
+++ b/Source/Android/app/src/main/res/layout/fragment_ingame_menu.xml
@@ -111,6 +111,11 @@
android:text="@string/emulate_infinity_base"
style="@style/InGameMenuOption" />
+ <Button
+ android:id="@+id/menu_reset"
+ style="@style/InGameMenuOption"
+ android:text="@string/emulation_reset" />
+
</LinearLayout>
</ScrollView>
diff --git a/Source/Android/app/src/main/res/values/dimens.xml b/Source/Android/app/src/main/res/values/dimens.xml
index f10f34e81a..882f891bab 100644
--- a/Source/Android/app/src/main/res/values/dimens.xml
+++ b/Source/Android/app/src/main/res/values/dimens.xml
@@ -7,6 +7,8 @@
<dimen name="spacing_fab">72dp</dimen>
<dimen name="menu_width">256dp</dimen>
<dimen name="card_width">135dp</dimen>
+ <dimen name="tv_settings_card_width">120dp</dimen>
+ <dimen name="tv_settings_card_height">80dp</dimen>
<dimen name="elevated_app_bar">3dp</dimen>
</resources>
diff --git a/Source/Android/app/src/main/res/values/strings.xml b/Source/Android/app/src/main/res/values/strings.xml
index 2204f4380f..994d882674 100644
--- a/Source/Android/app/src/main/res/values/strings.xml
+++ b/Source/Android/app/src/main/res/values/strings.xml
@@ -630,6 +630,7 @@ It can efficiently compress both junk data and encrypted Wii data.
<string name="emulation_screenshot">Take Screenshot</string>
<string name="emulation_savestate">Save State</string>
<string name="emulation_loadstate">Load State</string>
+ <string name="emulation_reset">Reset Emulation</string>
<string name="emulation_exit">Exit Emulation</string>
<string name="emulation_state_slot">Slot %1$d\n\n%2$s</string>
<string name="emulation_state_slot_empty">Slot %1$d\n\nEmpty</string>
diff --git a/Source/Android/jni/MainAndroid.cpp b/Source/Android/jni/MainAndroid.cpp
index bbf65230f2..4806c9a2ff 100644
--- a/Source/Android/jni/MainAndroid.cpp
+++ b/Source/Android/jni/MainAndroid.cpp
@@ -42,6 +42,7 @@
#include "Core/Core.h"
#include "Core/DolphinAnalytics.h"
#include "Core/HW/DVD/DVDInterface.h"
+#include "Core/HW/ProcessorInterface.h"
#include "Core/HW/Wiimote.h"
#include "Core/HW/WiimoteReal/WiimoteReal.h"
#include "Core/Host.h"
@@ -251,6 +252,11 @@ JNIEXPORT void JNICALL Java_org_dolphinemu_dolphinemu_NativeLibrary_PauseEmulati
override_achievement_restrictions);
}
+JNIEXPORT void JNICALL Java_org_dolphinemu_dolphinemu_NativeLibrary_ResetEmulation(JNIEnv*, jclass)
+{
+ Core::System::GetInstance().GetProcessorInterface().ResetButton_Tap();
+}
+
JNIEXPORT void JNICALL Java_org_dolphinemu_dolphinemu_NativeLibrary_StopEmulation(JNIEnv*, jclass)
{
Core::Stop(Core::System::GetInstance());