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

Commit f1c7648a authored by Howard Chen's avatar Howard Chen
Browse files

Stub the oemlock operations when the PersistentDataBlock is not supported

The PersistentDataBlockService is not a compulsory component of framework thus we need to
handle cases when the PersistentDataBlockService is unavailable.

Bug: 132943408
Bug: 123777418
Test: toggle the oemlock in setting menu.

Change-Id: I59eec0a4905b588bf261b8447ad4b4e26ba5278d
parent f3825f11
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -73,6 +73,10 @@ class PersistentDataBlockLock extends OemLock {
        // unlocked but doesn't actually do any unlocking.
        final PersistentDataBlockManager pdbm = (PersistentDataBlockManager)
                mContext.getSystemService(Context.PERSISTENT_DATA_BLOCK_SERVICE);
        if (pdbm == null) {
            Slog.w(TAG, "PersistentDataBlock is not supported on this device");
            return;
        }
        pdbm.setOemUnlockEnabled(allowedByDevice);
    }

@@ -80,6 +84,10 @@ class PersistentDataBlockLock extends OemLock {
    boolean isOemUnlockAllowedByDevice() {
        final PersistentDataBlockManager pdbm = (PersistentDataBlockManager)
            mContext.getSystemService(Context.PERSISTENT_DATA_BLOCK_SERVICE);
        if (pdbm == null) {
            Slog.w(TAG, "PersistentDataBlock is not supported on this device");
            return false;
        }
        return pdbm.getOemUnlockEnabled();
    }

@@ -91,6 +99,10 @@ class PersistentDataBlockLock extends OemLock {
    private void disallowUnlockIfNotUnlocked() {
        final PersistentDataBlockManager pdbm = (PersistentDataBlockManager)
            mContext.getSystemService(Context.PERSISTENT_DATA_BLOCK_SERVICE);
        if (pdbm == null) {
            Slog.w(TAG, "PersistentDataBlock is not supported on this device");
            return;
        }
        if (pdbm.getFlashLockState() != PersistentDataBlockManager.FLASH_LOCK_UNLOCKED) {
            pdbm.setOemUnlockEnabled(false);
        }