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

Commit e239c0b9 authored by Sandeep Bandaru's avatar Sandeep Bandaru
Browse files

Add dump() for OnDeviceIntelligenceManagerService

- Configured service names
- ServiceConnection dumps
- InferenceInfoStore dump
- Registered callbacks dump

Change-Id: I72e59466ae180e7e18e90306c3a335147b5ee214
Flag: EXEMPT adding dumpsys
Bug: 359852936
parent 73e783d4
Loading
Loading
Loading
Loading
+12 −1
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ import android.util.Base64;
import android.util.Slog;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Comparator;
import java.util.List;
import java.util.TreeSet;
@@ -107,4 +108,14 @@ public class InferenceInfoStore {
                info.startTimeMs).setEndTimeMillis(info.endTimeMs).setSuspendedTimeMillis(
                info.suspendedTimeMs).build();
    }

    public synchronized void dump(String prefix, PrintWriter writer) {
        writer.println(prefix + "InferenceInfoStore:");
        String newPrefix = prefix + "  ";
        writer.println(newPrefix + "maxAgeMs: " + maxAgeMs);
        writer.println(newPrefix + "inferenceInfos (" + inferenceInfos.size() + " total):");
        for (InferenceInfo info : inferenceInfos) {
            writer.println(newPrefix + "  " + info.toString());
        }
    }
}
+36 −0
Original line number Diff line number Diff line
@@ -87,11 +87,13 @@ import com.android.internal.R;
import com.android.internal.annotations.GuardedBy;
import com.android.internal.infra.AndroidFuture;
import com.android.internal.os.BackgroundThread;
import com.android.internal.util.DumpUtils;
import com.android.server.LocalManagerRegistry;
import com.android.server.SystemService;
import com.android.server.ondeviceintelligence.callbacks.ListenableDownloadCallback;

import java.io.FileDescriptor;
import java.io.PrintWriter;
import java.util.List;
import java.util.Objects;
import java.util.Set;
@@ -630,6 +632,40 @@ public class OnDeviceIntelligenceManagerService extends SystemService {
                        this, in, out, err, args, callback, resultReceiver);
            }

            @Override
            public void dump(FileDescriptor fd, PrintWriter writer, String[] args) {
                if (!DumpUtils.checkDumpPermission(mContext, TAG, writer)) return;

                String prefix = "  ";
                writer.println("OnDeviceIntelligenceManagerService");
                writer.println();
                writer.println(prefix + "Configurations:");
                final String configPrefix = prefix + "  ";
                try {
                    String[] serviceNames = getServiceNames();
                    writer.println(configPrefix
                        + "OnDeviceIntelligenceService: " + serviceNames[0]);
                    writer.println(configPrefix
                        + "OnDeviceSandboxedInferenceService: " + serviceNames[1]);
                } catch (Resources.NotFoundException e) {
                    writer.println(configPrefix + "Could not get service names: " + e);
                }
                writer.println();
                if (mRemoteOnDeviceIntelligenceService != null) {
                    writer.println("  mRemoteOnDeviceIntelligenceService: "
                            + mRemoteOnDeviceIntelligenceService);
                    mRemoteOnDeviceIntelligenceService.dump(prefix, writer);
                }
                if (mRemoteInferenceService != null) {
                    writer.println("  mRemoteInferenceService: " + mRemoteInferenceService);
                    mRemoteInferenceService.dump(prefix, writer);
                }
                mInferenceInfoStore.dump(prefix, writer);
                writer.println();
                writer.println(prefix + "Lifecycle Listeners:");
                mLifecycleListeners.dump(writer, prefix + "  ");
            }

            @Override
            public void registerInferenceServiceLifecycleListener(ILifecycleListener listener)
                    throws RemoteException {