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

Commit 59b2dec9 authored by Pranav Madapurmath's avatar Pranav Madapurmath Committed by Android (Google) Code Review
Browse files

Merge "Rename EmergencyCallDiagnosticParam API" into main

parents 0735e952 2bb91c8c
Loading
Loading
Loading
Loading
+8 −8
Original line number Diff line number Diff line
@@ -16,7 +16,7 @@

package com.android.server.telecom;

import static android.telephony.TelephonyManager.EmergencyCallDiagnosticParams;
import static android.telephony.TelephonyManager.EmergencyCallDiagnosticData;

import android.os.BugreportManager;
import android.os.DropBoxManager;
@@ -156,19 +156,19 @@ public class EmergencyCallDiagnosticLogger extends CallsManagerListenerBase
        List<Integer> dataCollectionTypes = getDataCollectionTypes(reason);
        boolean invokeTelephonyPersistApi = false;
        CallEventTimestamps ts = mEmergencyCallsMap.get(call);
        EmergencyCallDiagnosticParams.Builder callDiagnosticBuilder =
                new EmergencyCallDiagnosticParams.Builder();
        EmergencyCallDiagnosticData.Builder callDiagnosticBuilder =
                new EmergencyCallDiagnosticData.Builder();
        for (Integer dataCollectionType : dataCollectionTypes) {
            switch (dataCollectionType) {
                case COLLECTION_TYPE_TELECOM_STATE:
                    if (isTelecomDumpCollectionEnabled()) {
                        callDiagnosticBuilder.setTelecomDumpSysCollectionEnabled(true);
                        callDiagnosticBuilder.setTelecomDumpsysCollectionEnabled(true);
                        invokeTelephonyPersistApi = true;
                    }
                    break;
                case COLLECTION_TYPE_TELEPHONY_STATE:
                    if (isTelephonyDumpCollectionEnabled()) {
                        callDiagnosticBuilder.setTelephonyDumpSysCollectionEnabled(true);
                        callDiagnosticBuilder.setTelephonyDumpsysCollectionEnabled(true);
                        invokeTelephonyPersistApi = true;
                    }
                    break;
@@ -192,14 +192,14 @@ public class EmergencyCallDiagnosticLogger extends CallsManagerListenerBase
                default:
            }
        }
        EmergencyCallDiagnosticParams dp = callDiagnosticBuilder.build();
        EmergencyCallDiagnosticData ecdData = callDiagnosticBuilder.build();
        if (invokeTelephonyPersistApi) {
            mAsyncTaskExecutor.execute(new Runnable() {
                @Override
                public void run() {
                    Log.i(this, "Requesting Telephony to persist data %s", dp.toString());
                    Log.i(this, "Requesting Telephony to persist data %s", ecdData.toString());
                    try {
                        mTelephonyManager.persistEmergencyCallDiagnosticData(DROPBOX_TAG, dp);
                        mTelephonyManager.persistEmergencyCallDiagnosticData(DROPBOX_TAG, ecdData);
                    } catch (Exception e) {
                        Log.w(this,
                                "Exception while invoking "
+13 −14
Original line number Diff line number Diff line
@@ -17,7 +17,7 @@
package com.android.server.telecom.tests;


import static android.telephony.TelephonyManager.EmergencyCallDiagnosticParams;
import static android.telephony.TelephonyManager.EmergencyCallDiagnosticData;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotEquals;
@@ -238,16 +238,16 @@ public class EmergencyCallDiagnosticLoggerTest extends TelecomTestCase {
        mEmergencyCallDiagnosticLogger.reportStuckCall(call);

        //for stuck calls, we should always be persisting some data
        ArgumentCaptor<EmergencyCallDiagnosticParams> captor =
                ArgumentCaptor.forClass(EmergencyCallDiagnosticParams.class);
        ArgumentCaptor<EmergencyCallDiagnosticData> captor =
                ArgumentCaptor.forClass(EmergencyCallDiagnosticData.class);
        verify(mTm, times(1)).persistEmergencyCallDiagnosticData(eq(DROP_BOX_TAG),
                captor.capture());
        EmergencyCallDiagnosticParams dp = captor.getValue();
        EmergencyCallDiagnosticData ecdData = captor.getValue();

        assertNotNull(dp);
        assertNotNull(ecdData);
        assertTrue(
                dp.isLogcatCollectionEnabled() || dp.isTelecomDumpSysCollectionEnabled()
                        || dp.isTelephonyDumpSysCollectionEnabled());
                ecdData.isLogcatCollectionEnabled() || ecdData.isTelecomDumpsysCollectionEnabled()
                        || ecdData.isTelephonyDumpsysCollectionEnabled());

        //tracking should end
        assertEquals(0, mEmergencyCallDiagnosticLogger.getEmergencyCallsMap().size());
@@ -265,17 +265,16 @@ public class EmergencyCallDiagnosticLoggerTest extends TelecomTestCase {
        mEmergencyCallDiagnosticLogger.onCallRemoved(call);

        //for non-local disconnect of non-active call,  we should always be persisting some data
        ArgumentCaptor<TelephonyManager.EmergencyCallDiagnosticParams> captor =
                ArgumentCaptor.forClass(
                        TelephonyManager.EmergencyCallDiagnosticParams.class);
        ArgumentCaptor<EmergencyCallDiagnosticData> captor =
                ArgumentCaptor.forClass(EmergencyCallDiagnosticData.class);
        verify(mTm, times(1)).persistEmergencyCallDiagnosticData(eq(DROP_BOX_TAG),
                captor.capture());
        TelephonyManager.EmergencyCallDiagnosticParams dp = captor.getValue();
        EmergencyCallDiagnosticData ecdData = captor.getValue();

        assertNotNull(dp);
        assertNotNull(ecdData);
        assertTrue(
                dp.isLogcatCollectionEnabled() || dp.isTelecomDumpSysCollectionEnabled()
                        || dp.isTelephonyDumpSysCollectionEnabled());
                ecdData.isLogcatCollectionEnabled() || ecdData.isTelecomDumpsysCollectionEnabled()
                        || ecdData.isTelephonyDumpsysCollectionEnabled());

        //tracking should end
        assertEquals(0, mEmergencyCallDiagnosticLogger.getEmergencyCallsMap().size());