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

Commit 1b21beb7 authored by Raphael Kim's avatar Raphael Kim
Browse files

Update CDM dumpsys to display system data transfer requests and transports.

Bug: 323390153
Test: m
Test: adb shell dumpsys companiondevice
Change-Id: Ia75967f0a896c83f34b9b1cf5e3def968b5e59bc
parent 8652ad6e
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -1301,6 +1301,8 @@ public class CompanionDeviceManagerService extends SystemService {
            mAssociationStore.dump(out);
            mDevicePresenceMonitor.dump(out);
            mCompanionAppController.dump(out);
            mTransportManager.dump(out);
            mSystemDataTransferRequestStore.dump(out);
        }
    }

+27 −0
Original line number Diff line number Diff line
@@ -48,6 +48,7 @@ import org.xmlpull.v1.XmlPullParserException;
import java.io.ByteArrayInputStream;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
@@ -303,6 +304,32 @@ public class SystemDataTransferRequestStore {
        }
    }



    /**
     * Dumps current system data transfer request states.
     */
    public void dump(@NonNull PrintWriter out) {
        synchronized (mLock) {
            out.append("System Data Transfer Requests (Cached): ");
            if (mCachedPerUser.size() == 0) {
                out.append("<empty>\n");
            } else {
                out.append("\n");
                for (int i = 0; i < mCachedPerUser.size(); i++) {
                    final int userId = mCachedPerUser.keyAt(i);
                    for (SystemDataTransferRequest request : mCachedPerUser.get(userId)) {
                        out.append("  u")
                                .append(String.valueOf(userId))
                                .append(" -> ")
                                .append(request.toString())
                                .append('\n');
                    }
                }
            }
        }
    }

    private void writeRequestsToXml(@NonNull TypedXmlSerializer serializer,
            @Nullable Collection<SystemDataTransferRequest> requests) throws IOException {
        serializer.startTag(null, XML_TAG_REQUESTS);
+20 −0
Original line number Diff line number Diff line
@@ -36,6 +36,7 @@ import com.android.server.companion.AssociationStore;

import java.io.FileDescriptor;
import java.io.IOException;
import java.io.PrintWriter;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.List;
@@ -224,6 +225,25 @@ public class CompanionTransportManager {
        }
    }

    /**
     * Dumps current list of active transports.
     */
    public void dump(@NonNull PrintWriter out) {
        synchronized (mTransports) {
            out.append("System Data Transports: ");
            if (mTransports.size() == 0) {
                out.append("<empty>\n");
            } else {
                out.append("\n");
                for (int i = 0; i < mTransports.size(); i++) {
                    final int associationId = mTransports.keyAt(i);
                    final Transport transport = mTransports.get(associationId);
                    out.append("  ").append(transport.toString()).append('\n');
                }
            }
        }
    }

    /**
     * @hide
     */
+7 −0
Original line number Diff line number Diff line
@@ -94,6 +94,13 @@ class RawTransport extends Transport {
        }
    }

    @Override
    public String toString() {
        return "RawTransport{"
                + "mAssociationId=" + mAssociationId
                + '}';
    }

    private void receiveMessage() throws IOException {
        synchronized (mRemoteIn) {
            final byte[] headerBytes = new byte[HEADER_LENGTH];
+8 −0
Original line number Diff line number Diff line
@@ -152,4 +152,12 @@ class SecureTransport extends Transport implements SecureChannel.Callback {
            close();
        }
    }

    @Override
    public String toString() {
        return "SecureTransport{"
                + "mAssociationId=" + mAssociationId
                + ", mSecureChannel=" + mSecureChannel
                + '}';
    }
}