summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
Diffstat (limited to 'tools')
-rw-r--r--tools/aapt/Bundle.h7
-rw-r--r--tools/aapt/Main.cpp14
-rw-r--r--tools/aapt/Resource.cpp6
-rw-r--r--tools/aapt/ResourceTable.cpp10
-rw-r--r--tools/aapt2/flatten/TableFlattener.cpp2
-rw-r--r--tools/aapt2/unflatten/BinaryResourceParser.cpp2
-rw-r--r--tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgePackageManager.java32
7 files changed, 69 insertions, 4 deletions
diff --git a/tools/aapt/Bundle.h b/tools/aapt/Bundle.h
index c29bb482c159..c4495509614e 100644
--- a/tools/aapt/Bundle.h
+++ b/tools/aapt/Bundle.h
@@ -127,6 +127,12 @@ public:
const android::String8& getPlatformBuildVersionName() { return mPlatformVersionName; }
void setPlatformBuildVersionName(const android::String8& name) { mPlatformVersionName = name; }
+ const android::String8& getPrivateSymbolsPackage() const { return mPrivateSymbolsPackage; }
+
+ void setPrivateSymbolsPackage(const android::String8& package) {
+ mPrivateSymbolsPackage = package;
+ }
+
bool getUTF16StringsOption() {
return mWantUTF16 || !isMinSdkAtLeast(SDK_FROYO);
}
@@ -333,6 +339,7 @@ private:
bool mBuildAppAsSharedLibrary;
android::String8 mPlatformVersionCode;
android::String8 mPlatformVersionName;
+ android::String8 mPrivateSymbolsPackage;
/* file specification */
int mArgc;
diff --git a/tools/aapt/Main.cpp b/tools/aapt/Main.cpp
index 64112867a4b4..c424cc516b56 100644
--- a/tools/aapt/Main.cpp
+++ b/tools/aapt/Main.cpp
@@ -220,7 +220,9 @@ void usage(void)
" Prevents symbols from being generated for strings that do not have a default\n"
" localization\n"
" --no-version-vectors\n"
- " Do not automatically generate versioned copies of vector XML resources.\n",
+ " Do not automatically generate versioned copies of vector XML resources.\n"
+ " --private-symbols\n"
+ " Java package name to use when generating R.java for private resources.\n",
gDefaultIgnoreAssets);
}
@@ -689,6 +691,16 @@ int main(int argc, char* const argv[])
bundle.setPseudolocalize(PSEUDO_ACCENTED | PSEUDO_BIDI);
} else if (strcmp(cp, "-no-version-vectors") == 0) {
bundle.setNoVersionVectors(true);
+ } else if (strcmp(cp, "-private-symbols") == 0) {
+ argc--;
+ argv++;
+ if (!argc) {
+ fprintf(stderr, "ERROR: No argument supplied for "
+ "'--private-symbols' option\n");
+ wantUsage = true;
+ goto bail;
+ }
+ bundle.setPrivateSymbolsPackage(String8(argv[0]));
} else {
fprintf(stderr, "ERROR: Unknown option '-%s'\n", cp);
wantUsage = true;
diff --git a/tools/aapt/Resource.cpp b/tools/aapt/Resource.cpp
index fb0fe38da1ff..576f076f4a3f 100644
--- a/tools/aapt/Resource.cpp
+++ b/tools/aapt/Resource.cpp
@@ -1161,6 +1161,12 @@ status_t buildResources(Bundle* bundle, const sp<AaptAssets>& assets, sp<ApkBuil
printf("Creating resources for package %s\n", assets->getPackage().string());
}
+ // Set the private symbols package if it was declared.
+ // This can also be declared in XML as <private-symbols name="package" />
+ if (bundle->getPrivateSymbolsPackage().size() != 0) {
+ assets->setSymbolsPrivatePackage(bundle->getPrivateSymbolsPackage());
+ }
+
ResourceTable::PackageType packageType = ResourceTable::App;
if (bundle->getBuildSharedLibrary()) {
packageType = ResourceTable::SharedLibrary;
diff --git a/tools/aapt/ResourceTable.cpp b/tools/aapt/ResourceTable.cpp
index 0e470d924f5a..e87c7d40f1d4 100644
--- a/tools/aapt/ResourceTable.cpp
+++ b/tools/aapt/ResourceTable.cpp
@@ -1141,7 +1141,15 @@ status_t compileResourceFile(Bundle* bundle,
}
pkg = String16(block.getAttributeStringValue(pkgIdx, &len));
if (!localHasErrors) {
- assets->setSymbolsPrivatePackage(String8(pkg));
+ SourcePos(in->getPrintableSource(), block.getLineNumber()).warning(
+ "<private-symbols> is deprecated. Use the command line flag "
+ "--private-symbols instead.\n");
+ if (assets->havePrivateSymbols()) {
+ SourcePos(in->getPrintableSource(), block.getLineNumber()).warning(
+ "private symbol package already specified. Ignoring...\n");
+ } else {
+ assets->setSymbolsPrivatePackage(String8(pkg));
+ }
}
while ((code=block.next()) != ResXMLTree::END_DOCUMENT && code != ResXMLTree::BAD_DOCUMENT) {
diff --git a/tools/aapt2/flatten/TableFlattener.cpp b/tools/aapt2/flatten/TableFlattener.cpp
index f42e6b7b126f..46ee914c150a 100644
--- a/tools/aapt2/flatten/TableFlattener.cpp
+++ b/tools/aapt2/flatten/TableFlattener.cpp
@@ -23,7 +23,7 @@
#include "flatten/TableFlattener.h"
#include "util/BigBuffer.h"
-#include <base/macros.h>
+#include <android-base/macros.h>
#include <type_traits>
#include <numeric>
diff --git a/tools/aapt2/unflatten/BinaryResourceParser.cpp b/tools/aapt2/unflatten/BinaryResourceParser.cpp
index 5cc7aa7cdc3e..46b520592f25 100644
--- a/tools/aapt2/unflatten/BinaryResourceParser.cpp
+++ b/tools/aapt2/unflatten/BinaryResourceParser.cpp
@@ -27,7 +27,7 @@
#include <androidfw/ResourceTypes.h>
#include <androidfw/TypeWrappers.h>
-#include <base/macros.h>
+#include <android-base/macros.h>
#include <map>
#include <string>
diff --git a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgePackageManager.java b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgePackageManager.java
index e3a19e76a3ef..bab25c0a395e 100644
--- a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgePackageManager.java
+++ b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgePackageManager.java
@@ -16,6 +16,7 @@
package com.android.layoutlib.bridge.android;
+import android.annotation.NonNull;
import android.app.PackageInstallObserver;
import android.content.ComponentName;
import android.content.Intent;
@@ -24,6 +25,7 @@ import android.content.IntentSender;
import android.content.pm.ActivityInfo;
import android.content.pm.ApplicationInfo;
import android.content.pm.ContainerEncryptionParams;
+import android.content.pm.EphemeralApplicationInfo;
import android.content.pm.FeatureInfo;
import android.content.pm.IPackageDataObserver;
import android.content.pm.IPackageDeleteObserver;
@@ -251,6 +253,36 @@ public class BridgePackageManager extends PackageManager {
}
@Override
+ public List<EphemeralApplicationInfo> getEphemeralApplications() {
+ return null;
+ }
+
+ @Override
+ public Drawable getEphemeralApplicationIcon(String packageName) {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public byte[] getEphemeralCookie() {
+ return new byte[0];
+ }
+
+ @Override
+ public boolean isEphemeralApplication() {
+ return false;
+ }
+
+ @Override
+ public int getEphemeralCookieMaxSizeBytes() {
+ return 0;
+ }
+
+ @Override
+ public boolean setEphemeralCookie(@NonNull byte[] cookie) {
+ return false;
+ }
+
+ @Override
public String[] getSystemSharedLibraryNames() {
return new String[0];
}