diff options
| author | Léo Lam <leo@leolam.fr> | 2020-10-21 19:16:10 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-10-21 19:16:10 +0200 |
| commit | 43d11ca3eb424e6582fa8e54da5fb0c966be12c5 (patch) | |
| tree | 809c31eb2fa6500ac8880d601cd79533d60befd3 /Source/Android/app/src/main/java | |
| parent | 09e87b79f19ce0fb06b236e15ebed414af57558a (diff) | |
| parent | 8f712114b6c6e62c3f1c23fdf3d75c13ce64d480 (diff) | |
Merge pull request #8962 from JosJuice/android-saf-wad
Android: Use storage access framework for importing WADs
Diffstat (limited to 'Source/Android/app/src/main/java')
5 files changed, 12 insertions, 13 deletions
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 01fc41536b..1714acd41e 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 @@ -297,9 +297,6 @@ public final class SettingsAdapter extends RecyclerView.Adapter<SettingViewHolde case MainPresenter.REQUEST_GAME_FILE: extensions = FileBrowserHelper.GAME_EXTENSIONS; break; - case MainPresenter.REQUEST_WAD_FILE: - extensions = FileBrowserHelper.WAD_EXTENSION; - break; default: throw new InvalidParameterException("Unhandled request code"); } 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 4d2d0a6579..a57ee0d1ce 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 @@ -175,8 +175,10 @@ public final class MainActivity extends AppCompatActivity implements MainView @Override public void launchInstallWAD() { - FileBrowserHelper.openFilePicker(this, MainPresenter.REQUEST_WAD_FILE, false, - FileBrowserHelper.WAD_EXTENSION); + Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT); + intent.addCategory(Intent.CATEGORY_OPENABLE); + intent.setType("*/*"); + startActivityForResult(intent, MainPresenter.REQUEST_WAD_FILE); } /** @@ -203,7 +205,7 @@ public final class MainActivity extends AppCompatActivity implements MainView break; case MainPresenter.REQUEST_WAD_FILE: - mPresenter.installWAD(FileBrowserHelper.getSelectedPath(result)); + mPresenter.installWAD(result.getData().toString()); break; } } diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/ui/main/MainPresenter.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/ui/main/MainPresenter.java index 6cd3637f8f..75f2002ba3 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/ui/main/MainPresenter.java +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/ui/main/MainPresenter.java @@ -16,6 +16,7 @@ import org.dolphinemu.dolphinemu.R; import org.dolphinemu.dolphinemu.features.settings.ui.MenuTag; import org.dolphinemu.dolphinemu.model.GameFileCache; import org.dolphinemu.dolphinemu.services.GameFileCacheService; +import org.dolphinemu.dolphinemu.utils.AfterDirectoryInitializationRunner; public final class MainPresenter { @@ -99,7 +100,7 @@ public final class MainPresenter return true; case R.id.menu_install_wad: - mView.launchInstallWAD(); + new AfterDirectoryInitializationRunner().run(context, true, mView::launchInstallWAD); return true; } 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 96cade33ff..6bdbaac846 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 @@ -179,8 +179,10 @@ public final class TvMainActivity extends FragmentActivity implements MainView @Override public void launchInstallWAD() { - FileBrowserHelper.openFilePicker(this, MainPresenter.REQUEST_WAD_FILE, false, - FileBrowserHelper.WAD_EXTENSION); + Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT); + intent.addCategory(Intent.CATEGORY_OPENABLE); + intent.setType("*/*"); + startActivityForResult(intent, MainPresenter.REQUEST_WAD_FILE); } @Override @@ -226,7 +228,7 @@ public final class TvMainActivity extends FragmentActivity implements MainView break; case MainPresenter.REQUEST_WAD_FILE: - mPresenter.installWAD(FileBrowserHelper.getSelectedPath(result)); + mPresenter.installWAD(result.getData().toString()); break; } } diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/FileBrowserHelper.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/FileBrowserHelper.java index 4c6803d1af..949cee554c 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/FileBrowserHelper.java +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/FileBrowserHelper.java @@ -27,9 +27,6 @@ public final class FileBrowserHelper public static final HashSet<String> RAW_EXTENSION = new HashSet<>(Collections.singletonList( "raw")); - public static final HashSet<String> WAD_EXTENSION = new HashSet<>(Collections.singletonList( - "wad")); - public static void openDirectoryPicker(FragmentActivity activity, HashSet<String> extensions) { Intent i = new Intent(activity, CustomFilePickerActivity.class); |
