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

Commit 9443ab83 authored by Amit Mahajan's avatar Amit Mahajan
Browse files

Revert the removal of FBE related checks.

These were removed as there was no public/system APIs for these.
But for backward compatibility we still need a solution. Instead
of coming up with a solution in R, will do it in S since we can
continue using hidden APIs in R.

Test: basic sanity
Bug: 144368037
Merged-in: Id8f30b18cc0ba95834c0cc5a4b98c96ddf49803e
Change-Id: Id8f30b18cc0ba95834c0cc5a4b98c96ddf49803e
(cherry picked from commit 1fe37023)
parent 1b1969d8
Loading
Loading
Loading
Loading
+18 −15
Original line number Diff line number Diff line
@@ -35,6 +35,7 @@ import android.content.ContentValues;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.pm.IPackageManager;
import android.content.pm.PackageManager;
import android.database.Cursor;
import android.database.SQLException;
@@ -46,8 +47,10 @@ import android.os.IDeviceIdleController;
import android.os.Message;
import android.os.PowerManager;
import android.os.RemoteException;
import android.os.ServiceManager;
import android.os.UserHandle;
import android.os.UserManager;
import android.os.storage.StorageManager;
import android.provider.Telephony;
import android.provider.Telephony.Sms.Intents;
import android.service.carrier.CarrierMessagingService;
@@ -657,18 +660,18 @@ public abstract class InboundSmsHandler extends StateMachine {
            return Intents.RESULT_SMS_HANDLED;
        }

//        // onlyCore indicates if the device is in cryptkeeper
//        boolean onlyCore = false;
//        try {
//            onlyCore = IPackageManager.Stub.asInterface(ServiceManager.getService("package")).
//                    isOnlyCoreApps();
//        } catch (RemoteException e) {
//        }
//        if (onlyCore) {
//            // Device is unable to receive SMS in encrypted state
//            log("Received a short message in encrypted state. Rejecting.");
//            return Intents.RESULT_SMS_GENERIC_ERROR;
//        }
        // onlyCore indicates if the device is in cryptkeeper
        boolean onlyCore = false;
        try {
            onlyCore = IPackageManager.Stub.asInterface(ServiceManager.getService("package"))
                    .isOnlyCoreApps();
        } catch (RemoteException e) {
        }
        if (onlyCore) {
            // Device is unable to receive SMS in encrypted state
            log("Received a short message in encrypted state. Rejecting.");
            return Intents.RESULT_SMS_GENERIC_ERROR;
        }

        int result = dispatchMessageRadioSpecific(smsb);

@@ -1034,9 +1037,9 @@ public abstract class InboundSmsHandler extends StateMachine {
    @UnsupportedAppUsage
    private void showNewMessageNotification() {
        // Do not show the notification on non-FBE devices.
        // if (!StorageManager.isFileEncryptedNativeOrEmulated()) {
        //     return;
        // }
        if (!StorageManager.isFileEncryptedNativeOrEmulated()) {
            return;
        }
        log("Show new message notification.");
        PendingIntent intent = PendingIntent.getBroadcast(
            mContext,