From d84b375ba2bde079e4d5dcc30475db29fc025c0a Mon Sep 17 00:00:00 2001 From: Igor Tkach Date: Tue, 28 Dec 2021 16:36:46 -0500 Subject: [PATCH] Remove brittle and unnecessary file extension check for user style Intent to initiate content open already specifies text/* content type, and Android 11 no longer returns file names as URIs. --- src/itkach/aard2/SettingsFragment.java | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/src/itkach/aard2/SettingsFragment.java b/src/itkach/aard2/SettingsFragment.java index 9dbf267c..d004f759 100644 --- a/src/itkach/aard2/SettingsFragment.java +++ b/src/itkach/aard2/SettingsFragment.java @@ -8,6 +8,7 @@ import android.net.Uri; import android.os.Bundle; import android.support.v4.app.ListFragment; +import android.support.v4.provider.DocumentFile; import android.util.Log; import android.view.View; import android.webkit.WebView; @@ -69,19 +70,13 @@ public void onActivityResult(int requestCode, int resultCode, Intent data) { Uri dataUri = data == null ? null : data.getData(); Log.d(TAG, String.format("req code %s, result code: %s, data: %s", requestCode, resultCode, dataUri)); if (resultCode == Activity.RESULT_OK && dataUri != null) { - String path = dataUri.getPath().toLowerCase(); - if (!(path.endsWith(".css") || path.endsWith(".txt"))) { - Log.d(TAG, "Doesn't appear to be a css: " + dataUri); - Toast.makeText(getActivity(), R.string.msg_file_not_css, - Toast.LENGTH_LONG).show(); - return; - } try { InputStream is = getActivity().getContentResolver().openInputStream(dataUri); + DocumentFile documentFile = DocumentFile.fromSingleUri(getContext(), dataUri); + String fileName = documentFile.getName(); Application app = (Application)getActivity().getApplication(); String userCss = app.readTextFile(is, 256 * 1024); List pathSegments = dataUri.getPathSegments(); - String fileName = pathSegments.get(pathSegments.size() - 1); Log.d(TAG, fileName); Log.d(TAG, userCss); int lastIndexOfDot = fileName.lastIndexOf(".");