summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/android/app/src/main/java/org/yuzu/yuzu_emu/ui/main/MainActivity.kt8
-rw-r--r--src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/FileUtil.kt24
-rw-r--r--src/android/app/src/main/res/values/strings.xml7
3 files changed, 28 insertions, 11 deletions
diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/ui/main/MainActivity.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/ui/main/MainActivity.kt
index 124f62f08..3fca0a7e6 100644
--- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/ui/main/MainActivity.kt
+++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/ui/main/MainActivity.kt
@@ -284,10 +284,10 @@ class MainActivity : AppCompatActivity(), ThemeProvider {
284 if (result == null) 284 if (result == null)
285 return@registerForActivityResult 285 return@registerForActivityResult
286 286
287 if (!FileUtil.hasExtension(result.toString(), "keys")) { 287 if (!FileUtil.hasExtension(result, "keys")) {
288 MessageDialogFragment.newInstance( 288 MessageDialogFragment.newInstance(
289 R.string.reading_keys_failure, 289 R.string.reading_keys_failure,
290 R.string.install_keys_failure_extension_description 290 R.string.install_prod_keys_failure_extension_description
291 ).show(supportFragmentManager, MessageDialogFragment.TAG) 291 ).show(supportFragmentManager, MessageDialogFragment.TAG)
292 return@registerForActivityResult 292 return@registerForActivityResult
293 } 293 }
@@ -379,10 +379,10 @@ class MainActivity : AppCompatActivity(), ThemeProvider {
379 if (result == null) 379 if (result == null)
380 return@registerForActivityResult 380 return@registerForActivityResult
381 381
382 if (!FileUtil.hasExtension(result.toString(), "bin")) { 382 if (!FileUtil.hasExtension(result, "bin")) {
383 MessageDialogFragment.newInstance( 383 MessageDialogFragment.newInstance(
384 R.string.reading_keys_failure, 384 R.string.reading_keys_failure,
385 R.string.install_keys_failure_extension_description 385 R.string.install_amiibo_keys_failure_extension_description
386 ).show(supportFragmentManager, MessageDialogFragment.TAG) 386 ).show(supportFragmentManager, MessageDialogFragment.TAG)
387 return@registerForActivityResult 387 return@registerForActivityResult
388 } 388 }
diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/FileUtil.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/FileUtil.kt
index 593dad8d3..492b1ad91 100644
--- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/FileUtil.kt
+++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/FileUtil.kt
@@ -7,7 +7,9 @@ import android.content.Context
7import android.database.Cursor 7import android.database.Cursor
8import android.net.Uri 8import android.net.Uri
9import android.provider.DocumentsContract 9import android.provider.DocumentsContract
10import android.provider.OpenableColumns
10import androidx.documentfile.provider.DocumentFile 11import androidx.documentfile.provider.DocumentFile
12import org.yuzu.yuzu_emu.YuzuApplication
11import org.yuzu.yuzu_emu.model.MinimalDocumentFile 13import org.yuzu.yuzu_emu.model.MinimalDocumentFile
12import java.io.BufferedInputStream 14import java.io.BufferedInputStream
13import java.io.File 15import java.io.File
@@ -324,7 +326,25 @@ object FileUtil {
324 } 326 }
325 } 327 }
326 328
327 fun hasExtension(path: String, extension: String): Boolean { 329 fun hasExtension(path: String, extension: String): Boolean =
328 return path.substring(path.lastIndexOf(".") + 1).contains(extension) 330 path.substring(path.lastIndexOf(".") + 1).contains(extension)
331
332 fun hasExtension(uri: Uri, extension: String): Boolean {
333 val fileName: String?
334 val cursor = YuzuApplication.appContext.contentResolver.query(uri, null, null, null, null)
335 val nameIndex = cursor?.getColumnIndex(OpenableColumns.DISPLAY_NAME)
336 cursor?.moveToFirst()
337
338 if (nameIndex == null) {
339 return false
340 }
341
342 fileName = cursor.getString(nameIndex)
343 cursor.close()
344
345 if (fileName == null) {
346 return false
347 }
348 return fileName.substring(fileName.lastIndexOf(".") + 1).contains(extension)
329 } 349 }
330} 350}
diff --git a/src/android/app/src/main/res/values/strings.xml b/src/android/app/src/main/res/values/strings.xml
index 0ae69afb4..6e9d47557 100644
--- a/src/android/app/src/main/res/values/strings.xml
+++ b/src/android/app/src/main/res/values/strings.xml
@@ -65,11 +65,8 @@
65 <string name="invalid_keys_file">Invalid keys file selected</string> 65 <string name="invalid_keys_file">Invalid keys file selected</string>
66 <string name="install_keys_success">Keys successfully installed</string> 66 <string name="install_keys_success">Keys successfully installed</string>
67 <string name="reading_keys_failure">Error reading encryption keys</string> 67 <string name="reading_keys_failure">Error reading encryption keys</string>
68 <string name="install_keys_failure_extension_description"> 68 <string name="install_prod_keys_failure_extension_description">Verify your keys file has a .keys extension and try again.</string>
69 1. Verify your keys have the .keys extension.\n\n 69 <string name="install_amiibo_keys_failure_extension_description">Verify your keys file has a .bin extension and try again.</string>
70 2. Keys must not be stored in the Downloads folder.\n\n
71 Resolve the issue(s) and try again.
72 </string>
73 <string name="invalid_keys_error">Invalid encryption keys</string> 70 <string name="invalid_keys_error">Invalid encryption keys</string>
74 <string name="dumping_keys_quickstart_link">https://yuzu-emu.org/help/quickstart/#dumping-decryption-keys</string> 71 <string name="dumping_keys_quickstart_link">https://yuzu-emu.org/help/quickstart/#dumping-decryption-keys</string>
75 <string name="install_keys_failure_description">The selected file is incorrect or corrupt. Please redump your keys.</string> 72 <string name="install_keys_failure_description">The selected file is incorrect or corrupt. Please redump your keys.</string>