From 3898ebdc74663195738766c23bf4e4eee8b4a3b7 Mon Sep 17 00:00:00 2001 From: agnostic-apollo Date: Sat, 22 Jan 2022 18:44:56 +0500 Subject: [PATCH] Changed: Rename UriUtils getUriFilePath() to getUriFilePathWithFragment() --- .../main/java/com/termux/app/TermuxOpenReceiver.java | 2 +- app/src/main/java/com/termux/app/TermuxService.java | 4 ++-- .../termux/filepicker/TermuxFileReceiverActivity.java | 2 +- .../main/java/com/termux/shared/net/uri/UriUtils.java | 11 +++++++---- 4 files changed, 11 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/com/termux/app/TermuxOpenReceiver.java b/app/src/main/java/com/termux/app/TermuxOpenReceiver.java index 9d3a01ef..2868dabf 100644 --- a/app/src/main/java/com/termux/app/TermuxOpenReceiver.java +++ b/app/src/main/java/com/termux/app/TermuxOpenReceiver.java @@ -73,7 +73,7 @@ public class TermuxOpenReceiver extends BroadcastReceiver { } // Get full path including fragment (anything after last "#") - String filePath = UriUtils.getUriFilePath(data); + String filePath = UriUtils.getUriFilePathWithFragment(data); final File fileToShare = new File(filePath); if (!(fileToShare.isFile() && fileToShare.canRead())) { diff --git a/app/src/main/java/com/termux/app/TermuxService.java b/app/src/main/java/com/termux/app/TermuxService.java index b954c80a..ecde6e38 100644 --- a/app/src/main/java/com/termux/app/TermuxService.java +++ b/app/src/main/java/com/termux/app/TermuxService.java @@ -351,11 +351,11 @@ public final class TermuxService extends Service implements AppShell.AppShellCli Logger.logVerbose(LOG_TAG, "uri: \"" + executionCommand.executableUri + "\", path: \"" + executionCommand.executableUri.getPath() + "\", fragment: \"" + executionCommand.executableUri.getFragment() + "\""); // Get full path including fragment (anything after last "#") - executionCommand.executable = UriUtils.getUriFilePath(executionCommand.executableUri); + executionCommand.executable = UriUtils.getUriFilePathWithFragment(executionCommand.executableUri); executionCommand.arguments = IntentUtils.getStringArrayExtraIfSet(intent, TERMUX_SERVICE.EXTRA_ARGUMENTS, null); if (executionCommand.inBackground) executionCommand.stdin = IntentUtils.getStringExtraIfSet(intent, TERMUX_SERVICE.EXTRA_STDIN, null); - executionCommand.backgroundCustomLogLevel = IntentUtils.getIntegerExtraIfSet(intent, TERMUX_SERVICE.EXTRA_BACKGROUND_CUSTOM_LOG_LEVEL, null); + executionCommand.backgroundCustomLogLevel = IntentUtils.getIntegerExtraIfSet(intent, TERMUX_SERVICE.EXTRA_BACKGROUND_CUSTOM_LOG_LEVEL, null); } executionCommand.workingDirectory = IntentUtils.getStringExtraIfSet(intent, TERMUX_SERVICE.EXTRA_WORKDIR, null); diff --git a/app/src/main/java/com/termux/filepicker/TermuxFileReceiverActivity.java b/app/src/main/java/com/termux/filepicker/TermuxFileReceiverActivity.java index 45c99e68..5370b81a 100644 --- a/app/src/main/java/com/termux/filepicker/TermuxFileReceiverActivity.java +++ b/app/src/main/java/com/termux/filepicker/TermuxFileReceiverActivity.java @@ -99,7 +99,7 @@ public class TermuxFileReceiverActivity extends Activity { Logger.logVerbose(LOG_TAG, "uri: \"" + dataUri + "\", path: \"" + dataUri.getPath() + "\", fragment: \"" + dataUri.getFragment() + "\""); // Get full path including fragment (anything after last "#") - String path = UriUtils.getUriFilePath(dataUri); + String path = UriUtils.getUriFilePathWithFragment(dataUri); if (DataUtils.isNullOrEmpty(path)) { showErrorDialogAndQuit("File path from data uri is null, empty or invalid."); return; diff --git a/termux-shared/src/main/java/com/termux/shared/net/uri/UriUtils.java b/termux-shared/src/main/java/com/termux/shared/net/uri/UriUtils.java index 29940452..2254a92b 100644 --- a/termux-shared/src/main/java/com/termux/shared/net/uri/UriUtils.java +++ b/termux-shared/src/main/java/com/termux/shared/net/uri/UriUtils.java @@ -3,6 +3,7 @@ package com.termux.shared.net.uri; import android.net.Uri; import androidx.annotation.NonNull; +import androidx.annotation.Nullable; import com.termux.shared.data.DataUtils; import com.termux.shared.file.FileUtils; @@ -10,7 +11,7 @@ import com.termux.shared.file.FileUtils; public class UriUtils { /** - * Get the full file path from a {@link Uri}. + * Get the full file path from a {@link Uri} including the fragment. * * If the {@link Uri} was created from file path with {@link Uri#parse(String)}, like "am" * command "-d" option does, and the path contained a "#", then anything after it would become @@ -21,10 +22,11 @@ public class UriUtils { * with {@link Uri.Builder#path(String)}, then "#" will automatically be encoded to "%23" * and separate fragment will not exist. * - * @param uri The {@link Uri} to get basename from. + * @param uri The {@link Uri} to get file path from. * @return Returns the file path if found, otherwise {@code null}. */ - public static String getUriFilePath(Uri uri) { + @Nullable + public static String getUriFilePathWithFragment(Uri uri) { if (uri == null) return null; String path = uri.getPath(); if (DataUtils.isNullOrEmpty(path)) return null; @@ -40,12 +42,13 @@ public class UriUtils { * @param withFragment If the {@link Uri} fragment should be included in basename. * @return Returns the file basename if found, otherwise {@code null}. */ + @Nullable public static String getUriFileBasename(Uri uri, boolean withFragment) { if (uri == null) return null; String path; if (withFragment) { - path = getUriFilePath(uri); + path = getUriFilePathWithFragment(uri); } else { path = uri.getPath(); if (DataUtils.isNullOrEmpty(path)) return null;