From 235f8b1cbff8ed13071d5c19c0be492c0b25cb78 Mon Sep 17 00:00:00 2001 From: Sven Gothel Date: Sat, 17 Mar 2012 21:15:49 +0100 Subject: Add 'asset' URLConnection; IOUtil uses URLConnection / incr. effeciency; Android ClassLoaderUtil cleanup; - Add 'asset' URLConnection - Please read API doc 'PiggybackURLConnection' and 'AssetURLConnection' - Solves generic resource handling where platform locations may differ, ie ClassLoader lookup on Android in the 'assets/' subfolder. - New Android 'AssetDexClassLoader' uses 'assets/' folder for findResource(..) - aapt.signed (our APK ant task) - uses 'assets/' folder - adds the 'assetsdir' attribute allowing to copy other assets into the APK - IOUtil uses URLConnection / incr. effeciency - using URLConnection on all getResource(..) since URL is connected anyways for validation and URLConnection can be used by caller right away - String getRelativeOf(URL, String) -> URL getRelativeOf(URL, String) - preserves scheme, authority, etc - simple parentOf handling, more efficient - reusing new 'asset' protocol impl. - Android ClassLoaderUtil cleanup; - Use createClassLoader(..) impl for build-in static jogamp and user APKs, which removes code redundancy Tests: New code path, especially 'assets' are covered by new unit tests, no regressions on Linux. --- src/java/com/jogamp/common/os/AndroidVersion.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'src/java/com/jogamp/common/os') diff --git a/src/java/com/jogamp/common/os/AndroidVersion.java b/src/java/com/jogamp/common/os/AndroidVersion.java index b577631..8886273 100644 --- a/src/java/com/jogamp/common/os/AndroidVersion.java +++ b/src/java/com/jogamp/common/os/AndroidVersion.java @@ -32,9 +32,9 @@ public class AndroidVersion { static { final ClassLoader cl = AndroidVersion.class.getClassLoader(); - Class abvClass = null; + Class abvClass = null; Object abvObject= null; - Class abvcClass = null; + Class abvcClass = null; Object abvcObject= null; try { abvClass = ReflectionUtil.getClass(androidBuildVersion, true, cl); @@ -50,7 +50,7 @@ public class AndroidVersion { SDK_INT = getInt(abvClass, abvObject, "SDK_INT"); VERSION_CODES = getVersionCodes(abvcClass, abvcObject); String sdk_name = VERSION_CODES.get(new Integer(SDK_INT)); - SDK_NAME = ( null != sdk_name ) ? sdk_name : "SDK_"+SDK_INT ; + SDK_NAME = ( null != sdk_name ) ? sdk_name : "SDK_"+SDK_INT ; } else { CODENAME = null; INCREMENTAL = null; @@ -61,7 +61,7 @@ public class AndroidVersion { } } - private static final Map getVersionCodes(Class cls, Object obj) { + private static final Map getVersionCodes(Class cls, Object obj) { HashMap map = new HashMap(); Field[] fields = cls.getFields(); for(int i=0; i cls, Object obj, String name) { try { Field f = cls.getField(name); return (String) f.get(obj); @@ -83,7 +83,7 @@ public class AndroidVersion { return null; } - private static final int getInt(Class cls, Object obj, String name) { + private static final int getInt(Class cls, Object obj, String name) { try { Field f = cls.getField(name); return f.getInt(obj); -- cgit v1.2.3