diff options
author | Dirk Sigurdson <dirk.sigurdson@t-mobile.com> | 2010-02-07 01:49:14 -0800 |
---|---|---|
committer | Dirk Sigurdson <dirk.sigurdson@t-mobile.com> | 2010-02-07 01:49:14 -0800 |
commit | b95e715706d92e7c3225737115919c115c957de4 (patch) | |
tree | 60cb3c974e136d4a261510d8b36aa1c231a1d6bf /tools | |
parent | 5d29366790e8fe6239d66e1e662ab05068b0549b (diff) | |
parent | 6ff3f8add87358b8489fa3f1705cf3bbfa34bc38 (diff) | |
download | frameworks_base-b95e715706d92e7c3225737115919c115c957de4.zip frameworks_base-b95e715706d92e7c3225737115919c115c957de4.tar.gz frameworks_base-b95e715706d92e7c3225737115919c115c957de4.tar.bz2 |
Merge remote branch 'korg/eclair' into themes-eclair
Conflicts:
core/java/android/app/ActivityThread.java
core/java/android/content/pm/ActivityInfo.java
core/java/android/content/res/AssetManager.java
Diffstat (limited to 'tools')
-rw-r--r-- | tools/aapt/Bundle.h | 5 | ||||
-rw-r--r-- | tools/aapt/Command.cpp | 7 | ||||
-rw-r--r-- | tools/aapt/Main.cpp | 19 | ||||
-rw-r--r-- | tools/layoutlib/api/src/com/android/layoutlib/api/IDensityBasedResourceValue.java | 3 | ||||
-rw-r--r-- | tools/layoutlib/bridge/src/android/graphics/Paint.java | 14 | ||||
-rw-r--r-- | tools/layoutlib/bridge/src/com/android/layoutlib/bridge/Bridge.java | 19 | ||||
-rw-r--r-- | tools/layoutlib/bridge/src/com/android/layoutlib/bridge/BridgeAssetManager.java | 12 |
7 files changed, 57 insertions, 22 deletions
diff --git a/tools/aapt/Bundle.h b/tools/aapt/Bundle.h index 649d97f..9eadec4 100644 --- a/tools/aapt/Bundle.h +++ b/tools/aapt/Bundle.h @@ -43,7 +43,7 @@ public: mAndroidManifestFile(NULL), mPublicOutputFile(NULL), mRClassDir(NULL), mResourceIntermediatesDir(NULL), mMinSdkVersion(NULL), mTargetSdkVersion(NULL), mMaxSdkVersion(NULL), - mVersionCode(NULL), mVersionName(NULL), + mVersionCode(NULL), mVersionName(NULL), mCustomPackage(NULL), mArgc(0), mArgv(NULL) {} ~Bundle(void) {} @@ -123,6 +123,8 @@ public: void setVersionCode(const char* val) { mVersionCode = val; } const char* getVersionName() const { return mVersionName; } void setVersionName(const char* val) { mVersionName = val; } + const char* getCustomPackage() const { return mCustomPackage; } + void setCustomPackage(const char* val) { mCustomPackage = val; } /* * Set and get the file specification. @@ -185,6 +187,7 @@ private: const char* mMaxSdkVersion; const char* mVersionCode; const char* mVersionName; + const char* mCustomPackage; /* file specification */ int mArgc; diff --git a/tools/aapt/Command.cpp b/tools/aapt/Command.cpp index 1a536d6..0ef5d55 100644 --- a/tools/aapt/Command.cpp +++ b/tools/aapt/Command.cpp @@ -1151,7 +1151,12 @@ int doPackage(Bundle* bundle) // Write out R.java constants if (assets->getPackage() == assets->getSymbolsPrivatePackage()) { - err = writeResourceSymbols(bundle, assets, assets->getPackage(), true); + if (bundle->getCustomPackage() == NULL) { + err = writeResourceSymbols(bundle, assets, assets->getPackage(), true); + } else { + const String8 customPkg(bundle->getCustomPackage()); + err = writeResourceSymbols(bundle, assets, customPkg, true); + } if (err < 0) { goto bail; } diff --git a/tools/aapt/Main.cpp b/tools/aapt/Main.cpp index 735751c..d835339 100644 --- a/tools/aapt/Main.cpp +++ b/tools/aapt/Main.cpp @@ -60,7 +60,7 @@ void usage(void) " [-0 extension [-0 extension ...]] [-g tolerance] [-j jarfile] \\\n" " [--min-sdk-version VAL] [--target-sdk-version VAL] \\\n" " [--max-sdk-version VAL] [--app-version VAL] \\\n" - " [--app-version-name TEXT]\\\n" + " [--app-version-name TEXT] [--custom-package VAL] \\\n" " [-I base-package [-I base-package ...]] \\\n" " [-A asset-source-dir] [-G class-list-file] [-P public-definitions-file] \\\n" " [-S resource-sources [-S resource-sources ...]] " @@ -117,8 +117,8 @@ void usage(void) " -J specify where to output R.java resource constant definitions\n" " -M specify full path to AndroidManifest.xml to include in zip\n" " -P specify where to output public resource definitions\n" - " -S directory in which to find resources. Multiple directories will be scanned" - " and the first match found (left to right) will take precedence." + " -S directory in which to find resources. Multiple directories will be scanned\n" + " and the first match found (left to right) will take precedence.\n" " -0 specifies an additional extension for which such files will not\n" " be stored compressed in the .apk. An empty string means to not\n" " compress any files at all.\n" @@ -133,7 +133,9 @@ void usage(void) " --version-code\n" " inserts android:versionCode in to manifest.\n" " --version-name\n" - " inserts android:versionName in to manifest.\n"); + " inserts android:versionName in to manifest.\n" + " --custom-package\n" + " generates R.java into a different package.\n"); } /* @@ -427,6 +429,15 @@ int main(int argc, char* const argv[]) bundle.setVersionName(argv[0]); } else if (strcmp(cp, "-values") == 0) { bundle.setValues(true); + } else if (strcmp(cp, "-custom-package") == 0) { + argc--; + argv++; + if (!argc) { + fprintf(stderr, "ERROR: No argument supplied for '--custom-package' option\n"); + wantUsage = true; + goto bail; + } + bundle.setCustomPackage(argv[0]); } else { fprintf(stderr, "ERROR: Unknown option '-%s'\n", cp); wantUsage = true; diff --git a/tools/layoutlib/api/src/com/android/layoutlib/api/IDensityBasedResourceValue.java b/tools/layoutlib/api/src/com/android/layoutlib/api/IDensityBasedResourceValue.java index 7128032..57a776f 100644 --- a/tools/layoutlib/api/src/com/android/layoutlib/api/IDensityBasedResourceValue.java +++ b/tools/layoutlib/api/src/com/android/layoutlib/api/IDensityBasedResourceValue.java @@ -20,12 +20,15 @@ package com.android.layoutlib.api; * Represents an Android Resources that has a density info attached to it. */ public interface IDensityBasedResourceValue extends IResourceValue { + public static enum Density { HIGH(240), MEDIUM(160), LOW(120), NODPI(0); + public final static int DEFAULT_DENSITY = 160; + private final int mValue; Density(int value) { diff --git a/tools/layoutlib/bridge/src/android/graphics/Paint.java b/tools/layoutlib/bridge/src/android/graphics/Paint.java index 86de56b..f3af133 100644 --- a/tools/layoutlib/bridge/src/android/graphics/Paint.java +++ b/tools/layoutlib/bridge/src/android/graphics/Paint.java @@ -950,7 +950,6 @@ public class Paint extends _Original_Paint { @Override public int breakText(String text, boolean measureForwards, float maxWidth, float[] measuredWidth) { - // NOTE: javadoc doesn't match. Just a guess. return breakText(text, 0 /* start */, text.length() /* end */, measureForwards, maxWidth, measuredWidth); @@ -975,7 +974,18 @@ public class Paint extends _Original_Paint { @Override public int breakText(CharSequence text, int start, int end, boolean measureForwards, float maxWidth, float[] measuredWidth) { - return super.breakText(text, start, end, measureForwards, maxWidth, measuredWidth); + char[] buf = new char[end - start]; + int result; + + TextUtils.getChars(text, start, end, buf, 0); + + if (measureForwards) { + result = breakText(buf, 0, end - start, maxWidth, measuredWidth); + } else { + result = breakText(buf, 0, -(end - start), maxWidth, measuredWidth); + } + + return result; } /** diff --git a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/Bridge.java b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/Bridge.java index c455977..2df9219 100644 --- a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/Bridge.java +++ b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/Bridge.java @@ -675,9 +675,12 @@ public final class Bridge implements ILayoutBridge { name = name.substring(BridgeConstants.PREFIX_ANDROID.length()); } - // at this point we could have the format style/<name>. we want only the name + // at this point we could have the format <type>/<name>. we want only the name as long as + // the type is style. if (name.startsWith(BridgeConstants.REFERENCE_STYLE)) { name = name.substring(BridgeConstants.REFERENCE_STYLE.length()); + } else if (name.indexOf('/') != -1) { + return null; } IResourceValue parent = null; @@ -697,7 +700,7 @@ public final class Bridge implements ILayoutBridge { return (IStyleResourceValue)parent; } - sLogger.error(String.format("Unable to resolve parent style name: ", parentName)); + sLogger.error(String.format("Unable to resolve parent style name: %s", parentName)); return null; } @@ -1069,24 +1072,24 @@ public final class Bridge implements ILayoutBridge { public void wallpaperOffsetsComplete(IBinder window) { // pass for now. } - + @SuppressWarnings("unused") public Bundle sendWallpaperCommand(IBinder window, String action, int x, int y, int z, Bundle extras, boolean sync) { // pass for now. return null; } - + @SuppressWarnings("unused") public void wallpaperCommandComplete(IBinder window, Bundle result) { // pass for now. } - + @SuppressWarnings("unused") public void closeSystemDialogs(String reason) { // pass for now. } - + public IBinder asBinder() { // pass for now. return null; @@ -1151,12 +1154,12 @@ public final class Bridge implements ILayoutBridge { int z, Bundle extras, boolean sync) { // pass for now. } - + @SuppressWarnings("unused") public void closeSystemDialogs(String reason) { // pass for now. } - + public IBinder asBinder() { // pass for now. return null; diff --git a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/BridgeAssetManager.java b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/BridgeAssetManager.java index 06dd96f..6c1b5b3 100644 --- a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/BridgeAssetManager.java +++ b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/BridgeAssetManager.java @@ -32,21 +32,21 @@ public class BridgeAssetManager extends AssetManager { * {@link Bridge} calls this method after setting up a new bridge. */ /*package*/ static AssetManager initSystem() { - if (!(AssetManager.mSystem instanceof BridgeAssetManager)) { + if (!(AssetManager.sSystem instanceof BridgeAssetManager)) { // Note that AssetManager() creates a system AssetManager and we override it // with our BridgeAssetManager. - AssetManager.mSystem = new BridgeAssetManager(); - AssetManager.mSystem.makeStringBlocks(false); + AssetManager.sSystem = new BridgeAssetManager(); + AssetManager.sSystem.makeStringBlocks(false); } - return AssetManager.mSystem; + return AssetManager.sSystem; } /** - * Clears the static {@link AssetManager#mSystem} to make sure we don't leave objects + * Clears the static {@link AssetManager#sSystem} to make sure we don't leave objects * around that would prevent us from unloading the library. */ /*package*/ static void clearSystem() { - AssetManager.mSystem = null; + AssetManager.sSystem = null; } private BridgeAssetManager() { |