summaryrefslogtreecommitdiff
path: root/Source/Android/app/src/main/java
diff options
context:
space:
mode:
authorLéo Lam <leo@leolam.fr>2020-10-20 13:31:01 +0200
committerGitHub <noreply@github.com>2020-10-20 13:31:01 +0200
commit2e86e1a9989340a41388e48d04ca9acd31e0b0d0 (patch)
tree8a626dd39a90bbd748d82730e363851ac8823c6f /Source/Android/app/src/main/java
parent49b7f10b39816649dc5a5c3e0d559d96dbb6c0ba (diff)
parent6380c65ff858c9147e5f7d7da21219db52853682 (diff)
Merge pull request #9146 from JosJuice/android-disable-cover-download
Android: Allow disabling cover downloading
Diffstat (limited to 'Source/Android/app/src/main/java')
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/adapters/GameAdapter.java8
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/AdHocBooleanSetting.java6
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/AdHocStringSetting.java57
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/BooleanSetting.java7
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/FloatSetting.java5
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/IntSetting.java5
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/StringSetting.java5
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentPresenter.java3
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/fragments/MenuFragment.java3
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/model/GameFileCache.java7
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/ui/main/MainActivity.java22
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/ui/main/TvMainActivity.java19
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/ui/platform/PlatformGamesFragment.java6
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/ui/platform/PlatformGamesView.java5
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/Analytics.java31
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/PicassoUtils.java14
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/Rumble.java6
17 files changed, 174 insertions, 35 deletions
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/adapters/GameAdapter.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/adapters/GameAdapter.java
index 5fd27ad5ab..5e813fd099 100644
--- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/adapters/GameAdapter.java
+++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/adapters/GameAdapter.java
@@ -121,6 +121,14 @@ public final class GameAdapter extends RecyclerView.Adapter<GameViewHolder> impl
}
/**
+ * Re-fetches game metadata from the game file cache.
+ */
+ public void refetchMetadata()
+ {
+ notifyItemRangeChanged(0, getItemCount());
+ }
+
+ /**
* Launches the game that was clicked on.
*
* @param view The card representing the game the user wants to play.
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/AdHocBooleanSetting.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/AdHocBooleanSetting.java
index 0626852b5d..e3e8bacaad 100644
--- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/AdHocBooleanSetting.java
+++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/AdHocBooleanSetting.java
@@ -49,4 +49,10 @@ public class AdHocBooleanSetting implements AbstractBooleanSetting
{
NativeConfig.setBoolean(settings.getWriteLayer(), mFile, mSection, mKey, newValue);
}
+
+ public static boolean getBooleanGlobal(String file, String section, String key,
+ boolean defaultValue)
+ {
+ return NativeConfig.getBoolean(NativeConfig.LAYER_ACTIVE, file, section, key, defaultValue);
+ }
}
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/AdHocStringSetting.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/AdHocStringSetting.java
new file mode 100644
index 0000000000..5d69b92158
--- /dev/null
+++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/AdHocStringSetting.java
@@ -0,0 +1,57 @@
+package org.dolphinemu.dolphinemu.features.settings.model;
+
+public class AdHocStringSetting implements AbstractStringSetting
+{
+ private final String mFile;
+ private final String mSection;
+ private final String mKey;
+ private final String mDefaultValue;
+
+ public AdHocStringSetting(String file, String section, String key, String defaultValue)
+ {
+ mFile = file;
+ mSection = section;
+ mKey = key;
+ mDefaultValue = defaultValue;
+
+ if (!NativeConfig.isSettingSaveable(file, section, key))
+ {
+ throw new IllegalArgumentException("File/section/key is unknown or legacy");
+ }
+ }
+
+ @Override
+ public boolean isOverridden(Settings settings)
+ {
+ return NativeConfig.isOverridden(mFile, mSection, mKey);
+ }
+
+ @Override
+ public boolean isRuntimeEditable()
+ {
+ return true;
+ }
+
+ @Override
+ public boolean delete(Settings settings)
+ {
+ return NativeConfig.deleteKey(settings.getWriteLayer(), mFile, mSection, mKey);
+ }
+
+ @Override
+ public String getString(Settings settings)
+ {
+ return NativeConfig.getString(NativeConfig.LAYER_ACTIVE, mFile, mSection, mKey, mDefaultValue);
+ }
+
+ @Override
+ public void setString(Settings settings, String newValue)
+ {
+ NativeConfig.setString(settings.getWriteLayer(), mFile, mSection, mKey, newValue);
+ }
+
+ public static String getStringGlobal(String file, String section, String key, String defaultValue)
+ {
+ return NativeConfig.getString(NativeConfig.LAYER_ACTIVE, file, section, key, defaultValue);
+ }
+}
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/BooleanSetting.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/BooleanSetting.java
index 15d5d9069e..92085ea204 100644
--- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/BooleanSetting.java
+++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/BooleanSetting.java
@@ -38,6 +38,8 @@ public enum BooleanSetting implements AbstractBooleanSetting
MAIN_RECURSIVE_ISO_PATHS(Settings.FILE_DOLPHIN, Settings.SECTION_INI_GENERAL,
"RecursiveISOPaths", false),
+ MAIN_USE_GAME_COVERS(Settings.FILE_DOLPHIN, Settings.SECTION_INI_GENERAL,
+ "UseGameCovers", true),
SYSCONF_SCREENSAVER(Settings.FILE_SYSCONF, "IPL", "SSV", false),
SYSCONF_WIDESCREEN(Settings.FILE_SYSCONF, "IPL", "AR", true),
@@ -191,4 +193,9 @@ public enum BooleanSetting implements AbstractBooleanSetting
settings.getSection(mFile, mSection).setBoolean(mKey, newValue);
}
}
+
+ public boolean getBooleanGlobal()
+ {
+ return NativeConfig.getBoolean(NativeConfig.LAYER_ACTIVE, mFile, mSection, mKey, mDefaultValue);
+ }
}
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/FloatSetting.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/FloatSetting.java
index d5fea9894a..d418302179 100644
--- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/FloatSetting.java
+++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/FloatSetting.java
@@ -73,4 +73,9 @@ public enum FloatSetting implements AbstractFloatSetting
settings.getSection(mFile, mSection).setFloat(mKey, newValue);
}
}
+
+ public float getFloatGlobal()
+ {
+ return NativeConfig.getFloat(NativeConfig.LAYER_ACTIVE, mFile, mSection, mKey, mDefaultValue);
+ }
}
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/IntSetting.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/IntSetting.java
index 7c2824ca1d..031f93cf0c 100644
--- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/IntSetting.java
+++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/IntSetting.java
@@ -130,4 +130,9 @@ public enum IntSetting implements AbstractIntSetting
settings.getSection(mFile, mSection).setInt(mKey, newValue);
}
}
+
+ public int getIntGlobal()
+ {
+ return NativeConfig.getInt(NativeConfig.LAYER_ACTIVE, mFile, mSection, mKey, mDefaultValue);
+ }
}
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/StringSetting.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/StringSetting.java
index 387ee3a504..3ca6f86606 100644
--- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/StringSetting.java
+++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/StringSetting.java
@@ -104,4 +104,9 @@ public enum StringSetting implements AbstractStringSetting
settings.getSection(mFile, mSection).setString(mKey, newValue);
}
}
+
+ public String getStringGlobal()
+ {
+ return NativeConfig.getString(NativeConfig.LAYER_ACTIVE, mFile, mSection, mKey, mDefaultValue);
+ }
}
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentPresenter.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentPresenter.java
index 2e0e5a654e..711afb82a0 100644
--- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentPresenter.java
+++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentPresenter.java
@@ -224,7 +224,6 @@ public final class SettingsFragmentPresenter
sl.add(new SubmenuSetting(R.string.advanced_submenu, MenuTag.CONFIG_ADVANCED));
sl.add(new SubmenuSetting(R.string.log_submenu, MenuTag.CONFIG_LOG));
sl.add(new SubmenuSetting(R.string.debug_submenu, MenuTag.DEBUG));
- sl.add(new HeaderSetting(R.string.gametdb_thanks, 0));
}
private void addGeneralSettings(ArrayList<SettingsItem> sl)
@@ -247,6 +246,8 @@ public final class SettingsFragmentPresenter
R.string.panic_handlers_description));
sl.add(new CheckBoxSetting(BooleanSetting.MAIN_OSD_MESSAGES, R.string.osd_messages,
R.string.osd_messages_description));
+ sl.add(new CheckBoxSetting(BooleanSetting.MAIN_USE_GAME_COVERS, R.string.download_game_covers,
+ 0));
}
private void addAudioSettings(ArrayList<SettingsItem> sl)
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/fragments/MenuFragment.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/fragments/MenuFragment.java
index 3badbd3e48..1da21470e8 100644
--- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/fragments/MenuFragment.java
+++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/fragments/MenuFragment.java
@@ -152,8 +152,7 @@ public final class MenuFragment extends Fragment implements View.OnClickListener
LinearLayout options = requireView().findViewById(R.id.layout_options);
- Settings settings = ((EmulationActivity) requireActivity()).getSettings();
- boolean savestatesEnabled = BooleanSetting.MAIN_ENABLE_SAVESTATES.getBoolean(settings);
+ boolean savestatesEnabled = BooleanSetting.MAIN_ENABLE_SAVESTATES.getBooleanGlobal();
int savestateVisibility = savestatesEnabled ? View.VISIBLE : View.GONE;
options.findViewById(R.id.menu_quicksave).setVisibility(savestateVisibility);
options.findViewById(R.id.menu_quickload).setVisibility(savestateVisibility);
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/model/GameFileCache.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/model/GameFileCache.java
index 5672553711..af417dac8f 100644
--- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/model/GameFileCache.java
+++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/model/GameFileCache.java
@@ -81,12 +81,7 @@ public class GameFileCache
*/
public boolean scanLibrary(Context context)
{
- boolean recursiveScan;
- try (Settings settings = new Settings())
- {
- settings.loadSettings(null);
- recursiveScan = BooleanSetting.MAIN_RECURSIVE_ISO_PATHS.getBoolean(settings);
- }
+ boolean recursiveScan = BooleanSetting.MAIN_RECURSIVE_ISO_PATHS.getBooleanGlobal();
removeNonExistentGameFolders(context);
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/ui/main/MainActivity.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/ui/main/MainActivity.java
index 28a6303ac7..4d2d0a6579 100644
--- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/ui/main/MainActivity.java
+++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/ui/main/MainActivity.java
@@ -87,6 +87,10 @@ public final class MainActivity extends AppCompatActivity implements MainView
mPresenter.addDirIfNeeded(this);
+ // In case the user changed a setting that affects how games are displayed,
+ // such as system language, cover downloading...
+ refetchMetadata();
+
if (sShouldRescanLibrary)
{
GameFileCacheService.startRescan(this);
@@ -254,6 +258,18 @@ public final class MainActivity extends AppCompatActivity implements MainView
}
}
+ private void refetchMetadata()
+ {
+ for (Platform platform : Platform.values())
+ {
+ PlatformGamesView fragment = getPlatformGamesView(platform);
+ if (fragment != null)
+ {
+ fragment.refetchMetadata();
+ }
+ }
+ }
+
@Nullable
private PlatformGamesView getPlatformGamesView(Platform platform)
{
@@ -289,11 +305,7 @@ public final class MainActivity extends AppCompatActivity implements MainView
}
});
- try (Settings settings = new Settings())
- {
- settings.loadSettings(null);
- mViewPager.setCurrentItem(IntSetting.MAIN_LAST_PLATFORM_TAB.getInt(settings));
- }
+ mViewPager.setCurrentItem(IntSetting.MAIN_LAST_PLATFORM_TAB.getIntGlobal());
showGames();
GameFileCacheService.startLoad(this);
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/ui/main/TvMainActivity.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/ui/main/TvMainActivity.java
index 930ea5a062..96cade33ff 100644
--- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/ui/main/TvMainActivity.java
+++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/ui/main/TvMainActivity.java
@@ -32,6 +32,7 @@ import org.dolphinemu.dolphinemu.utils.StartupHandler;
import org.dolphinemu.dolphinemu.utils.TvUtil;
import org.dolphinemu.dolphinemu.viewholders.TvGameViewHolder;
+import java.util.ArrayList;
import java.util.Collection;
public final class TvMainActivity extends FragmentActivity implements MainView
@@ -42,6 +43,8 @@ public final class TvMainActivity extends FragmentActivity implements MainView
private BrowseSupportFragment mBrowseFragment;
+ private ArrayList<ArrayObjectAdapter> mGameRows = new ArrayList<>();
+
@Override
protected void onCreate(Bundle savedInstanceState)
{
@@ -72,6 +75,10 @@ public final class TvMainActivity extends FragmentActivity implements MainView
mPresenter.addDirIfNeeded(this);
+ // In case the user changed a setting that affects how games are displayed,
+ // such as system language, cover downloading...
+ refetchMetadata();
+
if (sShouldRescanLibrary)
{
GameFileCacheService.startRescan(this);
@@ -185,6 +192,14 @@ public final class TvMainActivity extends FragmentActivity implements MainView
buildRowsAdapter();
}
+ private void refetchMetadata()
+ {
+ for (ArrayObjectAdapter row : mGameRows)
+ {
+ row.notifyArrayItemRangeChanged(0, row.size());
+ }
+ }
+
/**
* Callback from AddDirectoryActivity. Applies any changes necessary to the GameGridActivity.
*
@@ -244,6 +259,7 @@ public final class TvMainActivity extends FragmentActivity implements MainView
private void buildRowsAdapter()
{
ArrayObjectAdapter rowsAdapter = new ArrayObjectAdapter(new ListRowPresenter());
+ mGameRows.clear();
if (PermissionsHandler.hasWriteAccess(this))
{
@@ -278,6 +294,9 @@ public final class TvMainActivity extends FragmentActivity implements MainView
ArrayObjectAdapter row = new ArrayObjectAdapter(new GameRowPresenter());
row.addAll(0, gameFiles);
+ // Keep a reference to the row in case we need to refresh it.
+ mGameRows.add(row);
+
// Create a header for this row.
HeaderItem header = new HeaderItem(platform.toInt(), platform.getHeaderName());
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/ui/platform/PlatformGamesFragment.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/ui/platform/PlatformGamesFragment.java
index 83040034ae..50d2499705 100644
--- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/ui/platform/PlatformGamesFragment.java
+++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/ui/platform/PlatformGamesFragment.java
@@ -85,6 +85,12 @@ public final class PlatformGamesFragment extends Fragment implements PlatformGam
}
}
+ @Override
+ public void refetchMetadata()
+ {
+ mAdapter.refetchMetadata();
+ }
+
private void findViews(View root)
{
mRecyclerView = root.findViewById(R.id.grid_games);
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/ui/platform/PlatformGamesView.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/ui/platform/PlatformGamesView.java
index 50b3e25ba7..918f40c6e0 100644
--- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/ui/platform/PlatformGamesView.java
+++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/ui/platform/PlatformGamesView.java
@@ -25,4 +25,9 @@ public interface PlatformGamesView
* To be called when the game file cache is updated.
*/
void showGames();
+
+ /**
+ * Re-fetches game metadata from the game file cache.
+ */
+ void refetchMetadata();
}
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/Analytics.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/Analytics.java
index 062f694219..b4aabebfb9 100644
--- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/Analytics.java
+++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/Analytics.java
@@ -24,44 +24,41 @@ public class Analytics
{
new AfterDirectoryInitializationRunner().run(context, false, () ->
{
- Settings settings = new Settings();
- settings.loadSettings(null);
- if (!BooleanSetting.MAIN_ANALYTICS_PERMISSION_ASKED.getBoolean(settings))
- {
- showMessage(context, settings);
- }
- else
+ if (!BooleanSetting.MAIN_ANALYTICS_PERMISSION_ASKED.getBooleanGlobal())
{
- settings.close();
+ showMessage(context);
}
});
}
- private static void showMessage(Context context, Settings settings)
+ private static void showMessage(Context context)
{
new AlertDialog.Builder(context, R.style.DolphinDialogBase)
.setTitle(context.getString(R.string.analytics))
.setMessage(context.getString(R.string.analytics_desc))
.setPositiveButton(R.string.yes, (dialogInterface, i) ->
{
- firstAnalyticsAdd(settings, true);
+ firstAnalyticsAdd(true);
})
.setNegativeButton(R.string.no, (dialogInterface, i) ->
{
- firstAnalyticsAdd(settings, false);
+ firstAnalyticsAdd(false);
})
.show();
}
- private static void firstAnalyticsAdd(Settings settings, boolean enabled)
+ private static void firstAnalyticsAdd(boolean enabled)
{
- BooleanSetting.MAIN_ANALYTICS_ENABLED.setBoolean(settings, enabled);
- BooleanSetting.MAIN_ANALYTICS_PERMISSION_ASKED.setBoolean(settings, true);
+ try (Settings settings = new Settings())
+ {
+ settings.loadSettings(null);
- // Context is set to null to avoid toasts
- settings.saveSettings(null, null);
+ BooleanSetting.MAIN_ANALYTICS_ENABLED.setBoolean(settings, enabled);
+ BooleanSetting.MAIN_ANALYTICS_PERMISSION_ASKED.setBoolean(settings, true);
- settings.close();
+ // Context is set to null to avoid toasts
+ settings.saveSettings(null, null);
+ }
}
public static void sendReport(String endpoint, byte[] data)
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/PicassoUtils.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/PicassoUtils.java
index 07d51fd466..429480e34e 100644
--- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/PicassoUtils.java
+++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/PicassoUtils.java
@@ -10,6 +10,7 @@ import com.squareup.picasso.Callback;
import com.squareup.picasso.Picasso;
import org.dolphinemu.dolphinemu.R;
+import org.dolphinemu.dolphinemu.features.settings.model.BooleanSetting;
import org.dolphinemu.dolphinemu.model.GameFile;
import java.io.File;
@@ -62,7 +63,7 @@ public class PicassoUtils
}
// GameTDB has a pretty close to complete collection for US/EN covers. First pass at getting
// the cover will be by the disk's region, second will be the US cover, and third EN.
- else
+ else if (BooleanSetting.MAIN_USE_GAME_COVERS.getBooleanGlobal())
{
Picasso.get()
.load(CoverHelper.buildGameTDBUrl(gameFile, CoverHelper.getRegion(gameFile)))
@@ -136,5 +137,16 @@ public class PicassoUtils
}
});
}
+ else
+ {
+ Picasso.get()
+ .load(R.drawable.no_banner)
+ .noFade()
+ .noPlaceholder()
+ .fit()
+ .centerInside()
+ .config(Bitmap.Config.ARGB_8888)
+ .into(imageView);
+ }
}
}
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/Rumble.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/Rumble.java
index e7b7360537..908541d62b 100644
--- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/Rumble.java
+++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/Rumble.java
@@ -9,6 +9,7 @@ import android.util.SparseArray;
import android.view.InputDevice;
import org.dolphinemu.dolphinemu.activities.EmulationActivity;
+import org.dolphinemu.dolphinemu.features.settings.model.AdHocStringSetting;
import org.dolphinemu.dolphinemu.features.settings.model.Settings;
import org.dolphinemu.dolphinemu.features.settings.utils.SettingsFile;
@@ -28,9 +29,8 @@ public class Rumble
for (int i = 0; i < 8; i++)
{
- String deviceName = activity.getSettings()
- .getSection(Settings.FILE_DOLPHIN, Settings.SECTION_BINDINGS)
- .getString(SettingsFile.KEY_EMU_RUMBLE + i, "");
+ String deviceName = AdHocStringSetting.getStringGlobal(Settings.FILE_DOLPHIN,
+ Settings.SECTION_BINDINGS, SettingsFile.KEY_EMU_RUMBLE + i, "");
if (!deviceName.isEmpty())
{