aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRam Peri <ramperi@google.com>2022-11-25 12:40:04 -0500
committerCherrypicker Worker <android-build-cherrypicker-worker@google.com>2023-02-08 21:16:40 +0000
commit5ebba863cff595275735ffc2c2c597a6448ac7d5 (patch)
treebe765d0807d592fc1db909acb6fdb20fb44b1654
parent957709ee107f82407fa52c9763e01f09ddabf0e5 (diff)
downloadlayoutlib-5ebba863cff595275735ffc2c2c597a6448ac7d5.tar.gz
Add empty string check for resource loading.
When a resource name is invalid or empty we should return null. Bug: 260244331 Test: run_tests.sh for regression. Change-Id: I70dfff9f2cc9a7a0119d99b17f5359c18f766068 (cherry picked from commit 82120bb6b8d9f496393a2795c02bc769aa327bcb) Merged-In: I70dfff9f2cc9a7a0119d99b17f5359c18f766068
-rw-r--r--bridge/src/android/graphics/Typeface_Delegate.java7
-rw-r--r--bridge/src/android/graphics/fonts/Font_Builder_Delegate.java4
-rw-r--r--bridge/src/com/android/layoutlib/bridge/impl/ResourceHelper.java2
3 files changed, 11 insertions, 2 deletions
diff --git a/bridge/src/android/graphics/Typeface_Delegate.java b/bridge/src/android/graphics/Typeface_Delegate.java
index 2d343a58ca..4568876d1d 100644
--- a/bridge/src/android/graphics/Typeface_Delegate.java
+++ b/bridge/src/android/graphics/Typeface_Delegate.java
@@ -61,6 +61,11 @@ public final class Typeface_Delegate {
if (typeface != null) {
return typeface;
}
+
+ if (path.isBlank()) {
+ return null;
+ }
+
String lowerCaseValue = path.toLowerCase();
if (lowerCaseValue.endsWith(AndroidConstants.DOT_XML)) {
// create a block parser for the file
@@ -113,4 +118,4 @@ public final class Typeface_Delegate {
/*package*/ static Typeface create(Typeface family, int style, boolean isItalic) {
return Typeface.create_Original(family, style, isItalic);
}
-} \ No newline at end of file
+}
diff --git a/bridge/src/android/graphics/fonts/Font_Builder_Delegate.java b/bridge/src/android/graphics/fonts/Font_Builder_Delegate.java
index 46d3dcf160..c21a4f1722 100644
--- a/bridge/src/android/graphics/fonts/Font_Builder_Delegate.java
+++ b/bridge/src/android/graphics/fonts/Font_Builder_Delegate.java
@@ -47,6 +47,10 @@ public class Font_Builder_Delegate {
/*package*/ static ByteBuffer createBuffer(@NonNull AssetManager am, @NonNull String path,
boolean isAsset, int cookie) throws IOException {
+ if (path.isBlank()) {
+ return null;
+ }
+
try (InputStream assetStream = isAsset ? am.open(path, AssetManager.ACCESS_BUFFER)
: am.openNonAsset(cookie, path, AssetManager.ACCESS_BUFFER)) {
diff --git a/bridge/src/com/android/layoutlib/bridge/impl/ResourceHelper.java b/bridge/src/com/android/layoutlib/bridge/impl/ResourceHelper.java
index c6888d0998..87bed3d967 100644
--- a/bridge/src/com/android/layoutlib/bridge/impl/ResourceHelper.java
+++ b/bridge/src/com/android/layoutlib/bridge/impl/ResourceHelper.java
@@ -481,7 +481,7 @@ public final class ResourceHelper {
*/
public static Typeface getFont(String fontName, BridgeContext context, Theme theme, boolean
isFramework) {
- if (fontName == null) {
+ if (fontName == null || fontName.isBlank()) {
return null;
}