From 6761e487b2779f467d3cb7129ddffdc3e0ebc726 Mon Sep 17 00:00:00 2001 From: SerpentSpirale Date: Fri, 10 Sep 2021 10:55:15 +0200 Subject: [PATCH] Proper filename retrieval support --- .../pojavlaunch/ImportControlActivity.java | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/ImportControlActivity.java b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/ImportControlActivity.java index 01c532473..e9bb109aa 100644 --- a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/ImportControlActivity.java +++ b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/ImportControlActivity.java @@ -2,18 +2,16 @@ package net.kdt.pojavlaunch; import android.app.Activity; import android.content.Intent; +import android.database.Cursor; import android.net.Uri; import android.os.Bundle; +import android.provider.OpenableColumns; import android.view.View; import android.widget.EditText; import android.widget.Toast; import androidx.annotation.Nullable; -import com.google.gson.JsonSyntaxException; - -import net.kdt.pojavlaunch.customcontrols.CustomControls; -import net.kdt.pojavlaunch.customcontrols.LayoutConverter; import net.kdt.pojavlaunch.utils.FileUtils; import org.json.JSONException; @@ -65,10 +63,7 @@ public class ImportControlActivity extends Activity { if(!mHasIntentChanged) return; mIsFileVerified = false; getUriData(); - //Set the name of the file in the editText. - String editTextString = mUriData.toString().replaceAll("%..", "/"); - editTextString = editTextString.substring(editTextString.lastIndexOf('/') + 1); - mEditText.setText(trimFileName(editTextString)); + mEditText.setText(getNameFromURI(mUriData)); mHasIntentChanged = false; //Import and verify thread @@ -188,4 +183,12 @@ public class ImportControlActivity extends Activity { } + public String getNameFromURI(Uri uri) { + Cursor c = getContentResolver().query(uri, null, null, null, null); + c.moveToFirst(); + String fileName = c.getString(c.getColumnIndex(OpenableColumns.DISPLAY_NAME)); + c.close(); + return trimFileName(fileName); + } + }