Loading core/java/android/app/ActivityThread.java +18 −0 Original line number Diff line number Diff line Loading @@ -7346,6 +7346,8 @@ public final class ActivityThread extends ClientTransactionHandler } } VMDebug.setUserId(UserHandle.myUserId()); VMDebug.addApplication(data.appInfo.packageName); // send up app name; do this *before* waiting for debugger Process.setArgV0(data.processName); android.ddm.DdmHandleAppName.setAppName(data.processName, Loading Loading @@ -7868,9 +7870,20 @@ public final class ActivityThread extends ClientTransactionHandler file.getParentFile().mkdirs(); Debug.startMethodTracing(file.toString(), 8 * 1024 * 1024); } if (ii.packageName != null) { VMDebug.addApplication(ii.packageName); } } private void handleFinishInstrumentationWithoutRestart() { LoadedApk loadedApk = getApplication().mLoadedApk; // Only remove instrumentation app if this was not a self-testing app. if (mInstrumentationPackageName != null && loadedApk != null && !mInstrumentationPackageName .equals(loadedApk.mPackageName)) { VMDebug.removeApplication(mInstrumentationPackageName); } mInstrumentation.onDestroy(); mInstrumentationPackageName = null; mInstrumentationAppDir = null; Loading Loading @@ -8904,6 +8917,11 @@ public final class ActivityThread extends ClientTransactionHandler return false; } void addApplication(@NonNull Application app) { mAllApplications.add(app); VMDebug.addApplication(app.mLoadedApk.mPackageName); } @Override public boolean isInDensityCompatMode() { return mDensityCompatMode; Loading core/java/android/app/LoadedApk.java +1 −1 Original line number Diff line number Diff line Loading @@ -1478,7 +1478,7 @@ public final class LoadedApk { + " package " + mPackageName + ": " + e.toString(), e); } } mActivityThread.mAllApplications.add(app); mActivityThread.addApplication(app); mApplication = app; if (!allowDuplicateInstances) { synchronized (sApplications) { Loading core/java/android/os/Debug.java +15 −4 Original line number Diff line number Diff line Loading @@ -114,6 +114,7 @@ public final class Debug "opengl-tracing", "view-hierarchy", "support_boot_stages", "app_info", }; /** Loading Loading @@ -1016,14 +1017,14 @@ public final class Debug // send VM_START. System.out.println("Waiting for debugger first packet"); mWaiting = true; setWaitingForDebugger(true); while (!isDebuggerConnected()) { try { Thread.sleep(100); } catch (InterruptedException ie) { } } mWaiting = false; setWaitingForDebugger(false); System.out.println("Debug.suspendAllAndSentVmStart"); VMDebug.suspendAllAndSendVmStart(); Loading @@ -1049,12 +1050,12 @@ public final class Debug Chunk waitChunk = new Chunk(ChunkHandler.type("WAIT"), data, 0, 1); DdmServer.sendChunk(waitChunk); mWaiting = true; setWaitingForDebugger(true); while (!isDebuggerConnected()) { try { Thread.sleep(SPIN_DELAY); } catch (InterruptedException ie) {} } mWaiting = false; setWaitingForDebugger(false); System.out.println("Debugger has connected"); Loading Loading @@ -1111,6 +1112,16 @@ public final class Debug return VMDebug.getVmFeatureList(); } /** * Set whether the app is waiting for a debugger to connect * * @hide */ private static void setWaitingForDebugger(boolean waiting) { mWaiting = waiting; VMDebug.setWaitingForDebugger(waiting); } /** * Returns an array of strings that identify Framework features. This is * used by DDMS to determine what sorts of operations the Framework can Loading core/java/android/os/Process.java +2 −0 Original line number Diff line number Diff line Loading @@ -41,6 +41,7 @@ import com.android.internal.os.SomeArgs; import com.android.internal.util.Preconditions; import com.android.sdksandbox.flags.Flags; import dalvik.system.VMDebug; import dalvik.system.VMRuntime; import libcore.io.IoUtils; Loading Loading @@ -1410,6 +1411,7 @@ public class Process { public static void setArgV0(@NonNull String text) { sArgV0 = text; setArgV0Native(text); VMDebug.setCurrentProcessName(text); } private static native void setArgV0Native(String text); Loading Loading
core/java/android/app/ActivityThread.java +18 −0 Original line number Diff line number Diff line Loading @@ -7346,6 +7346,8 @@ public final class ActivityThread extends ClientTransactionHandler } } VMDebug.setUserId(UserHandle.myUserId()); VMDebug.addApplication(data.appInfo.packageName); // send up app name; do this *before* waiting for debugger Process.setArgV0(data.processName); android.ddm.DdmHandleAppName.setAppName(data.processName, Loading Loading @@ -7868,9 +7870,20 @@ public final class ActivityThread extends ClientTransactionHandler file.getParentFile().mkdirs(); Debug.startMethodTracing(file.toString(), 8 * 1024 * 1024); } if (ii.packageName != null) { VMDebug.addApplication(ii.packageName); } } private void handleFinishInstrumentationWithoutRestart() { LoadedApk loadedApk = getApplication().mLoadedApk; // Only remove instrumentation app if this was not a self-testing app. if (mInstrumentationPackageName != null && loadedApk != null && !mInstrumentationPackageName .equals(loadedApk.mPackageName)) { VMDebug.removeApplication(mInstrumentationPackageName); } mInstrumentation.onDestroy(); mInstrumentationPackageName = null; mInstrumentationAppDir = null; Loading Loading @@ -8904,6 +8917,11 @@ public final class ActivityThread extends ClientTransactionHandler return false; } void addApplication(@NonNull Application app) { mAllApplications.add(app); VMDebug.addApplication(app.mLoadedApk.mPackageName); } @Override public boolean isInDensityCompatMode() { return mDensityCompatMode; Loading
core/java/android/app/LoadedApk.java +1 −1 Original line number Diff line number Diff line Loading @@ -1478,7 +1478,7 @@ public final class LoadedApk { + " package " + mPackageName + ": " + e.toString(), e); } } mActivityThread.mAllApplications.add(app); mActivityThread.addApplication(app); mApplication = app; if (!allowDuplicateInstances) { synchronized (sApplications) { Loading
core/java/android/os/Debug.java +15 −4 Original line number Diff line number Diff line Loading @@ -114,6 +114,7 @@ public final class Debug "opengl-tracing", "view-hierarchy", "support_boot_stages", "app_info", }; /** Loading Loading @@ -1016,14 +1017,14 @@ public final class Debug // send VM_START. System.out.println("Waiting for debugger first packet"); mWaiting = true; setWaitingForDebugger(true); while (!isDebuggerConnected()) { try { Thread.sleep(100); } catch (InterruptedException ie) { } } mWaiting = false; setWaitingForDebugger(false); System.out.println("Debug.suspendAllAndSentVmStart"); VMDebug.suspendAllAndSendVmStart(); Loading @@ -1049,12 +1050,12 @@ public final class Debug Chunk waitChunk = new Chunk(ChunkHandler.type("WAIT"), data, 0, 1); DdmServer.sendChunk(waitChunk); mWaiting = true; setWaitingForDebugger(true); while (!isDebuggerConnected()) { try { Thread.sleep(SPIN_DELAY); } catch (InterruptedException ie) {} } mWaiting = false; setWaitingForDebugger(false); System.out.println("Debugger has connected"); Loading Loading @@ -1111,6 +1112,16 @@ public final class Debug return VMDebug.getVmFeatureList(); } /** * Set whether the app is waiting for a debugger to connect * * @hide */ private static void setWaitingForDebugger(boolean waiting) { mWaiting = waiting; VMDebug.setWaitingForDebugger(waiting); } /** * Returns an array of strings that identify Framework features. This is * used by DDMS to determine what sorts of operations the Framework can Loading
core/java/android/os/Process.java +2 −0 Original line number Diff line number Diff line Loading @@ -41,6 +41,7 @@ import com.android.internal.os.SomeArgs; import com.android.internal.util.Preconditions; import com.android.sdksandbox.flags.Flags; import dalvik.system.VMDebug; import dalvik.system.VMRuntime; import libcore.io.IoUtils; Loading Loading @@ -1410,6 +1411,7 @@ public class Process { public static void setArgV0(@NonNull String text) { sArgV0 = text; setArgV0Native(text); VMDebug.setCurrentProcessName(text); } private static native void setArgV0Native(String text); Loading