From d39150c368e9d8303f22127bb71c2058c2661df4 Mon Sep 17 00:00:00 2001 From: JosJuice Date: Sun, 24 Oct 2021 16:58:21 +0200 Subject: Android: Set android:hasFragileUserData This makes Android ask the user whether they want to delete user data when uninstalling the app instead of always deleting user data, which is pretty great now that we're forced to use scoped storage. It only works on Android 10 and up, though. --- .../dolphinemu/activities/UserDataActivity.java | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) (limited to 'Source/Android/app/src/main/java') 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 532dcc8962..8c67505471 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 @@ -37,17 +37,19 @@ public class UserDataActivity extends AppCompatActivity implements View.OnClickL 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); + boolean android_10 = Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q; + boolean android_11 = Build.VERSION.SDK_INT >= Build.VERSION_CODES.R; + boolean legacy = DirectoryInitialization.isUsingLegacyUserDirectory(); + + int user_data_new_location = android_10 ? + R.string.user_data_new_location_android_10 : R.string.user_data_new_location; + textType.setText(legacy ? R.string.user_data_old_location : user_data_new_location); textPath.setText(DirectoryInitialization.getUserDirectory()); - 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); + textAndroid11.setVisibility(android_11 && !legacy ? 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.setVisibility(android_11 ? View.VISIBLE : View.GONE); buttonOpenSystemFileManager.setOnClickListener(this); } -- cgit v1.2.3