Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8d07a14e authored by Sebastien Hertz's avatar Sebastien Hertz Committed by Android (Google) Code Review
Browse files

Merge "Report runtime information to DDMS" into lmp-preview-dev

parents 2d2e30ee 98d56585
Loading
Loading
Loading
Loading
+20 −2
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ import org.apache.harmony.dalvik.ddmc.DdmServer;
import android.util.Log;
import android.os.Debug;
import android.os.UserHandle;
import dalvik.system.VMRuntime;

import java.nio.ByteBuffer;

@@ -126,8 +127,21 @@ public class DdmHandleHello extends ChunkHandler {
        //    appName = "unknown";
        String appName = DdmHandleAppName.getAppName();

        ByteBuffer out = ByteBuffer.allocate(20
                            + vmIdent.length()*2 + appName.length()*2);
        VMRuntime vmRuntime = VMRuntime.getRuntime();
        String instructionSetDescription =
            vmRuntime.is64Bit() ? "64-bit" : "32-bit";
        String vmInstructionSet = vmRuntime.vmInstructionSet();
        if (vmInstructionSet != null && vmInstructionSet.length() > 0) {
          instructionSetDescription += " (" + vmInstructionSet + ")";
        }
        String vmFlags = "CheckJNI="
            + (vmRuntime.isCheckJniEnabled() ? "true" : "false");

        ByteBuffer out = ByteBuffer.allocate(28
                            + vmIdent.length() * 2
                            + appName.length() * 2
                            + instructionSetDescription.length() * 2
                            + vmFlags.length() * 2);
        out.order(ChunkHandler.CHUNK_ORDER);
        out.putInt(DdmServer.CLIENT_PROTOCOL_VERSION);
        out.putInt(android.os.Process.myPid());
@@ -136,6 +150,10 @@ public class DdmHandleHello extends ChunkHandler {
        putString(out, vmIdent);
        putString(out, appName);
        out.putInt(UserHandle.myUserId());
        out.putInt(instructionSetDescription.length());
        putString(out, instructionSetDescription);
        out.putInt(vmFlags.length());
        putString(out, vmFlags);

        Chunk reply = new Chunk(CHUNK_HELO, out);