summaryrefslogtreecommitdiff
path: root/Source/Android/app/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Android/app/src/main/java')
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/activities/UserDataActivity.java36
1 files changed, 35 insertions, 1 deletions
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/activities/UserDataActivity.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/activities/UserDataActivity.java
index 79fcc09123..532dcc8962 100644
--- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/activities/UserDataActivity.java
+++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/activities/UserDataActivity.java
@@ -2,19 +2,22 @@
package org.dolphinemu.dolphinemu.activities;
+import android.content.ActivityNotFoundException;
import android.content.Context;
import android.content.Intent;
import android.os.Build;
import android.os.Bundle;
import android.view.View;
+import android.widget.Button;
import android.widget.TextView;
+import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
import org.dolphinemu.dolphinemu.R;
import org.dolphinemu.dolphinemu.utils.DirectoryInitialization;
-public class UserDataActivity extends AppCompatActivity
+public class UserDataActivity extends AppCompatActivity implements View.OnClickListener
{
public static void launch(Context context)
{
@@ -32,6 +35,7 @@ public class UserDataActivity extends AppCompatActivity
TextView textType = findViewById(R.id.text_type);
TextView textPath = findViewById(R.id.text_path);
TextView textAndroid11 = findViewById(R.id.text_android_11);
+ Button buttonOpenSystemFileManager = findViewById(R.id.button_open_system_file_manager);
textType.setText(DirectoryInitialization.isUsingLegacyUserDirectory() ?
R.string.user_data_old_location : R.string.user_data_new_location);
@@ -41,5 +45,35 @@ public class UserDataActivity extends AppCompatActivity
boolean show_android_11_text = Build.VERSION.SDK_INT >= Build.VERSION_CODES.R &&
!DirectoryInitialization.isUsingLegacyUserDirectory();
textAndroid11.setVisibility(show_android_11_text ? View.VISIBLE : View.GONE);
+
+ boolean show_file_manager_button = Build.VERSION.SDK_INT >= Build.VERSION_CODES.R;
+ buttonOpenSystemFileManager.setVisibility(show_file_manager_button ? View.VISIBLE : View.GONE);
+
+ buttonOpenSystemFileManager.setOnClickListener(this);
+ }
+
+ @Override
+ public void onClick(View v)
+ {
+ try
+ {
+ startActivity(getFileManagerIntent());
+ }
+ catch (ActivityNotFoundException e)
+ {
+ new AlertDialog.Builder(this, R.style.DolphinDialogBase)
+ .setMessage(R.string.user_data_open_system_file_manager_failed)
+ .setPositiveButton(R.string.ok, null)
+ .show();
+ }
+ }
+
+ private Intent getFileManagerIntent()
+ {
+ // Fragile, but some phones don't expose the system file manager in any better way
+ Intent intent = new Intent(Intent.ACTION_MAIN);
+ intent.setClassName("com.android.documentsui", "com.android.documentsui.files.FilesActivity");
+ intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+ return intent;
}
}