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

Commit 550e9ddf authored by Nick Chameyev's avatar Nick Chameyev Committed by Android (Google) Code Review
Browse files

Merge "Add dumpsys and extra logging to FoldableDeviceStateProvider" into main

parents d4c6e32f 36214384
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -914,6 +914,9 @@ public final class DeviceStateManagerService extends SystemService {
            }

            mOverrideRequestController.dumpInternal(pw);
            pw.println();

            mDeviceStatePolicy.dump(pw, /* args= */ null);
        }
    }

+2 −1
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ import android.annotation.NonNull;
import android.content.Context;
import android.content.res.Resources;
import android.text.TextUtils;
import android.util.Dumpable;

import com.android.server.policy.DeviceStatePolicyImpl;

@@ -29,7 +30,7 @@ import com.android.server.policy.DeviceStatePolicyImpl;
 *
 * @see DeviceStateManagerService
 */
public abstract class DeviceStatePolicy {
public abstract class DeviceStatePolicy implements Dumpable {
    protected final Context mContext;

    protected DeviceStatePolicy(@NonNull Context context) {
+2 −1
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@ import static android.hardware.devicestate.DeviceStateManager.MINIMUM_DEVICE_STA

import android.annotation.IntDef;
import android.annotation.IntRange;
import android.util.Dumpable;

import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
@@ -31,7 +32,7 @@ import java.lang.annotation.RetentionPolicy;
 *
 * @see DeviceStatePolicy
 */
public interface DeviceStateProvider {
public interface DeviceStateProvider extends Dumpable {
    int SUPPORTED_DEVICE_STATES_CHANGED_DEFAULT = 0;

    /**
+8 −0
Original line number Diff line number Diff line
@@ -17,11 +17,14 @@
package com.android.server.policy;

import android.annotation.NonNull;
import android.annotation.Nullable;
import android.content.Context;

import com.android.server.devicestate.DeviceStatePolicy;
import com.android.server.devicestate.DeviceStateProvider;

import java.io.PrintWriter;

/**
 * Default empty implementation of {@link DeviceStatePolicy}.
 *
@@ -43,4 +46,9 @@ public final class DeviceStatePolicyImpl extends DeviceStatePolicy {
    public void configureDeviceForState(int state, @NonNull Runnable onComplete) {
        onComplete.run();
    }

    @Override
    public void dump(@NonNull PrintWriter writer, @Nullable String[] args) {
        mProvider.dump(writer, args);
    }
}
+26 −5
Original line number Diff line number Diff line
@@ -58,6 +58,7 @@ import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Arrays;
@@ -503,6 +504,24 @@ public final class DeviceStateProviderImpl implements DeviceStateProvider,
        // Do nothing.
    }

    @Override
    public void dump(@NonNull PrintWriter writer, @Nullable String[] args) {
        writer.println("DeviceStateProviderImpl");

        synchronized (mLock) {
            writer.println("  mLastReportedState = " + mLastReportedState);
            writer.println("  mPowerSaveModeEnabled = " + mPowerSaveModeEnabled);
            writer.println("  mThermalStatus = " + mThermalStatus);
            writer.println("  mIsLidOpen = " + mIsLidOpen);
            writer.println("  Sensor values:");

            for (Sensor sensor : mLatestSensorEvent.keySet()) {
                SensorEvent sensorEvent = mLatestSensorEvent.get(sensor);
                writer.println("   - " + toSensorValueString(sensor, sensorEvent));
            }
        }
    }

    /**
     * Implementation of {@link BooleanSupplier} that returns {@code true} if the expected lid
     * switch open state matches {@link #mIsLidOpen}.
@@ -669,12 +688,14 @@ public final class DeviceStateProviderImpl implements DeviceStateProvider,
        Slog.i(TAG, "Sensor values:");
        for (Sensor sensor : mLatestSensorEvent.keySet()) {
            SensorEvent sensorEvent = mLatestSensorEvent.get(sensor);
            if (sensorEvent != null) {
                Slog.i(TAG, sensor.getName() + ": " + Arrays.toString(sensorEvent.values));
            } else {
                Slog.i(TAG, sensor.getName() + ": null");
            Slog.i(TAG, toSensorValueString(sensor, sensorEvent));
        }
    }

    private String toSensorValueString(Sensor sensor, @Nullable SensorEvent event) {
        String sensorString = sensor == null ? "null" : sensor.getName();
        String eventValues = event == null ? "null" : Arrays.toString(event.values);
        return sensorString + " : " + eventValues;
    }

    /**
Loading