summaryrefslogtreecommitdiff
path: root/Source/Android/app/src/main/java/org
diff options
context:
space:
mode:
authorJosJuice <josjuice@gmail.com>2023-02-27 22:04:42 +0100
committerJosJuice <josjuice@gmail.com>2023-03-02 18:25:10 +0100
commit96deb2d8971fd5c9d0644bc0fae9155334c76153 (patch)
tree6745f065d17d17edb8d0b29d1950237448d96dab /Source/Android/app/src/main/java/org
parentb827b155a0ac3c29c2f916fd6f3c39f2b54defbc (diff)
Android: Hide controller mappings button when controller type is None
Also removed the make_sure_continuous_scan_enabled message. It doesn't make sense with the new UX.
Diffstat (limited to 'Source/Android/app/src/main/java/org')
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsActivity.java6
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsActivityPresenter.java37
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsActivityView.java13
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsAdapter.java5
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragment.java5
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentView.java13
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/viewholder/SingleChoiceViewHolder.java3
7 files changed, 68 insertions, 14 deletions
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsActivity.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsActivity.java
index 99ec999f39..2af17e2d2f 100644
--- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsActivity.java
+++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsActivity.java
@@ -311,6 +311,12 @@ public final class SettingsActivity extends AppCompatActivity implements Setting
}
@Override
+ public boolean hasMenuTagActionForValue(@NonNull MenuTag menuTag, int value)
+ {
+ return mPresenter.hasMenuTagActionForValue(menuTag, value);
+ }
+
+ @Override
public boolean onSupportNavigateUp()
{
onBackPressed();
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsActivityPresenter.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsActivityPresenter.java
index 8bc2e2141f..cc235b9863 100644
--- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsActivityPresenter.java
+++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsActivityPresenter.java
@@ -153,21 +153,15 @@ public final class SettingsActivityPresenter
if (menuTag.isWiimoteMenu())
{
- switch (value)
+ if (value == 1) // Emulated Wii Remote
{
- case 1:
- mView.showSettingsFragment(menuTag, null, true, mGameId);
- break;
-
- case 2:
- mView.showToastMessage(mActivity.getString(R.string.make_sure_continuous_scan_enabled));
- break;
+ mView.showSettingsFragment(menuTag, null, true, mGameId);
}
}
if (menuTag.isWiimoteExtensionMenu())
{
- if (value != 0) // None
+ if (value != 0) // Not disabled
{
Bundle bundle = new Bundle();
bundle.putInt(SettingsFragmentPresenter.ARG_CONTROLLER_TYPE, value);
@@ -175,4 +169,29 @@ public final class SettingsActivityPresenter
}
}
}
+
+ public boolean hasMenuTagActionForValue(@NonNull MenuTag menuTag, int value)
+ {
+ if (menuTag.isSerialPort1Menu())
+ {
+ return (value != 0 && value != 255); // Not disabled or dummy
+ }
+
+ if (menuTag.isGCPadMenu())
+ {
+ return (value != 0); // Not disabled
+ }
+
+ if (menuTag.isWiimoteMenu())
+ {
+ return (value == 1); // Emulated Wii Remote
+ }
+
+ if (menuTag.isWiimoteExtensionMenu())
+ {
+ return (value != 0); // Not disabled
+ }
+
+ return false;
+ }
}
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsActivityView.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsActivityView.java
index cb0c23f7be..c835aa4399 100644
--- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsActivityView.java
+++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsActivityView.java
@@ -64,12 +64,21 @@ public interface SettingsActivityView
* Called by a containing Fragment to tell the containing Activity that the user wants to open the
* MenuTag associated with a setting.
*
- * @param menuTag The MenuTag to open.
- * @param value The current value of the associated setting.
+ * @param menuTag The MenuTag of the setting.
+ * @param value The current value of the setting.
*/
void onMenuTagAction(@NonNull MenuTag menuTag, int value);
/**
+ * Returns whether anything will happen when the user wants to open the MenuTag associated with a
+ * setting, given the current value of the setting.
+ *
+ * @param menuTag The MenuTag of the setting.
+ * @param value The current value of the setting.
+ */
+ boolean hasMenuTagActionForValue(@NonNull MenuTag menuTag, int value);
+
+ /**
* Show loading dialog while loading the settings
*/
void showLoading();
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsAdapter.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsAdapter.java
index cc9bf8f85e..a7f028afe3 100644
--- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsAdapter.java
+++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsAdapter.java
@@ -472,6 +472,11 @@ public final class SettingsAdapter extends RecyclerView.Adapter<SettingViewHolde
mView.onMenuTagAction(menuTag, value);
}
+ public boolean hasMenuTagActionForValue(@NonNull MenuTag menuTag, int value)
+ {
+ return mView.hasMenuTagActionForValue(menuTag, value);
+ }
+
@Override
public void onClick(DialogInterface dialog, int which)
{
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragment.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragment.java
index c9a9040b2e..00699e3a0c 100644
--- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragment.java
+++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragment.java
@@ -231,6 +231,11 @@ public final class SettingsFragment extends Fragment implements SettingsFragment
mActivity.onMenuTagAction(menuTag, value);
}
+ public boolean hasMenuTagActionForValue(@NonNull MenuTag menuTag, int value)
+ {
+ return mActivity.hasMenuTagActionForValue(menuTag, value);
+ }
+
private void setInsets()
{
ViewCompat.setOnApplyWindowInsetsListener(mBinding.listSettings, (v, windowInsets) ->
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentView.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentView.java
index 7deeead9d2..295ff95abd 100644
--- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentView.java
+++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentView.java
@@ -76,8 +76,17 @@ public interface SettingsFragmentView
* Have the fragment tell the containing Activity that the user wants to open the MenuTag
* associated with a setting.
*
- * @param menuTag The MenuTag to open.
- * @param value The current value of the associated setting.
+ * @param menuTag The MenuTag of the setting.
+ * @param value The current value of the setting.
*/
void onMenuTagAction(@NonNull MenuTag menuTag, int value);
+
+ /**
+ * Returns whether anything will happen when the user wants to open the MenuTag associated with a
+ * setting, given the current value of the setting.
+ *
+ * @param menuTag The MenuTag of the setting.
+ * @param value The current value of the setting.
+ */
+ boolean hasMenuTagActionForValue(@NonNull MenuTag menuTag, int value);
}
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/viewholder/SingleChoiceViewHolder.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/viewholder/SingleChoiceViewHolder.java
index 462ed4bb53..db56ebea40 100644
--- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/viewholder/SingleChoiceViewHolder.java
+++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/viewholder/SingleChoiceViewHolder.java
@@ -101,7 +101,8 @@ public final class SingleChoiceViewHolder extends SettingViewHolder
getSelectedValue = setting::getSelectedValueIndex;
}
- if (menuTag != null)
+ if (menuTag != null &&
+ adapter.hasMenuTagActionForValue(menuTag, getSelectedValue.apply(settings)))
{
mBinding.buttonMoreSettings.setVisibility(View.VISIBLE);