summaryrefslogtreecommitdiffstats
path: root/core/java/android/view
diff options
context:
space:
mode:
Diffstat (limited to 'core/java/android/view')
-rw-r--r--core/java/android/view/HardwareRenderer.java12
-rw-r--r--core/java/android/view/IAssetAtlas.aidl7
2 files changed, 14 insertions, 5 deletions
diff --git a/core/java/android/view/HardwareRenderer.java b/core/java/android/view/HardwareRenderer.java
index 8dada90..c07b187 100644
--- a/core/java/android/view/HardwareRenderer.java
+++ b/core/java/android/view/HardwareRenderer.java
@@ -1931,11 +1931,13 @@ public abstract class HardwareRenderer {
IAssetAtlas atlas = IAssetAtlas.Stub.asInterface(binder);
try {
- GraphicBuffer buffer = atlas.getBuffer();
- if (buffer != null) {
- int[] map = atlas.getMap();
- if (map != null) {
- GLES20Canvas.initAtlas(buffer, map);
+ if (atlas.isCompatible(android.os.Process.myPpid())) {
+ GraphicBuffer buffer = atlas.getBuffer();
+ if (buffer != null) {
+ int[] map = atlas.getMap();
+ if (map != null) {
+ GLES20Canvas.initAtlas(buffer, map);
+ }
}
}
} catch (RemoteException e) {
diff --git a/core/java/android/view/IAssetAtlas.aidl b/core/java/android/view/IAssetAtlas.aidl
index 2595179..5f1e238 100644
--- a/core/java/android/view/IAssetAtlas.aidl
+++ b/core/java/android/view/IAssetAtlas.aidl
@@ -28,6 +28,13 @@ import android.view.GraphicBuffer;
*/
interface IAssetAtlas {
/**
+ * Indicates whether the atlas is compatible with the specified
+ * parent process id. If the atlas' ppid does not match, this
+ * method will return false.
+ */
+ boolean isCompatible(int ppid);
+
+ /**
* Returns the atlas buffer (texture) or null if the atlas is
* not available yet.
*/