summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
Diffstat (limited to 'tools')
-rw-r--r--tools/aapt/Command.cpp131
-rw-r--r--tools/aapt/Main.cpp12
-rw-r--r--tools/aapt/Resource.cpp14
-rw-r--r--tools/aapt/ResourceTable.cpp13
-rw-r--r--tools/layoutlib/Android.mk4
-rw-r--r--tools/layoutlib/bridge/src/android/graphics/Canvas_Delegate.java28
-rw-r--r--tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeIInputMethodManager.java9
-rw-r--r--tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeWindowSession.java2
-rw-r--r--tools/layoutlib/bridge/src/com/android/layoutlib/bridge/impl/RenderSessionImpl.java1
9 files changed, 159 insertions, 55 deletions
diff --git a/tools/aapt/Command.cpp b/tools/aapt/Command.cpp
index cc0da15..816033e 100644
--- a/tools/aapt/Command.cpp
+++ b/tools/aapt/Command.cpp
@@ -407,6 +407,8 @@ enum {
ICON_ATTR = 0x01010002,
NAME_ATTR = 0x01010003,
PERMISSION_ATTR = 0x01010006,
+ EXPORTED_ATTR = 0x01010010,
+ GRANT_URI_PERMISSIONS_ATTR = 0x0101001b,
RESOURCE_ATTR = 0x01010025,
DEBUGGABLE_ATTR = 0x0101000f,
VALUE_ATTR = 0x01010024,
@@ -582,6 +584,10 @@ Vector<String8> getNfcAidCategories(AssetManager& assets, String8 xmlPath, bool
return categories;
}
+static void printComponentPresence(const char* componentName) {
+ printf("provides-component:'%s'\n", componentName);
+}
+
/*
* Handle the "dump" command, to extract select data from an archive.
*/
@@ -793,19 +799,27 @@ int doDump(Bundle* bundle)
bool withinSupportsInput = false;
bool withinReceiver = false;
bool withinService = false;
+ bool withinProvider = false;
bool withinIntentFilter = false;
bool hasMainActivity = false;
bool hasOtherActivities = false;
bool hasOtherReceivers = false;
bool hasOtherServices = false;
+ bool hasIntentFilter = false;
+
bool hasWallpaperService = false;
bool hasImeService = false;
bool hasAccessibilityService = false;
bool hasPrintService = false;
bool hasWidgetReceivers = false;
bool hasDeviceAdminReceiver = false;
- bool hasIntentFilter = false;
bool hasPaymentService = false;
+ bool hasDocumentsProvider = false;
+ bool hasCameraActivity = false;
+ bool hasCameraSecureActivity = false;
+ bool hasLauncher = false;
+ bool hasNotificationListenerService = false;
+
bool actMainActivity = false;
bool actWidgetReceivers = false;
bool actDeviceAdminEnabled = false;
@@ -815,6 +829,11 @@ int doDump(Bundle* bundle)
bool actPrintService = false;
bool actHostApduService = false;
bool actOffHostApduService = false;
+ bool actDocumentsProvider = false;
+ bool actNotificationListenerService = false;
+ bool actCamera = false;
+ bool actCameraSecure = false;
+ bool catLauncher = false;
bool hasMetaHostPaymentCategory = false;
bool hasMetaOffHostPaymentCategory = false;
@@ -825,6 +844,8 @@ int doDump(Bundle* bundle)
bool hasBindAccessibilityServicePermission = false;
bool hasBindPrintServicePermission = false;
bool hasBindNfcServicePermission = false;
+ bool hasRequiredSafAttributes = false;
+ bool hasBindNotificationListenerServicePermission = false;
// These two implement the implicit permissions that are granted
// to pre-1.6 applications.
@@ -962,13 +983,17 @@ int doDump(Bundle* bundle)
withinActivity = false;
withinService = false;
withinReceiver = false;
+ withinProvider = false;
hasIntentFilter = false;
isMainActivity = isLauncherActivity = isLeanbackLauncherActivity = false;
} else if (depth < 4) {
if (withinIntentFilter) {
if (withinActivity) {
hasMainActivity |= actMainActivity;
- hasOtherActivities |= !actMainActivity;
+ hasLauncher |= catLauncher;
+ hasCameraActivity |= actCamera;
+ hasCameraSecureActivity |= actCameraSecure;
+ hasOtherActivities |= !actMainActivity && !actCamera && !actCameraSecure;
} else if (withinReceiver) {
hasWidgetReceivers |= actWidgetReceivers;
hasDeviceAdminReceiver |= (actDeviceAdminEnabled &&
@@ -980,9 +1005,14 @@ int doDump(Bundle* bundle)
hasAccessibilityService |= (actAccessibilityService &&
hasBindAccessibilityServicePermission);
hasPrintService |= (actPrintService && hasBindPrintServicePermission);
+ hasNotificationListenerService |= actNotificationListenerService &&
+ hasBindNotificationListenerServicePermission;
hasOtherServices |= (!actImeService && !actWallpaperService &&
!actAccessibilityService && !actPrintService &&
- !actHostApduService && !actOffHostApduService);
+ !actHostApduService && !actOffHostApduService &&
+ !actNotificationListenerService);
+ } else if (withinProvider) {
+ hasDocumentsProvider |= actDocumentsProvider && hasRequiredSafAttributes;
}
}
withinIntentFilter = false;
@@ -1348,6 +1378,7 @@ int doDump(Bundle* bundle)
withinActivity = false;
withinReceiver = false;
withinService = false;
+ withinProvider = false;
hasIntentFilter = false;
hasMetaHostPaymentCategory = false;
hasMetaOffHostPaymentCategory = false;
@@ -1356,6 +1387,8 @@ int doDump(Bundle* bundle)
hasBindAccessibilityServicePermission = false;
hasBindPrintServicePermission = false;
hasBindNfcServicePermission = false;
+ hasRequiredSafAttributes = false;
+ hasBindNotificationListenerServicePermission = false;
if (withinApplication) {
if(tag == "activity") {
withinActivity = true;
@@ -1451,11 +1484,41 @@ int doDump(Bundle* bundle)
hasBindPrintServicePermission = true;
} else if (permission == "android.permission.BIND_NFC_SERVICE") {
hasBindNfcServicePermission = true;
+ } else if (permission == "android.permission.BIND_NOTIFICATION_LISTENER_SERVICE") {
+ hasBindNotificationListenerServicePermission = true;
}
} else {
fprintf(stderr, "ERROR getting 'android:permission' attribute for"
" service '%s': %s\n", serviceName.string(), error.string());
}
+ } else if (tag == "provider") {
+ withinProvider = true;
+
+ bool exported = getResolvedIntegerAttribute(&res, tree, EXPORTED_ATTR, &error);
+ if (error != "") {
+ fprintf(stderr, "ERROR getting 'android:exported' attribute for provider:"
+ " %s\n", error.string());
+ goto bail;
+ }
+
+ bool grantUriPermissions = getResolvedIntegerAttribute(&res, tree,
+ GRANT_URI_PERMISSIONS_ATTR, &error);
+ if (error != "") {
+ fprintf(stderr, "ERROR getting 'android:grantUriPermissions' attribute for provider:"
+ " %s\n", error.string());
+ goto bail;
+ }
+
+ String8 permission = getResolvedAttribute(&res, tree, PERMISSION_ATTR, &error);
+ if (error != "") {
+ fprintf(stderr, "ERROR getting 'android:permission' attribute for provider:"
+ " %s\n", error.string());
+ goto bail;
+ }
+
+ hasRequiredSafAttributes |= exported && grantUriPermissions &&
+ permission == "android.permission.MANAGE_DOCUMENTS";
+
} else if (bundle->getIncludeMetaData() && tag == "meta-data") {
String8 metaDataName = getResolvedAttribute(&res, tree, NAME_ATTR, &error);
if (error != "") {
@@ -1504,6 +1567,11 @@ int doDump(Bundle* bundle)
actDeviceAdminEnabled = false;
actHostApduService = false;
actOffHostApduService = false;
+ actDocumentsProvider = false;
+ actNotificationListenerService = false;
+ actCamera = false;
+ actCameraSecure = false;
+ catLauncher = false;
} else if (withinService && tag == "meta-data") {
String8 name = getAttribute(tree, NAME_ATTR, &error);
if (error != "") {
@@ -1559,6 +1627,11 @@ int doDump(Bundle* bundle)
if (action == "android.intent.action.MAIN") {
isMainActivity = true;
actMainActivity = true;
+ } else if (action == "android.media.action.STILL_IMAGE_CAMERA" ||
+ action == "android.media.action.VIDEO_CAMERA") {
+ actCamera = true;
+ } else if (action == "android.media.action.STILL_IMAGE_CAMERA_SECURE") {
+ actCameraSecure = true;
}
} else if (withinReceiver) {
if (action == "android.appwidget.action.APPWIDGET_UPDATE") {
@@ -1579,6 +1652,12 @@ int doDump(Bundle* bundle)
actHostApduService = true;
} else if (action == "android.nfc.cardemulation.action.OFF_HOST_APDU_SERVICE") {
actOffHostApduService = true;
+ } else if (action == "android.service.notification.NotificationListenerService") {
+ actNotificationListenerService = true;
+ }
+ } else if (withinProvider) {
+ if (action == "android.content.action.DOCUMENTS_PROVIDER") {
+ actDocumentsProvider = true;
}
}
if (action == "android.intent.action.SEARCH") {
@@ -1598,6 +1677,8 @@ int doDump(Bundle* bundle)
isLauncherActivity = true;
} else if (category == "android.intent.category.LEANBACK_LAUNCHER") {
isLeanbackLauncherActivity = true;
+ } else if (category == "android.intent.category.HOME") {
+ catLauncher = true;
}
}
}
@@ -1775,37 +1856,53 @@ int doDump(Bundle* bundle)
}
}
- if (hasMainActivity) {
- printf("main\n");
- }
if (hasWidgetReceivers) {
- printf("app-widget\n");
+ printComponentPresence("app-widget");
}
if (hasDeviceAdminReceiver) {
- printf("device-admin\n");
+ printComponentPresence("device-admin");
}
if (hasImeService) {
- printf("ime\n");
+ printComponentPresence("ime");
}
if (hasWallpaperService) {
- printf("wallpaper\n");
+ printComponentPresence("wallpaper");
}
if (hasAccessibilityService) {
- printf("accessibility\n");
+ printComponentPresence("accessibility");
}
if (hasPrintService) {
- printf("print\n");
+ printComponentPresence("print-service");
}
if (hasPaymentService) {
- printf("payment\n");
+ printComponentPresence("payment");
+ }
+ if (isSearchable) {
+ printComponentPresence("search");
+ }
+ if (hasDocumentsProvider) {
+ printComponentPresence("document-provider");
+ }
+ if (hasLauncher) {
+ printComponentPresence("launcher");
+ }
+ if (hasNotificationListenerService) {
+ printComponentPresence("notification-listener");
+ }
+ if (hasCameraActivity) {
+ printComponentPresence("camera");
+ }
+ if (hasCameraSecureActivity) {
+ printComponentPresence("camera-secure");
+ }
+
+ if (hasMainActivity) {
+ printf("main\n");
}
if (hasOtherActivities) {
printf("other-activities\n");
}
- if (isSearchable) {
- printf("search\n");
- }
- if (hasOtherReceivers) {
+ if (hasOtherReceivers) {
printf("other-receivers\n");
}
if (hasOtherServices) {
diff --git a/tools/aapt/Main.cpp b/tools/aapt/Main.cpp
index 5a60014..322d86c 100644
--- a/tools/aapt/Main.cpp
+++ b/tools/aapt/Main.cpp
@@ -105,20 +105,12 @@ void usage(void)
" en\n"
" port,en\n"
" port,land,en_US\n"
- " If you put the special locale, zz_ZZ on the list, it will perform\n"
- " pseudolocalization on the default locale, modifying all of the\n"
- " strings so you can look for strings that missed the\n"
- " internationalization process. For example:\n"
- " port,land,zz_ZZ\n"
" -d one or more device assets to include, separated by commas\n"
" -f force overwrite of existing files\n"
" -g specify a pixel tolerance to force images to grayscale, default 0\n"
" -j specify a jar or zip file containing classes to include\n"
" -k junk path of file(s) added\n"
" -m make package directories under location specified by -J\n"
-#if 0
- " -p pseudolocalize the default configuration\n"
-#endif
" -u update existing packages (add new, replace older, remove deleted files)\n"
" -v verbose output\n"
" -x create extending (non-application) resource IDs\n"
@@ -141,6 +133,8 @@ void usage(void)
" manifest, making the application debuggable even on production devices.\n"
" --include-meta-data\n"
" when used with \"dump badging\" also includes meta-data tags.\n"
+ " --pseudo-localize\n"
+ " generate resources for pseudo-locales (en-XA and ar-XB).\n"
" --min-sdk-version\n"
" inserts android:minSdkVersion in to manifest. If the version is 7 or\n"
" higher, the default encoding for resources will be in UTF-8.\n"
@@ -647,6 +641,8 @@ int main(int argc, char* const argv[])
goto bail;
}
gUserIgnoreAssets = argv[0];
+ } else if (strcmp(cp, "-pseudo-localize") == 0) {
+ bundle.setPseudolocalize(PSEUDO_ACCENTED | PSEUDO_BIDI);
} else {
fprintf(stderr, "ERROR: Unknown option '-%s'\n", cp);
wantUsage = true;
diff --git a/tools/aapt/Resource.cpp b/tools/aapt/Resource.cpp
index f10904c..3d93bbe 100644
--- a/tools/aapt/Resource.cpp
+++ b/tools/aapt/Resource.cpp
@@ -589,11 +589,11 @@ static bool applyFileOverlay(Bundle *bundle,
if (bundle->getVerbose()) {
printf("trying overlaySet Key=%s\n",overlaySet->keyAt(overlayIndex).string());
}
- size_t baseIndex = UNKNOWN_ERROR;
+ ssize_t baseIndex = -1;
if (baseSet->get() != NULL) {
baseIndex = (*baseSet)->indexOfKey(overlaySet->keyAt(overlayIndex));
}
- if (baseIndex < UNKNOWN_ERROR) {
+ if (baseIndex >= 0) {
// look for same flavor. For a given file (strings.xml, for example)
// there may be a locale specific or other flavors - we want to match
// the same flavor.
@@ -619,10 +619,10 @@ static bool applyFileOverlay(Bundle *bundle,
for (size_t overlayGroupIndex = 0;
overlayGroupIndex<overlayGroupSize;
overlayGroupIndex++) {
- size_t baseFileIndex =
+ ssize_t baseFileIndex =
baseGroup->getFiles().indexOfKey(overlayFiles.
keyAt(overlayGroupIndex));
- if (baseFileIndex < UNKNOWN_ERROR) {
+ if (baseFileIndex >= 0) {
if (bundle->getVerbose()) {
printf("found a match (" ZD ") for overlay file %s, for flavor %s\n",
(ZD_TYPE) baseFileIndex,
@@ -1363,7 +1363,11 @@ status_t buildResources(Bundle* bundle, const sp<AaptAssets>& assets, sp<ApkBuil
if (split->isBase()) {
resFile = flattenedTable;
- finalResTable.add(flattenedTable->getData(), flattenedTable->getSize());
+ err = finalResTable.add(flattenedTable->getData(), flattenedTable->getSize());
+ if (err != NO_ERROR) {
+ fprintf(stderr, "Generated resource table is corrupt.\n");
+ return err;
+ }
} else {
sp<AaptFile> generatedManifest = new AaptFile(String8("AndroidManifest.xml"),
AaptGroupEntry(), String8());
diff --git a/tools/aapt/ResourceTable.cpp b/tools/aapt/ResourceTable.cpp
index efbba40..1a9f1b9 100644
--- a/tools/aapt/ResourceTable.cpp
+++ b/tools/aapt/ResourceTable.cpp
@@ -2292,8 +2292,14 @@ uint32_t ResourceTable::getCustomResourceWithCreation(
if (resId != 0 || !createIfNotFound) {
return resId;
}
- String16 value("false");
+ if (mAssetsPackage != package) {
+ mCurrentXmlPos.warning("creating resource for external package %s: %s/%s.",
+ String8(package).string(), String8(type).string(), String8(name).string());
+ mCurrentXmlPos.printf("This will be an error in a future version of AAPT.");
+ }
+
+ String16 value("false");
status_t status = addEntry(mCurrentXmlPos, package, type, name, value, NULL, NULL, true);
if (status == NO_ERROR) {
resId = getResId(package, type, name);
@@ -3062,8 +3068,9 @@ status_t ResourceTable::flatten(Bundle* bundle, const sp<const ResourceFilter>&
for (size_t i = 0; i < N; ++i) {
if (!validResources[i]) {
sp<ConfigList> c = t->getOrderedConfigs().itemAt(i);
- fprintf(stderr, "%s: no entries written for %s/%s\n", log_prefix,
- String8(typeName).string(), String8(c->getName()).string());
+ fprintf(stderr, "%s: no entries written for %s/%s (0x%08x)\n", log_prefix,
+ String8(typeName).string(), String8(c->getName()).string(),
+ Res_MAKEID(p->getAssignedId() - 1, ti, i));
missing_entry = true;
}
}
diff --git a/tools/layoutlib/Android.mk b/tools/layoutlib/Android.mk
index 08486e6..1942831 100644
--- a/tools/layoutlib/Android.mk
+++ b/tools/layoutlib/Android.mk
@@ -30,8 +30,8 @@ LOCAL_JAVACFLAGS := -source 6 -target 6
built_framework_dep := $(call java-lib-deps,framework-base)
built_framework_classes := $(call java-lib-files,framework-base)
-built_core_dep := $(call java-lib-deps,core)
-built_core_classes := $(call java-lib-files,core)
+built_core_dep := $(call java-lib-deps,core-libart)
+built_core_classes := $(call java-lib-files,core-libart)
built_ext_dep := $(call java-lib-deps,ext)
built_ext_classes := $(call java-lib-files,ext)
diff --git a/tools/layoutlib/bridge/src/android/graphics/Canvas_Delegate.java b/tools/layoutlib/bridge/src/android/graphics/Canvas_Delegate.java
index 80f3b18..2ee06fc 100644
--- a/tools/layoutlib/bridge/src/android/graphics/Canvas_Delegate.java
+++ b/tools/layoutlib/bridge/src/android/graphics/Canvas_Delegate.java
@@ -71,7 +71,7 @@ public final class Canvas_Delegate {
* Returns the native delegate associated to a given {@link Canvas} object.
*/
public static Canvas_Delegate getDelegate(Canvas canvas) {
- return sManager.getDelegate(canvas.getNativeCanvas());
+ return sManager.getDelegate(canvas.getNativeCanvasWrapper());
}
/**
@@ -102,7 +102,7 @@ public final class Canvas_Delegate {
@LayoutlibDelegate
/*package*/ static boolean isOpaque(Canvas thisCanvas) {
// get the delegate from the native int.
- Canvas_Delegate canvasDelegate = sManager.getDelegate(thisCanvas.getNativeCanvas());
+ Canvas_Delegate canvasDelegate = sManager.getDelegate(thisCanvas.getNativeCanvasWrapper());
if (canvasDelegate == null) {
return false;
}
@@ -113,7 +113,7 @@ public final class Canvas_Delegate {
@LayoutlibDelegate
/*package*/ static int getWidth(Canvas thisCanvas) {
// get the delegate from the native int.
- Canvas_Delegate canvasDelegate = sManager.getDelegate(thisCanvas.getNativeCanvas());
+ Canvas_Delegate canvasDelegate = sManager.getDelegate(thisCanvas.getNativeCanvasWrapper());
if (canvasDelegate == null) {
return 0;
}
@@ -124,7 +124,7 @@ public final class Canvas_Delegate {
@LayoutlibDelegate
/*package*/ static int getHeight(Canvas thisCanvas) {
// get the delegate from the native int.
- Canvas_Delegate canvasDelegate = sManager.getDelegate(thisCanvas.getNativeCanvas());
+ Canvas_Delegate canvasDelegate = sManager.getDelegate(thisCanvas.getNativeCanvasWrapper());
if (canvasDelegate == null) {
return 0;
}
@@ -135,7 +135,7 @@ public final class Canvas_Delegate {
@LayoutlibDelegate
/*package*/ static void translate(Canvas thisCanvas, float dx, float dy) {
// get the delegate from the native int.
- Canvas_Delegate canvasDelegate = sManager.getDelegate(thisCanvas.getNativeCanvas());
+ Canvas_Delegate canvasDelegate = sManager.getDelegate(thisCanvas.getNativeCanvasWrapper());
if (canvasDelegate == null) {
return;
}
@@ -146,7 +146,7 @@ public final class Canvas_Delegate {
@LayoutlibDelegate
/*package*/ static void rotate(Canvas thisCanvas, float degrees) {
// get the delegate from the native int.
- Canvas_Delegate canvasDelegate = sManager.getDelegate(thisCanvas.getNativeCanvas());
+ Canvas_Delegate canvasDelegate = sManager.getDelegate(thisCanvas.getNativeCanvasWrapper());
if (canvasDelegate == null) {
return;
}
@@ -157,7 +157,7 @@ public final class Canvas_Delegate {
@LayoutlibDelegate
/*package*/ static void scale(Canvas thisCanvas, float sx, float sy) {
// get the delegate from the native int.
- Canvas_Delegate canvasDelegate = sManager.getDelegate(thisCanvas.getNativeCanvas());
+ Canvas_Delegate canvasDelegate = sManager.getDelegate(thisCanvas.getNativeCanvasWrapper());
if (canvasDelegate == null) {
return;
}
@@ -168,7 +168,7 @@ public final class Canvas_Delegate {
@LayoutlibDelegate
/*package*/ static void skew(Canvas thisCanvas, float kx, float ky) {
// get the delegate from the native int.
- Canvas_Delegate canvasDelegate = sManager.getDelegate(thisCanvas.getNativeCanvas());
+ Canvas_Delegate canvasDelegate = sManager.getDelegate(thisCanvas.getNativeCanvasWrapper());
if (canvasDelegate == null) {
return;
}
@@ -204,7 +204,7 @@ public final class Canvas_Delegate {
/*package*/ static boolean clipRect(Canvas thisCanvas, float left, float top, float right,
float bottom) {
// get the delegate from the native int.
- Canvas_Delegate canvasDelegate = sManager.getDelegate(thisCanvas.getNativeCanvas());
+ Canvas_Delegate canvasDelegate = sManager.getDelegate(thisCanvas.getNativeCanvasWrapper());
if (canvasDelegate == null) {
return false;
}
@@ -227,7 +227,7 @@ public final class Canvas_Delegate {
@LayoutlibDelegate
/*package*/ static int save(Canvas thisCanvas, int saveFlags) {
// get the delegate from the native int.
- Canvas_Delegate canvasDelegate = sManager.getDelegate(thisCanvas.getNativeCanvas());
+ Canvas_Delegate canvasDelegate = sManager.getDelegate(thisCanvas.getNativeCanvasWrapper());
if (canvasDelegate == null) {
return 0;
}
@@ -238,7 +238,7 @@ public final class Canvas_Delegate {
@LayoutlibDelegate
/*package*/ static void restore(Canvas thisCanvas) {
// get the delegate from the native int.
- Canvas_Delegate canvasDelegate = sManager.getDelegate(thisCanvas.getNativeCanvas());
+ Canvas_Delegate canvasDelegate = sManager.getDelegate(thisCanvas.getNativeCanvasWrapper());
if (canvasDelegate == null) {
return;
}
@@ -249,7 +249,7 @@ public final class Canvas_Delegate {
@LayoutlibDelegate
/*package*/ static int getSaveCount(Canvas thisCanvas) {
// get the delegate from the native int.
- Canvas_Delegate canvasDelegate = sManager.getDelegate(thisCanvas.getNativeCanvas());
+ Canvas_Delegate canvasDelegate = sManager.getDelegate(thisCanvas.getNativeCanvasWrapper());
if (canvasDelegate == null) {
return 0;
}
@@ -260,7 +260,7 @@ public final class Canvas_Delegate {
@LayoutlibDelegate
/*package*/ static void restoreToCount(Canvas thisCanvas, int saveCount) {
// get the delegate from the native int.
- Canvas_Delegate canvasDelegate = sManager.getDelegate(thisCanvas.getNativeCanvas());
+ Canvas_Delegate canvasDelegate = sManager.getDelegate(thisCanvas.getNativeCanvasWrapper());
if (canvasDelegate == null) {
return;
}
@@ -287,7 +287,7 @@ public final class Canvas_Delegate {
/*package*/ static void drawLines(Canvas thisCanvas,
final float[] pts, final int offset, final int count,
Paint paint) {
- draw(thisCanvas.getNativeCanvas(), paint.mNativePaint, false /*compositeOnly*/,
+ draw(thisCanvas.getNativeCanvasWrapper(), paint.mNativePaint, false /*compositeOnly*/,
false /*forceSrcMode*/, new GcSnapshot.Drawable() {
@Override
public void draw(Graphics2D graphics, Paint_Delegate paintDelegate) {
diff --git a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeIInputMethodManager.java b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeIInputMethodManager.java
index 0bb7fc2..9ec6f4d 100644
--- a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeIInputMethodManager.java
+++ b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeIInputMethodManager.java
@@ -135,7 +135,6 @@ public class BridgeIInputMethodManager implements IInputMethodManager {
@Override
public void setImeWindowStatus(IBinder arg0, int arg1, int arg2) throws RemoteException {
// TODO Auto-generated method stub
-
}
@Override
@@ -197,25 +196,25 @@ public class BridgeIInputMethodManager implements IInputMethodManager {
}
@Override
- public boolean switchToNextInputMethod(IBinder arg0, boolean arg1) throws RemoteException {
+ public boolean switchToNextInputMethod(IBinder arg0, boolean arg1) throws RemoteException {
// TODO Auto-generated method stub
return false;
}
@Override
- public boolean shouldOfferSwitchingToNextInputMethod(IBinder arg0) throws RemoteException {
+ public boolean shouldOfferSwitchingToNextInputMethod(IBinder arg0) throws RemoteException {
// TODO Auto-generated method stub
return false;
}
@Override
- public int getInputMethodWindowVisibleHeight() throws RemoteException {
+ public int getInputMethodWindowVisibleHeight() throws RemoteException {
// TODO Auto-generated method stub
return 0;
}
@Override
- public void notifyTextCommitted() throws RemoteException {
+ public void notifyUserAction(int sequenceNumber) throws RemoteException {
// TODO Auto-generated method stub
}
diff --git a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeWindowSession.java b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeWindowSession.java
index 09e6878..e1064b1 100644
--- a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeWindowSession.java
+++ b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeWindowSession.java
@@ -197,7 +197,7 @@ public final class BridgeWindowSession implements IWindowSession {
}
@Override
- public void onRectangleOnScreenRequested(IBinder window, Rect rectangle, boolean immediate) {
+ public void onRectangleOnScreenRequested(IBinder window, Rect rectangle) {
// pass for now.
}
diff --git a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/impl/RenderSessionImpl.java b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/impl/RenderSessionImpl.java
index 8a58d35..07f72c4 100644
--- a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/impl/RenderSessionImpl.java
+++ b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/impl/RenderSessionImpl.java
@@ -86,6 +86,7 @@ import android.view.ViewGroup.LayoutParams;
import android.view.ViewGroup.MarginLayoutParams;
import android.view.ViewParent;
import android.view.WindowManagerGlobal_Delegate;
+import android.view.ViewParent;
import android.widget.AbsListView;
import android.widget.AbsSpinner;
import android.widget.ActionMenuView;