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

Commit d099af4e authored by Ying Xu's avatar Ying Xu Committed by Automerger Merge Worker
Browse files

Merge "Add more dump logs for debugging purpose" into sc-dev am: 24f9bc68

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/13486887

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I6dacf1da66175a14fd6c66ec12f06a72d0386b5b
parents 1d3dfdad 24f9bc68
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -259,7 +259,12 @@ public class MobileStatusTracker {
                .append("carrierNetworkChangeMode=").append(carrierNetworkChangeMode).append(',')
                .append("dataState=").append(dataState).append(',')
                .append("serviceState=").append(serviceState == null ? ""
                        : serviceState.toString()).append(',')
                        : "mVoiceRegState=" + serviceState.getState() + "("
                                + ServiceState.rilServiceStateToString(serviceState.getState())
                                + ")" + ", mDataRegState=" + serviceState.getDataRegState() + "("
                                + ServiceState.rilServiceStateToString(
                                        serviceState.getDataRegState()) + ")")
                                        .append(',')
                .append("signalStrength=").append(signalStrength == null ? ""
                        : signalStrength.toString()).append(',')
                .append("telephonyDisplayInfo=").append(telephonyDisplayInfo == null ? ""
+110 −0
Original line number Diff line number Diff line
@@ -25,6 +25,8 @@ import com.android.systemui.statusbar.policy.NetworkController.EmergencyListener
import com.android.systemui.statusbar.policy.NetworkController.IconState;
import com.android.systemui.statusbar.policy.NetworkController.SignalCallback;

import java.io.PrintWriter;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.List;

@@ -42,11 +44,18 @@ public class CallbackHandler extends Handler implements EmergencyListener, Signa
    private static final int MSG_MOBILE_DATA_ENABLED_CHANGED = 5;
    private static final int MSG_ADD_REMOVE_EMERGENCY        = 6;
    private static final int MSG_ADD_REMOVE_SIGNAL           = 7;
    private static final int HISTORY_SIZE = 64;
    private static final SimpleDateFormat SSDF = new SimpleDateFormat("MM-dd HH:mm:ss.SSS");

    // All the callbacks.
    private final ArrayList<EmergencyListener> mEmergencyListeners = new ArrayList<>();
    private final ArrayList<SignalCallback> mSignalCallbacks = new ArrayList<>();

    // Save the previous HISTORY_SIZE states for logging.
    private final String[] mHistory = new String[HISTORY_SIZE];
    // Where to copy the next state into.
    private int mHistoryIndex;

    public CallbackHandler() {
        super(Looper.getMainLooper());
    }
@@ -111,12 +120,27 @@ public class CallbackHandler extends Handler implements EmergencyListener, Signa
    public void setWifiIndicators(final boolean enabled, final IconState statusIcon,
            final IconState qsIcon, final boolean activityIn, final boolean activityOut,
            final String description, boolean isTransient, String secondaryLabel) {
        String log = new StringBuilder()
                .append(SSDF.format(System.currentTimeMillis())).append(",")
                .append("setWifiIndicators: ")
                .append("enabled=").append(enabled).append(",")
                .append("statusIcon=").append(statusIcon).append(",")
                .append("qsIcon=").append(qsIcon).append(",")
                .append("activityIn=").append(activityIn).append(",")
                .append("activityOut=").append(activityOut).append(",")
                .append("description=").append(description).append(",")
                .append("isTransient=").append(isTransient).append(",")
                .append("secondaryLabel=").append(secondaryLabel)
                .toString();
        recordLastCallback(log);
        post(() -> {
            for (SignalCallback callback : mSignalCallbacks) {
                callback.setWifiIndicators(enabled, statusIcon, qsIcon, activityIn, activityOut,
                        description, isTransient, secondaryLabel);
            }
        });


    }

    @Override
@@ -125,6 +149,25 @@ public class CallbackHandler extends Handler implements EmergencyListener, Signa
            final boolean activityOut, final CharSequence typeContentDescription,
            CharSequence typeContentDescriptionHtml, final CharSequence description,
            final boolean isWide, final int subId, boolean roaming, boolean showTriangle) {
        String log = new StringBuilder()
                .append(SSDF.format(System.currentTimeMillis())).append(",")
                .append("setMobileDataIndicators: ")
                .append("statusIcon=").append(statusIcon).append(",")
                .append("qsIcon=").append(qsIcon).append(",")
                .append("statusType=").append(statusType).append(",")
                .append("qsType=").append(qsType).append(",")
                .append("activityIn=").append(activityIn).append(",")
                .append("activityOut=").append(activityOut).append(",")
                .append("typeContentDescription=").append(typeContentDescription).append(",")
                .append("typeContentDescriptionHtml=").append(typeContentDescriptionHtml)
                .append(",")
                .append("description=").append(description).append(",")
                .append("isWide=").append(isWide).append(",")
                .append("subId=").append(subId).append(",")
                .append("roaming=").append(roaming).append(",")
                .append("showTriangle=").append(showTriangle)
                .toString();
        recordLastCallback(log);
        post(() -> {
            for (SignalCallback signalCluster : mSignalCallbacks) {
                signalCluster.setMobileDataIndicators(statusIcon, qsIcon, statusType, qsType,
@@ -138,6 +181,14 @@ public class CallbackHandler extends Handler implements EmergencyListener, Signa
    @Override
    public void setConnectivityStatus(boolean noDefaultNetwork, boolean noValidatedNetwork,
                boolean noNetworksAvailable) {
        String log = new StringBuilder()
                .append(SSDF.format(System.currentTimeMillis())).append(",")
                .append("setConnectivityStatus: ")
                .append("noDefaultNetwork=").append(noDefaultNetwork).append(",")
                .append("noValidatedNetwork=").append(noValidatedNetwork).append(",")
                .append("noNetworksAvailable=").append(noNetworksAvailable)
                .toString();
        recordLastCallback(log);
        post(() -> {
            for (SignalCallback signalCluster : mSignalCallbacks) {
                signalCluster.setConnectivityStatus(
@@ -148,6 +199,13 @@ public class CallbackHandler extends Handler implements EmergencyListener, Signa

    @Override
    public void setNoCallingStatus(boolean noCalling, int subId) {
        String log = new StringBuilder()
                .append(SSDF.format(System.currentTimeMillis())).append(",")
                .append("setNoCallingStatus: ")
                .append("noCalling=").append(noCalling).append(",")
                .append("subId=").append(subId)
                .toString();
        recordLastCallback(log);
        post(() -> {
            for (SignalCallback signalCluster : mSignalCallbacks) {
                signalCluster.setNoCallingStatus(noCalling, subId);
@@ -157,16 +215,35 @@ public class CallbackHandler extends Handler implements EmergencyListener, Signa

    @Override
    public void setSubs(List<SubscriptionInfo> subs) {
        String log = new StringBuilder()
                .append(SSDF.format(System.currentTimeMillis())).append(",")
                .append("setSubs: ")
                .append("subs=").append(subs == null ? "" : subs.toString())
                .toString();
        recordLastCallback(log);
        obtainMessage(MSG_SUBS_CHANGED, subs).sendToTarget();
    }

    @Override
    public void setNoSims(boolean show, boolean simDetected) {
        String log = new StringBuilder()
                .append(SSDF.format(System.currentTimeMillis())).append(",")
                .append("setNoSims: ")
                .append("show=").append(show).append(",")
                .append("simDetected=").append(simDetected)
                .toString();
        recordLastCallback(log);
        obtainMessage(MSG_NO_SIM_VISIBLE_CHANGED, show ? 1 : 0, simDetected ? 1 : 0).sendToTarget();
    }

    @Override
    public void setMobileDataEnabled(boolean enabled) {
        String log = new StringBuilder()
                .append(SSDF.format(System.currentTimeMillis())).append(",")
                .append("setMobileDataEnabled: ")
                .append("enabled=").append(enabled)
                .toString();
        recordLastCallback(log);
        obtainMessage(MSG_MOBILE_DATA_ENABLED_CHANGED, enabled ? 1 : 0, 0).sendToTarget();
    }

@@ -177,11 +254,23 @@ public class CallbackHandler extends Handler implements EmergencyListener, Signa

    @Override
    public void setEthernetIndicators(IconState icon) {
        String log = new StringBuilder()
                .append(SSDF.format(System.currentTimeMillis())).append(",")
                .append("setEthernetIndicators: ")
                .append("icon=").append(icon)
                .toString();
        recordLastCallback(log);
        obtainMessage(MSG_ETHERNET_CHANGED, icon).sendToTarget();;
    }

    @Override
    public void setIsAirplaneMode(IconState icon) {
        String log = new StringBuilder()
                .append(SSDF.format(System.currentTimeMillis())).append(",")
                .append("setIsAirplaneMode: ")
                .append("icon=").append(icon)
                .toString();
        recordLastCallback(log);
        obtainMessage(MSG_AIRPLANE_MODE_CHANGED, icon).sendToTarget();;
    }

@@ -193,4 +282,25 @@ public class CallbackHandler extends Handler implements EmergencyListener, Signa
        obtainMessage(MSG_ADD_REMOVE_SIGNAL, listening ? 1 : 0, 0, listener).sendToTarget();
    }

    protected void recordLastCallback(String callback) {
        mHistory[mHistoryIndex++ & (HISTORY_SIZE - 1)] = callback;
    }

    /**
     * Dump the Callback logs
     */
    public void dump(PrintWriter pw) {
        pw.println("  - CallbackHandler -----");
        int size = 0;
        for (int i = 0; i < HISTORY_SIZE; i++) {
            if (mHistory[i] != null) size++;
        }
        // Print out the previous states in ordered number.
        for (int i = mHistoryIndex + HISTORY_SIZE - 1;
                i >= mHistoryIndex + HISTORY_SIZE - size; i--) {
            pw.println("  Previous Callback(" + (mHistoryIndex + HISTORY_SIZE - i) + "): "
                    + mHistory[i & (HISTORY_SIZE - 1)]);
        }
    }

}
+32 −2
Original line number Diff line number Diff line
@@ -46,6 +46,7 @@ import com.android.settingslib.Utils;
import com.android.settingslib.graph.SignalDrawable;
import com.android.settingslib.mobile.MobileMappings.Config;
import com.android.settingslib.mobile.MobileStatusTracker;
import com.android.settingslib.mobile.MobileStatusTracker.MobileStatus;
import com.android.settingslib.mobile.MobileStatusTracker.SubscriptionDefaults;
import com.android.settingslib.mobile.TelephonyIcons;
import com.android.settingslib.net.SignalStrengthUtil;
@@ -54,6 +55,7 @@ import com.android.systemui.statusbar.policy.NetworkController.IconState;
import com.android.systemui.statusbar.policy.NetworkController.SignalCallback;

import java.io.PrintWriter;
import java.text.SimpleDateFormat;
import java.util.BitSet;
import java.util.List;
import java.util.Map;
@@ -62,6 +64,8 @@ import java.util.Map;
 * Monitors the mobile signal changes and update the SysUI icons.
 */
public class MobileSignalController extends SignalController<MobileState, MobileIconGroup> {
    private static final SimpleDateFormat SSDF = new SimpleDateFormat("MM-dd HH:mm:ss.SSS");

    private final TelephonyManager mPhone;
    private final SubscriptionDefaults mDefaults;
    private final String mNetworkNameDefault;
@@ -90,6 +94,11 @@ public class MobileSignalController extends SignalController<MobileState, Mobile
    @VisibleForTesting
    MobileStatusTracker mMobileStatusTracker;

    // Save the previous HISTORY_SIZE states for logging.
    private final String[] mMobileStatusHistory = new String[HISTORY_SIZE];
    // Where to copy the next state into.
    private int mMobileStatusHistoryIndex;

    // TODO: Reduce number of vars passed in, if we have the NetworkController, probably don't
    // need listener lists anymore.
    public MobileSignalController(Context context, Config config, boolean hasMobileData,
@@ -126,12 +135,17 @@ public class MobileSignalController extends SignalController<MobileState, Mobile
        mCallback = new MobileStatusTracker.Callback() {
            @Override
            public void onMobileStatusChanged(boolean updateTelephony,
                    MobileStatusTracker.MobileStatus mobileStatus) {
                    MobileStatus mobileStatus) {
                if (Log.isLoggable(mTag, Log.DEBUG)) {
                    Log.d(mTag, "onMobileStatusChanged="
                            + " updateTelephony=" + updateTelephony
                            + " mobileStatus=" + mobileStatus.toString());
                }
                String status = new StringBuilder()
                        .append(SSDF.format(System.currentTimeMillis())).append(",")
                        .append(mobileStatus.toString())
                        .toString();
                recordLastMobileStatus(status);
                updateMobileStatus(mobileStatus);
                if (updateTelephony) {
                    updateTelephony();
@@ -455,7 +469,7 @@ public class MobileSignalController extends SignalController<MobileState, Mobile
        return CellSignalStrength.SIGNAL_STRENGTH_NONE_OR_UNKNOWN;
    }

    private void updateMobileStatus(MobileStatusTracker.MobileStatus mobileStatus) {
    private void updateMobileStatus(MobileStatus mobileStatus) {
        mCurrentState.activityIn = mobileStatus.activityIn;
        mCurrentState.activityOut = mobileStatus.activityOut;
        mCurrentState.dataSim = mobileStatus.dataSim;
@@ -570,6 +584,10 @@ public class MobileSignalController extends SignalController<MobileState, Mobile
        notifyListenersIfNecessary();
    }

    private void recordLastMobileStatus(String mobileStatus) {
        mMobileStatusHistory[mMobileStatusHistoryIndex++ & (HISTORY_SIZE - 1)] = mobileStatus;
    }

    @Override
    public void dump(PrintWriter pw) {
        super.dump(pw);
@@ -580,5 +598,17 @@ public class MobileSignalController extends SignalController<MobileState, Mobile
        pw.println("  mDataState=" + mDataState + ",");
        pw.println("  mInflateSignalStrengths=" + mInflateSignalStrengths + ",");
        pw.println("  isDataDisabled=" + isDataDisabled() + ",");
        pw.println("  MobileStatusHistory");
        int size = 0;
        for (int i = 0; i < HISTORY_SIZE; i++) {
            if (mMobileStatusHistory[i] != null) size++;
        }
        // Print out the previous states in ordered number.
        for (int i = mMobileStatusHistoryIndex + HISTORY_SIZE - 1;
                i >= mMobileStatusHistoryIndex + HISTORY_SIZE - size; i--) {
            pw.println("  Previous MobileStatus("
                    + (mMobileStatusHistoryIndex + HISTORY_SIZE - i) + "): "
                    + mMobileStatusHistory[i & (HISTORY_SIZE - 1)]);
        }
    }
}
+40 −0
Original line number Diff line number Diff line
@@ -76,6 +76,7 @@ import com.android.systemui.statusbar.policy.DeviceProvisionedController.DeviceP

import java.io.FileDescriptor;
import java.io.PrintWriter;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.BitSet;
import java.util.Collections;
@@ -100,6 +101,8 @@ public class NetworkControllerImpl extends BroadcastReceiver
    private static final int EMERGENCY_VOICE_CONTROLLER = 200;
    private static final int EMERGENCY_NO_SUB = 300;
    private static final int EMERGENCY_ASSUMED_VOICE_CONTROLLER = 400;
    private static final int HISTORY_SIZE = 16;
    private static final SimpleDateFormat SSDF = new SimpleDateFormat("MM-dd HH:mm:ss.SSS");

    private final Context mContext;
    private final TelephonyManager mPhone;
@@ -150,6 +153,11 @@ public class NetworkControllerImpl extends BroadcastReceiver
    // This list holds our ordering.
    private List<SubscriptionInfo> mCurrentSubscriptions = new ArrayList<>();

    // Save the previous HISTORY_SIZE states for logging.
    private final String[] mHistory = new String[HISTORY_SIZE];
    // Where to copy the next state into.
    private int mHistoryIndex;

    @VisibleForTesting
    boolean mListening;

@@ -307,6 +315,12 @@ public class NetworkControllerImpl extends BroadcastReceiver
            public void onLost(Network network) {
                mLastNetwork = null;
                mLastNetworkCapabilities = null;
                String callback = new StringBuilder()
                        .append(SSDF.format(System.currentTimeMillis())).append(",")
                        .append("onLost: ")
                        .append("network=").append(network)
                        .toString();
                recordLastNetworkCallback(callback);
                updateConnectivity();
            }

@@ -327,6 +341,13 @@ public class NetworkControllerImpl extends BroadcastReceiver
                }
                mLastNetwork = network;
                mLastNetworkCapabilities = networkCapabilities;
                String callback = new StringBuilder()
                        .append(SSDF.format(System.currentTimeMillis())).append(",")
                        .append("onCapabilitiesChanged: ")
                        .append("network=").append(network).append(",")
                        .append("networkCapabilities=").append(networkCapabilities)
                        .toString();
                recordLastNetworkCallback(callback);
                updateConnectivity();
            }
        };
@@ -996,6 +1017,19 @@ public class NetworkControllerImpl extends BroadcastReceiver
        pw.print("  mEmergencySource=");
        pw.println(emergencyToString(mEmergencySource));

        pw.println("  - DefaultNetworkCallback -----");
        int size = 0;
        for (int i = 0; i < HISTORY_SIZE; i++) {
            if (mHistory[i] != null) {
                size++;
            }
        }
        for (int i = mHistoryIndex + HISTORY_SIZE - 1;
                i >= mHistoryIndex + HISTORY_SIZE - size; i--) {
            pw.println("  Previous NetworkCallback(" + (mHistoryIndex + HISTORY_SIZE - i) + "): "
                    + mHistory[i & (HISTORY_SIZE - 1)]);
        }

        pw.println("  - config ------");
        for (int i = 0; i < mMobileSignalControllers.size(); i++) {
            MobileSignalController mobileSignalController = mMobileSignalControllers.valueAt(i);
@@ -1006,6 +1040,8 @@ public class NetworkControllerImpl extends BroadcastReceiver
        mEthernetSignalController.dump(pw);

        mAccessPoints.dump(pw);

        mCallbackHandler.dump(pw);
    }

    private static final String emergencyToString(int emergencySource) {
@@ -1235,6 +1271,10 @@ public class NetworkControllerImpl extends BroadcastReceiver
        return s;
    }

    private void recordLastNetworkCallback(String callback) {
        mHistory[mHistoryIndex++ & (HISTORY_SIZE - 1)] = callback;
    }

    private SubscriptionInfo addSignalController(int id, int simSlotIndex) {
        SubscriptionInfo info = new SubscriptionInfo(id, "", simSlotIndex, "", "", 0, 0, "", 0,
                null, null, null, "", false, null, null);