Loading core/java/android/app/ActivityManagerNative.java +3 −2 Original line number Original line Diff line number Diff line Loading @@ -1959,7 +1959,8 @@ public abstract class ActivityManagerNative extends Binder implements IActivityM int initialPid = data.readInt(); int initialPid = data.readInt(); String packageName = data.readString(); String packageName = data.readString(); String message = data.readString(); String message = data.readString(); crashApplication(uid, initialPid, packageName, message); crashApplication(uid, initialPid, packageName, message, false /*force*/); reply.writeNoException(); reply.writeNoException(); return true; return true; } } Loading Loading @@ -5523,7 +5524,7 @@ class ActivityManagerProxy implements IActivityManager } } public void crashApplication(int uid, int initialPid, String packageName, public void crashApplication(int uid, int initialPid, String packageName, String message) throws RemoteException { String message, boolean force) throws RemoteException { Parcel data = Parcel.obtain(); Parcel data = Parcel.obtain(); Parcel reply = Parcel.obtain(); Parcel reply = Parcel.obtain(); data.writeInterfaceToken(IActivityManager.descriptor); data.writeInterfaceToken(IActivityManager.descriptor); Loading core/java/android/app/IActivityManager.java +1 −1 Original line number Original line Diff line number Diff line Loading @@ -428,7 +428,7 @@ public interface IActivityManager extends IInterface { public boolean isTopOfTask(IBinder token) throws RemoteException; public boolean isTopOfTask(IBinder token) throws RemoteException; public void crashApplication(int uid, int initialPid, String packageName, public void crashApplication(int uid, int initialPid, String packageName, String message) throws RemoteException; String message, boolean force) throws RemoteException; public String getProviderMimeType(Uri uri, int userId) throws RemoteException; public String getProviderMimeType(Uri uri, int userId) throws RemoteException; Loading packages/SystemUI/src/com/android/systemui/ImageWallpaper.java +10 −1 Original line number Original line Diff line number Diff line Loading @@ -578,7 +578,16 @@ public class ImageWallpaper extends WallpaperService { final FloatBuffer triangleVertices = createMesh(left, top, right, bottom); final FloatBuffer triangleVertices = createMesh(left, top, right, bottom); final int texture = loadTexture(mBackground); int texture = 0; try { texture = loadTexture(mBackground); } catch (IllegalArgumentException e) { mEgl.eglMakeCurrent(mEglDisplay, EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT); mEgl.eglDestroySurface(mEglDisplay, mEglSurface); mEgl.eglDestroyContext(mEglDisplay, mEglContext); mEgl.eglTerminate(mEglDisplay); return false; } final int program = buildProgram(sSimpleVS, sSimpleFS); final int program = buildProgram(sSimpleVS, sSimpleFS); final int attribPosition = glGetAttribLocation(program, "position"); final int attribPosition = glGetAttribLocation(program, "position"); Loading services/core/java/com/android/server/am/ActiveServices.java +9 −0 Original line number Original line Diff line number Diff line Loading @@ -618,6 +618,15 @@ public final class ActiveServices { } } } } void killMisbehavingService(ServiceRecord r, int appUid, int appPid, String localPackageName) { synchronized (mAm) { stopServiceLocked(r); mAm.crashApplication(appUid, appPid, localPackageName, "Bad notification for startForeground", true /*force*/); } } IBinder peekServiceLocked(Intent service, String resolvedType, String callingPackage) { IBinder peekServiceLocked(Intent service, String resolvedType, String callingPackage) { ServiceLookupResult r = retrieveServiceLocked(service, resolvedType, callingPackage, ServiceLookupResult r = retrieveServiceLocked(service, resolvedType, callingPackage, Binder.getCallingPid(), Binder.getCallingUid(), Binder.getCallingPid(), Binder.getCallingUid(), Loading services/core/java/com/android/server/am/ActivityManagerService.java +3 −2 Original line number Original line Diff line number Diff line Loading @@ -5122,7 +5122,7 @@ public final class ActivityManagerService extends ActivityManagerNative @Override @Override public void crashApplication(int uid, int initialPid, String packageName, public void crashApplication(int uid, int initialPid, String packageName, String message) { String message, boolean force) { if (checkCallingPermission(android.Manifest.permission.FORCE_STOP_PACKAGES) if (checkCallingPermission(android.Manifest.permission.FORCE_STOP_PACKAGES) != PackageManager.PERMISSION_GRANTED) { != PackageManager.PERMISSION_GRANTED) { String msg = "Permission Denial: crashApplication() from pid=" String msg = "Permission Denial: crashApplication() from pid=" Loading @@ -5134,7 +5134,8 @@ public final class ActivityManagerService extends ActivityManagerNative } } synchronized(this) { synchronized(this) { mAppErrors.scheduleAppCrashLocked(uid, initialPid, packageName, message); mAppErrors.scheduleAppCrashLocked(uid, initialPid, packageName, message, force); } } } } Loading Loading
core/java/android/app/ActivityManagerNative.java +3 −2 Original line number Original line Diff line number Diff line Loading @@ -1959,7 +1959,8 @@ public abstract class ActivityManagerNative extends Binder implements IActivityM int initialPid = data.readInt(); int initialPid = data.readInt(); String packageName = data.readString(); String packageName = data.readString(); String message = data.readString(); String message = data.readString(); crashApplication(uid, initialPid, packageName, message); crashApplication(uid, initialPid, packageName, message, false /*force*/); reply.writeNoException(); reply.writeNoException(); return true; return true; } } Loading Loading @@ -5523,7 +5524,7 @@ class ActivityManagerProxy implements IActivityManager } } public void crashApplication(int uid, int initialPid, String packageName, public void crashApplication(int uid, int initialPid, String packageName, String message) throws RemoteException { String message, boolean force) throws RemoteException { Parcel data = Parcel.obtain(); Parcel data = Parcel.obtain(); Parcel reply = Parcel.obtain(); Parcel reply = Parcel.obtain(); data.writeInterfaceToken(IActivityManager.descriptor); data.writeInterfaceToken(IActivityManager.descriptor); Loading
core/java/android/app/IActivityManager.java +1 −1 Original line number Original line Diff line number Diff line Loading @@ -428,7 +428,7 @@ public interface IActivityManager extends IInterface { public boolean isTopOfTask(IBinder token) throws RemoteException; public boolean isTopOfTask(IBinder token) throws RemoteException; public void crashApplication(int uid, int initialPid, String packageName, public void crashApplication(int uid, int initialPid, String packageName, String message) throws RemoteException; String message, boolean force) throws RemoteException; public String getProviderMimeType(Uri uri, int userId) throws RemoteException; public String getProviderMimeType(Uri uri, int userId) throws RemoteException; Loading
packages/SystemUI/src/com/android/systemui/ImageWallpaper.java +10 −1 Original line number Original line Diff line number Diff line Loading @@ -578,7 +578,16 @@ public class ImageWallpaper extends WallpaperService { final FloatBuffer triangleVertices = createMesh(left, top, right, bottom); final FloatBuffer triangleVertices = createMesh(left, top, right, bottom); final int texture = loadTexture(mBackground); int texture = 0; try { texture = loadTexture(mBackground); } catch (IllegalArgumentException e) { mEgl.eglMakeCurrent(mEglDisplay, EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT); mEgl.eglDestroySurface(mEglDisplay, mEglSurface); mEgl.eglDestroyContext(mEglDisplay, mEglContext); mEgl.eglTerminate(mEglDisplay); return false; } final int program = buildProgram(sSimpleVS, sSimpleFS); final int program = buildProgram(sSimpleVS, sSimpleFS); final int attribPosition = glGetAttribLocation(program, "position"); final int attribPosition = glGetAttribLocation(program, "position"); Loading
services/core/java/com/android/server/am/ActiveServices.java +9 −0 Original line number Original line Diff line number Diff line Loading @@ -618,6 +618,15 @@ public final class ActiveServices { } } } } void killMisbehavingService(ServiceRecord r, int appUid, int appPid, String localPackageName) { synchronized (mAm) { stopServiceLocked(r); mAm.crashApplication(appUid, appPid, localPackageName, "Bad notification for startForeground", true /*force*/); } } IBinder peekServiceLocked(Intent service, String resolvedType, String callingPackage) { IBinder peekServiceLocked(Intent service, String resolvedType, String callingPackage) { ServiceLookupResult r = retrieveServiceLocked(service, resolvedType, callingPackage, ServiceLookupResult r = retrieveServiceLocked(service, resolvedType, callingPackage, Binder.getCallingPid(), Binder.getCallingUid(), Binder.getCallingPid(), Binder.getCallingUid(), Loading
services/core/java/com/android/server/am/ActivityManagerService.java +3 −2 Original line number Original line Diff line number Diff line Loading @@ -5122,7 +5122,7 @@ public final class ActivityManagerService extends ActivityManagerNative @Override @Override public void crashApplication(int uid, int initialPid, String packageName, public void crashApplication(int uid, int initialPid, String packageName, String message) { String message, boolean force) { if (checkCallingPermission(android.Manifest.permission.FORCE_STOP_PACKAGES) if (checkCallingPermission(android.Manifest.permission.FORCE_STOP_PACKAGES) != PackageManager.PERMISSION_GRANTED) { != PackageManager.PERMISSION_GRANTED) { String msg = "Permission Denial: crashApplication() from pid=" String msg = "Permission Denial: crashApplication() from pid=" Loading @@ -5134,7 +5134,8 @@ public final class ActivityManagerService extends ActivityManagerNative } } synchronized(this) { synchronized(this) { mAppErrors.scheduleAppCrashLocked(uid, initialPid, packageName, message); mAppErrors.scheduleAppCrashLocked(uid, initialPid, packageName, message, force); } } } } Loading