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

Commit fc3c7c2a authored by Rafael Higuera Silva's avatar Rafael Higuera Silva Committed by Android (Google) Code Review
Browse files

Merge "Adding package name to PinStorageEvent client log." into sc-v2-dev

parents 07bee69e eee8469c
Loading
Loading
Loading
Loading
+15 −9
Original line number Diff line number Diff line
@@ -47,6 +47,7 @@ import android.os.AsyncResult;
import android.os.Handler;
import android.os.Message;
import android.os.PersistableBundle;
import android.os.WorkSource;
import android.provider.Settings;
import android.security.keystore.KeyGenParameterSpec;
import android.telephony.CarrierConfigManager;
@@ -270,7 +271,7 @@ public class PinStorage extends Handler {
                savePinInformation(slotId, null);
                TelephonyStatsLog.write(PIN_STORAGE_EVENT,
                        PIN_STORAGE_EVENT__EVENT__PIN_VERIFICATION_SKIPPED_SIM_CARD_MISMATCH,
                        /* number_of_pins= */ 1);
                        /* number_of_pins= */ 1, /* package_name= */ "");
            } else if (storedPin.status == PinStatus.VERIFICATION_READY) {
                logd("getPin[%d] - Found PIN ready for verification", slotId);
                // Move the state to AVAILABLE, so that it cannot be retrieved again.
@@ -291,7 +292,7 @@ public class PinStorage extends Handler {
     * @return The result of the reboot preparation.
     */
    @TelephonyManager.PrepareUnattendedRebootResult
    public synchronized int prepareUnattendedReboot() {
    public synchronized int prepareUnattendedReboot(WorkSource workSource) {
        // Unattended reboot should never occur before the device is unlocked.
        if (mIsDeviceLocked) {
            loge("prepareUnattendedReboot - Device is locked");
@@ -341,14 +342,18 @@ public class PinStorage extends Handler {
        }

        // Generate metrics
        String callingPackage = workSource == null || workSource.size() == 0
                                    ? "" : workSource.getPackageName(0);
        if (result == TelephonyManager.PREPARE_UNATTENDED_REBOOT_SUCCESS) {
            logd("prepareUnattendedReboot - Stored %d PINs", storedCount);
            TelephonyStatsLog.write(PIN_STORAGE_EVENT,
                    PIN_STORAGE_EVENT__EVENT__PIN_STORED_FOR_VERIFICATION, storedCount);
                    PIN_STORAGE_EVENT__EVENT__PIN_STORED_FOR_VERIFICATION, storedCount,
                    callingPackage);
        } else if (result == TelephonyManager.PREPARE_UNATTENDED_REBOOT_PIN_REQUIRED) {
            logd("prepareUnattendedReboot - Required %d PINs after reboot", notAvailableCount);
            TelephonyStatsLog.write(PIN_STORAGE_EVENT,
                    PIN_STORAGE_EVENT__EVENT__PIN_REQUIRED_AFTER_REBOOT, notAvailableCount);
                    PIN_STORAGE_EVENT__EVENT__PIN_REQUIRED_AFTER_REBOOT, notAvailableCount,
                    callingPackage);
        }

        // Save number of PINs to generate metrics after reboot
@@ -455,7 +460,7 @@ public class PinStorage extends Handler {
        if (prevCachedPinCount > verificationReadyCount) {
            TelephonyStatsLog.write(PIN_STORAGE_EVENT,
                    PIN_STORAGE_EVENT__EVENT__PIN_COUNT_NOT_MATCHING_AFTER_REBOOT,
                    prevCachedPinCount - verificationReadyCount);
                    prevCachedPinCount - verificationReadyCount, /* package_name= */ "");
        }
    }

@@ -507,7 +512,8 @@ public class PinStorage extends Handler {
        // Write metrics about number of discarded PINs
        if (discardedPin > 0) {
            TelephonyStatsLog.write(PIN_STORAGE_EVENT,
                    PIN_STORAGE_EVENT__EVENT__CACHED_PIN_DISCARDED, discardedPin);
                    PIN_STORAGE_EVENT__EVENT__CACHED_PIN_DISCARDED, discardedPin,
                    /* package_name= */ "");
        }
    }

@@ -576,7 +582,7 @@ public class PinStorage extends Handler {
                success
                    ? PIN_STORAGE_EVENT__EVENT__PIN_VERIFICATION_SUCCESS
                    : PIN_STORAGE_EVENT__EVENT__PIN_VERIFICATION_FAILURE,
                /* number_of_pins= */ 1);
                /* number_of_pins= */ 1, /* package_name= */ "");
    }

    @Override
@@ -1152,7 +1158,7 @@ public class PinStorage extends Handler {
        } catch (Exception e) {
            loge("Encrypt exception", e);
            TelephonyStatsLog.write(PIN_STORAGE_EVENT,
                    PIN_STORAGE_EVENT__EVENT__PIN_ENCRYPTION_ERROR, 1);
                    PIN_STORAGE_EVENT__EVENT__PIN_ENCRYPTION_ERROR, 1, /* package_name= */ "");
        }
        return new byte[0];
    }
@@ -1177,7 +1183,7 @@ public class PinStorage extends Handler {
        } catch (Exception e) {
            loge("Decrypt exception", e);
            TelephonyStatsLog.write(PIN_STORAGE_EVENT,
                    PIN_STORAGE_EVENT__EVENT__PIN_DECRYPTION_ERROR, 1);
                    PIN_STORAGE_EVENT__EVENT__PIN_DECRYPTION_ERROR, 1, /* package_name= */ "");
        }
        return new byte[0];
    }
+21 −17
Original line number Diff line number Diff line
@@ -25,6 +25,7 @@ import static org.mockito.Mockito.when;

import android.content.Intent;
import android.os.PersistableBundle;
import android.os.WorkSource;
import android.preference.PreferenceManager;
import android.provider.Settings;
import android.telephony.CarrierConfigManager;
@@ -50,6 +51,9 @@ public class PinStorageTest extends TelephonyTest {
    private static final String ICCID_1 = "89010003006562472370";
    private static final String ICCID_2 = "89010003006562472399";
    private static final String ICCID_INVALID = "1234";
    private static final String PACKAGE_NAME = "com.package.name";
    private static final int UID = -1;
    private static final WorkSource sWorkSource = new WorkSource(UID, PACKAGE_NAME);

    private int mBootCount;
    private int mSimulatedRebootsCount;
@@ -138,7 +142,7 @@ public class PinStorageTest extends TelephonyTest {
    public void storePin_unattendedReboot_pinCanBeRetrievedOnce() {
        mPinStorage.storePin("1234", 0);

        int result = mPinStorage.prepareUnattendedReboot();
        int result = mPinStorage.prepareUnattendedReboot(sWorkSource);
        assertThat(result).isEqualTo(TelephonyManager.PREPARE_UNATTENDED_REBOOT_SUCCESS);

        simulateReboot();
@@ -158,7 +162,7 @@ public class PinStorageTest extends TelephonyTest {

        mPinStorage.storePin("1234", 0);

        int result = mPinStorage.prepareUnattendedReboot();
        int result = mPinStorage.prepareUnattendedReboot(sWorkSource);
        assertThat(result).isEqualTo(TelephonyManager.PREPARE_UNATTENDED_REBOOT_ERROR);

        simulateReboot();
@@ -172,7 +176,7 @@ public class PinStorageTest extends TelephonyTest {
    public void storePin_unattendedReboot_pinIsRemovedAfterDelay() {
        mPinStorage.storePin("1234", 0);

        int result = mPinStorage.prepareUnattendedReboot();
        int result = mPinStorage.prepareUnattendedReboot(sWorkSource);
        assertThat(result).isEqualTo(TelephonyManager.PREPARE_UNATTENDED_REBOOT_SUCCESS);

        simulateReboot();
@@ -184,7 +188,7 @@ public class PinStorageTest extends TelephonyTest {
        assertThat(mPinStorage.getPin(0, ICCID_1)).isEqualTo("");

        // Simulate a second unattended reboot to make sure that PIN was deleted.
        result = mPinStorage.prepareUnattendedReboot();
        result = mPinStorage.prepareUnattendedReboot(sWorkSource);
        assertThat(result).isEqualTo(TelephonyManager.PREPARE_UNATTENDED_REBOOT_SUCCESS);

        simulateReboot();
@@ -197,7 +201,7 @@ public class PinStorageTest extends TelephonyTest {
    public void storePin_unattendedRebootNotDone_pinCannotBeRetrieved() {
        mPinStorage.storePin("1234", 0);

        int result = mPinStorage.prepareUnattendedReboot();
        int result = mPinStorage.prepareUnattendedReboot(sWorkSource);
        assertThat(result).isEqualTo(TelephonyManager.PREPARE_UNATTENDED_REBOOT_SUCCESS);

        // Move time forward by 60 seconds before simulating reboot
@@ -213,7 +217,7 @@ public class PinStorageTest extends TelephonyTest {
    public void storePin_unattendedReboot_iccidChange() {
        mPinStorage.storePin("1234", 0);

        int result = mPinStorage.prepareUnattendedReboot();
        int result = mPinStorage.prepareUnattendedReboot(sWorkSource);
        assertThat(result).isEqualTo(TelephonyManager.PREPARE_UNATTENDED_REBOOT_SUCCESS);

        simulateReboot();
@@ -235,7 +239,7 @@ public class PinStorageTest extends TelephonyTest {
        mPinStorage.storePin("1234", 0);
        mPinStorage.clearPin(0);

        int result = mPinStorage.prepareUnattendedReboot();
        int result = mPinStorage.prepareUnattendedReboot(sWorkSource);
        assertThat(result).isEqualTo(TelephonyManager.PREPARE_UNATTENDED_REBOOT_SUCCESS);

        simulateReboot();
@@ -249,7 +253,7 @@ public class PinStorageTest extends TelephonyTest {
        mPinStorage.storePin("1234", 0);
        mPinStorage.storePin("5678", 0);

        int result = mPinStorage.prepareUnattendedReboot();
        int result = mPinStorage.prepareUnattendedReboot(sWorkSource);
        assertThat(result).isEqualTo(TelephonyManager.PREPARE_UNATTENDED_REBOOT_SUCCESS);

        simulateReboot();
@@ -262,7 +266,7 @@ public class PinStorageTest extends TelephonyTest {
    public void storePin_pinTooShort_pinIsNotStored() {
        mPinStorage.storePin("12", 0);

        int result = mPinStorage.prepareUnattendedReboot();
        int result = mPinStorage.prepareUnattendedReboot(sWorkSource);
        assertThat(result).isEqualTo(TelephonyManager.PREPARE_UNATTENDED_REBOOT_SUCCESS);

        simulateReboot();
@@ -275,7 +279,7 @@ public class PinStorageTest extends TelephonyTest {
    public void storePin_pinTooLong_pinIsNotStored() {
        mPinStorage.storePin("123456789", 0);

        int result = mPinStorage.prepareUnattendedReboot();
        int result = mPinStorage.prepareUnattendedReboot(sWorkSource);
        assertThat(result).isEqualTo(TelephonyManager.PREPARE_UNATTENDED_REBOOT_SUCCESS);

        simulateReboot();
@@ -289,7 +293,7 @@ public class PinStorageTest extends TelephonyTest {
        doReturn(ICCID_INVALID).when(mPhone).getFullIccSerialNumber();

        mPinStorage.storePin("1234", 0);
        int result = mPinStorage.prepareUnattendedReboot();
        int result = mPinStorage.prepareUnattendedReboot(sWorkSource);

        simulateReboot();

@@ -304,7 +308,7 @@ public class PinStorageTest extends TelephonyTest {

        mPinStorage.storePin("1234", 0);

        int result = mPinStorage.prepareUnattendedReboot();
        int result = mPinStorage.prepareUnattendedReboot(sWorkSource);
        assertThat(result).isEqualTo(TelephonyManager.PREPARE_UNATTENDED_REBOOT_SUCCESS);

        simulateReboot();
@@ -323,7 +327,7 @@ public class PinStorageTest extends TelephonyTest {

        mPinStorage.storePin("1234", 0);

        int result = mPinStorage.prepareUnattendedReboot();
        int result = mPinStorage.prepareUnattendedReboot(sWorkSource);
        assertThat(result).isEqualTo(TelephonyManager.PREPARE_UNATTENDED_REBOOT_PIN_REQUIRED);

        simulateReboot();
@@ -341,7 +345,7 @@ public class PinStorageTest extends TelephonyTest {

        mPinStorage.storePin("1234", 0);

        int result = mPinStorage.prepareUnattendedReboot();
        int result = mPinStorage.prepareUnattendedReboot(sWorkSource);
        assertThat(result).isEqualTo(TelephonyManager.PREPARE_UNATTENDED_REBOOT_SUCCESS);

        simulateReboot();
@@ -364,7 +368,7 @@ public class PinStorageTest extends TelephonyTest {
        mContext.sendBroadcast(intent);
        processAllMessages();

        int result = mPinStorage.prepareUnattendedReboot();
        int result = mPinStorage.prepareUnattendedReboot(sWorkSource);
        assertThat(result).isEqualTo(TelephonyManager.PREPARE_UNATTENDED_REBOOT_SUCCESS);

        simulateReboot();
@@ -384,7 +388,7 @@ public class PinStorageTest extends TelephonyTest {
        mContext.sendBroadcast(intent);
        processAllMessages();

        int result = mPinStorage.prepareUnattendedReboot();
        int result = mPinStorage.prepareUnattendedReboot(sWorkSource);
        assertThat(result).isEqualTo(TelephonyManager.PREPARE_UNATTENDED_REBOOT_SUCCESS);

        simulateReboot();
@@ -397,7 +401,7 @@ public class PinStorageTest extends TelephonyTest {
    public void storePin_simReadyAfterUnattendedReboot_pinIsRemoved() {
        mPinStorage.storePin("1234", 0);

        int result = mPinStorage.prepareUnattendedReboot();
        int result = mPinStorage.prepareUnattendedReboot(sWorkSource);
        assertThat(result).isEqualTo(TelephonyManager.PREPARE_UNATTENDED_REBOOT_SUCCESS);

        simulateReboot();