Loading core/java/android/app/ActivityManagerNative.java +22 −0 Original line number Diff line number Diff line Loading @@ -2330,6 +2330,15 @@ public abstract class ActivityManagerNative extends Binder implements IActivityM reply.writeNoException(); return true; } case NOTIFY_CLEARTEXT_NETWORK_TRANSACTION: { data.enforceInterface(IActivityManager.descriptor); final int uid = data.readInt(); final byte[] firstPacket = data.createByteArray(); notifyCleartextNetwork(uid, firstPacket); reply.writeNoException(); return true; } } return super.onTransact(code, data, reply, flags); Loading Loading @@ -5381,5 +5390,18 @@ class ActivityManagerProxy implements IActivityManager reply.recycle(); } @Override public void notifyCleartextNetwork(int uid, byte[] firstPacket) throws RemoteException { Parcel data = Parcel.obtain(); Parcel reply = Parcel.obtain(); data.writeInterfaceToken(IActivityManager.descriptor); data.writeInt(uid); data.writeByteArray(firstPacket); mRemote.transact(NOTIFY_CLEARTEXT_NETWORK_TRANSACTION, data, reply, 0); reply.readException(); data.recycle(); reply.recycle(); } private IBinder mRemote; } core/java/android/app/ActivityThread.java +8 −0 Original line number Diff line number Diff line Loading @@ -1168,9 +1168,17 @@ public final class ActivityThread { sendMessage(H.BACKGROUND_VISIBLE_BEHIND_CHANGED, token, visible ? 1 : 0); } @Override public void scheduleEnterAnimationComplete(IBinder token) { sendMessage(H.ENTER_ANIMATION_COMPLETE, token); } @Override public void notifyCleartextNetwork(byte[] firstPacket) { if (StrictMode.vmCleartextNetworkEnabled()) { StrictMode.onCleartextNetworkDetected(firstPacket); } } } private class H extends Handler { Loading core/java/android/app/ApplicationThreadNative.java +18 −0 Original line number Diff line number Diff line Loading @@ -667,6 +667,15 @@ public abstract class ApplicationThreadNative extends Binder reply.writeNoException(); return true; } case NOTIFY_CLEARTEXT_NETWORK_TRANSACTION: { data.enforceInterface(IApplicationThread.descriptor); final byte[] firstPacket = data.createByteArray(); notifyCleartextNetwork(firstPacket); reply.writeNoException(); return true; } } return super.onTransact(code, data, reply, flags); Loading Loading @@ -1346,4 +1355,13 @@ class ApplicationThreadProxy implements IApplicationThread { mRemote.transact(ENTER_ANIMATION_COMPLETE_TRANSACTION, data, null, IBinder.FLAG_ONEWAY); data.recycle(); } @Override public void notifyCleartextNetwork(byte[] firstPacket) throws RemoteException { Parcel data = Parcel.obtain(); data.writeInterfaceToken(IApplicationThread.descriptor); data.writeByteArray(firstPacket); mRemote.transact(NOTIFY_CLEARTEXT_NETWORK_TRANSACTION, data, null, IBinder.FLAG_ONEWAY); data.recycle(); } } core/java/android/app/IActivityManager.java +5 −0 Original line number Diff line number Diff line Loading @@ -464,6 +464,8 @@ public interface IActivityManager extends IInterface { public void notifyLaunchTaskBehindComplete(IBinder token) throws RemoteException; public void notifyEnterAnimationComplete(IBinder token) throws RemoteException; public void notifyCleartextNetwork(int uid, byte[] firstPacket) throws RemoteException; /* * Private non-Binder interfaces */ Loading Loading @@ -782,4 +784,7 @@ public interface IActivityManager extends IInterface { int BOOT_ANIMATION_COMPLETE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+237; int GET_TASK_DESCRIPTION_ICON_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+238; int LAUNCH_ASSIST_INTENT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+239; // Start of M transactions int NOTIFY_CLEARTEXT_NETWORK_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+280; } core/java/android/app/IApplicationThread.java +2 −0 Original line number Diff line number Diff line Loading @@ -146,6 +146,7 @@ public interface IApplicationThread extends IInterface { void scheduleCancelVisibleBehind(IBinder token) throws RemoteException; void scheduleBackgroundVisibleBehindChanged(IBinder token, boolean enabled) throws RemoteException; void scheduleEnterAnimationComplete(IBinder token) throws RemoteException; void notifyCleartextNetwork(byte[] firstPacket) throws RemoteException; String descriptor = "android.app.IApplicationThread"; Loading Loading @@ -203,4 +204,5 @@ public interface IApplicationThread extends IInterface { int CANCEL_VISIBLE_BEHIND_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+52; int BACKGROUND_VISIBLE_BEHIND_CHANGED_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+53; int ENTER_ANIMATION_COMPLETE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+54; int NOTIFY_CLEARTEXT_NETWORK_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+55; } Loading
core/java/android/app/ActivityManagerNative.java +22 −0 Original line number Diff line number Diff line Loading @@ -2330,6 +2330,15 @@ public abstract class ActivityManagerNative extends Binder implements IActivityM reply.writeNoException(); return true; } case NOTIFY_CLEARTEXT_NETWORK_TRANSACTION: { data.enforceInterface(IActivityManager.descriptor); final int uid = data.readInt(); final byte[] firstPacket = data.createByteArray(); notifyCleartextNetwork(uid, firstPacket); reply.writeNoException(); return true; } } return super.onTransact(code, data, reply, flags); Loading Loading @@ -5381,5 +5390,18 @@ class ActivityManagerProxy implements IActivityManager reply.recycle(); } @Override public void notifyCleartextNetwork(int uid, byte[] firstPacket) throws RemoteException { Parcel data = Parcel.obtain(); Parcel reply = Parcel.obtain(); data.writeInterfaceToken(IActivityManager.descriptor); data.writeInt(uid); data.writeByteArray(firstPacket); mRemote.transact(NOTIFY_CLEARTEXT_NETWORK_TRANSACTION, data, reply, 0); reply.readException(); data.recycle(); reply.recycle(); } private IBinder mRemote; }
core/java/android/app/ActivityThread.java +8 −0 Original line number Diff line number Diff line Loading @@ -1168,9 +1168,17 @@ public final class ActivityThread { sendMessage(H.BACKGROUND_VISIBLE_BEHIND_CHANGED, token, visible ? 1 : 0); } @Override public void scheduleEnterAnimationComplete(IBinder token) { sendMessage(H.ENTER_ANIMATION_COMPLETE, token); } @Override public void notifyCleartextNetwork(byte[] firstPacket) { if (StrictMode.vmCleartextNetworkEnabled()) { StrictMode.onCleartextNetworkDetected(firstPacket); } } } private class H extends Handler { Loading
core/java/android/app/ApplicationThreadNative.java +18 −0 Original line number Diff line number Diff line Loading @@ -667,6 +667,15 @@ public abstract class ApplicationThreadNative extends Binder reply.writeNoException(); return true; } case NOTIFY_CLEARTEXT_NETWORK_TRANSACTION: { data.enforceInterface(IApplicationThread.descriptor); final byte[] firstPacket = data.createByteArray(); notifyCleartextNetwork(firstPacket); reply.writeNoException(); return true; } } return super.onTransact(code, data, reply, flags); Loading Loading @@ -1346,4 +1355,13 @@ class ApplicationThreadProxy implements IApplicationThread { mRemote.transact(ENTER_ANIMATION_COMPLETE_TRANSACTION, data, null, IBinder.FLAG_ONEWAY); data.recycle(); } @Override public void notifyCleartextNetwork(byte[] firstPacket) throws RemoteException { Parcel data = Parcel.obtain(); data.writeInterfaceToken(IApplicationThread.descriptor); data.writeByteArray(firstPacket); mRemote.transact(NOTIFY_CLEARTEXT_NETWORK_TRANSACTION, data, null, IBinder.FLAG_ONEWAY); data.recycle(); } }
core/java/android/app/IActivityManager.java +5 −0 Original line number Diff line number Diff line Loading @@ -464,6 +464,8 @@ public interface IActivityManager extends IInterface { public void notifyLaunchTaskBehindComplete(IBinder token) throws RemoteException; public void notifyEnterAnimationComplete(IBinder token) throws RemoteException; public void notifyCleartextNetwork(int uid, byte[] firstPacket) throws RemoteException; /* * Private non-Binder interfaces */ Loading Loading @@ -782,4 +784,7 @@ public interface IActivityManager extends IInterface { int BOOT_ANIMATION_COMPLETE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+237; int GET_TASK_DESCRIPTION_ICON_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+238; int LAUNCH_ASSIST_INTENT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+239; // Start of M transactions int NOTIFY_CLEARTEXT_NETWORK_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+280; }
core/java/android/app/IApplicationThread.java +2 −0 Original line number Diff line number Diff line Loading @@ -146,6 +146,7 @@ public interface IApplicationThread extends IInterface { void scheduleCancelVisibleBehind(IBinder token) throws RemoteException; void scheduleBackgroundVisibleBehindChanged(IBinder token, boolean enabled) throws RemoteException; void scheduleEnterAnimationComplete(IBinder token) throws RemoteException; void notifyCleartextNetwork(byte[] firstPacket) throws RemoteException; String descriptor = "android.app.IApplicationThread"; Loading Loading @@ -203,4 +204,5 @@ public interface IApplicationThread extends IInterface { int CANCEL_VISIBLE_BEHIND_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+52; int BACKGROUND_VISIBLE_BEHIND_CHANGED_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+53; int ENTER_ANIMATION_COMPLETE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+54; int NOTIFY_CLEARTEXT_NETWORK_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+55; }