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

Commit eee8469c authored by Rafael Higuera Silva's avatar Rafael Higuera Silva Committed by Michele Berionne
Browse files

Adding package name to PinStorageEvent client log.

Bug: 192607493
Test: make, manual
Change-Id: I85e57b341703624542c80b4cefe4ecc16eeaf2a1
Merged-In: I85e57b341703624542c80b4cefe4ecc16eeaf2a1
Merged-In: I76bc64bad771e865896b4d95cb0ed7e2f8106068
parent af4807db
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();