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

Commit 5e637c3e authored by /e/ robot's avatar /e/ robot
Browse files

Merge remote-tracking branch 'origin/lineage-19.1' into v1-s

parents 004efff4 a1e8ab5e
Loading
Loading
Loading
Loading
+11 −1
Original line number Diff line number Diff line
@@ -351,7 +351,17 @@ public class DreamBackend {
        if (cn != null && cn.indexOf('/') < 0) {
            cn = resolveInfo.serviceInfo.packageName + "/" + cn;
        }
        return cn == null ? null : ComponentName.unflattenFromString(cn);
        // Ensure that the component is from the same package as the dream service. If not,
        // treat the component as invalid and return null instead.
        final ComponentName result = cn != null ? ComponentName.unflattenFromString(cn) : null;
        if (result != null
                && !result.getPackageName().equals(resolveInfo.serviceInfo.packageName)) {
            Log.w(TAG,
                    "Inconsistent package name in component: " + result.getPackageName()
                            + ", should be: " + resolveInfo.serviceInfo.packageName);
            return null;
        }
        return result;
    }

    private static void logd(String msg, Object... args) {
+13 −3
Original line number Diff line number Diff line
@@ -54,6 +54,7 @@ import com.android.systemui.R;
import com.android.systemui.classifier.FalsingCollector;
import com.android.systemui.shared.system.SysUiStatsLog;
import com.android.systemui.statusbar.policy.ConfigurationController;
import com.android.systemui.statusbar.policy.DeviceProvisionedController;
import com.android.systemui.statusbar.policy.KeyguardStateController;
import com.android.systemui.util.ViewController;

@@ -221,6 +222,7 @@ public class KeyguardSecurityContainerController extends ViewController<Keyguard
                    mSecurityViewFlipperController.reloadColors();
                }
            };
    private final DeviceProvisionedController mDeviceProvisionedController;

    private KeyguardSecurityContainerController(KeyguardSecurityContainer view,
            AdminSecondaryLockScreenController.Factory adminSecondaryLockScreenControllerFactory,
@@ -233,6 +235,7 @@ public class KeyguardSecurityContainerController extends ViewController<Keyguard
            SecurityCallback securityCallback,
            KeyguardSecurityViewFlipperController securityViewFlipperController,
            ConfigurationController configurationController,
            DeviceProvisionedController deviceProvisionedController,
            FalsingCollector falsingCollector) {
        super(view);
        mLockPatternUtils = lockPatternUtils;
@@ -247,6 +250,7 @@ public class KeyguardSecurityContainerController extends ViewController<Keyguard
                mKeyguardSecurityCallback);
        mConfigurationController = configurationController;
        mLastOrientation = getResources().getConfiguration().orientation;
        mDeviceProvisionedController = deviceProvisionedController;
        mFalsingCollector = falsingCollector;
    }

@@ -426,8 +430,11 @@ public class KeyguardSecurityContainerController extends ViewController<Keyguard
                case SimPuk:
                    // Shortcut for SIM PIN/PUK to go to directly to user's security screen or home
                    SecurityMode securityMode = mSecurityModel.getSecurityMode(targetUserId);
                    if (securityMode == SecurityMode.None && mLockPatternUtils.isLockScreenDisabled(
                            KeyguardUpdateMonitor.getCurrentUser())) {
                    boolean isLockscreenDisabled = mLockPatternUtils.isLockScreenDisabled(
                            KeyguardUpdateMonitor.getCurrentUser())
                            || !mDeviceProvisionedController.isUserSetup(targetUserId);

                    if (securityMode == SecurityMode.None && isLockscreenDisabled) {
                        finish = true;
                        eventSubtype = BOUNCER_DISMISS_SIM;
                        uiEvent = BouncerUiEvent.BOUNCER_DISMISS_SIM;
@@ -625,6 +632,7 @@ public class KeyguardSecurityContainerController extends ViewController<Keyguard
        private final KeyguardStateController mKeyguardStateController;
        private final KeyguardSecurityViewFlipperController mSecurityViewFlipperController;
        private final ConfigurationController mConfigurationController;
        private final DeviceProvisionedController mDeviceProvisionedController;
        private final FalsingCollector mFalsingCollector;

        @Inject
@@ -639,6 +647,7 @@ public class KeyguardSecurityContainerController extends ViewController<Keyguard
                KeyguardStateController keyguardStateController,
                KeyguardSecurityViewFlipperController securityViewFlipperController,
                ConfigurationController configurationController,
                DeviceProvisionedController deviceProvisionedController,
                FalsingCollector falsingCollector) {
            mView = view;
            mAdminSecondaryLockScreenControllerFactory = adminSecondaryLockScreenControllerFactory;
@@ -650,6 +659,7 @@ public class KeyguardSecurityContainerController extends ViewController<Keyguard
            mKeyguardStateController = keyguardStateController;
            mSecurityViewFlipperController = securityViewFlipperController;
            mConfigurationController = configurationController;
            mDeviceProvisionedController = deviceProvisionedController;
            mFalsingCollector = falsingCollector;
        }

@@ -659,7 +669,7 @@ public class KeyguardSecurityContainerController extends ViewController<Keyguard
                    mAdminSecondaryLockScreenControllerFactory, mLockPatternUtils,
                    mKeyguardUpdateMonitor, mKeyguardSecurityModel, mMetricsLogger, mUiEventLogger,
                    mKeyguardStateController, securityCallback, mSecurityViewFlipperController,
                    mConfigurationController, mFalsingCollector);
                    mConfigurationController, mDeviceProvisionedController, mFalsingCollector);
        }

    }
+28 −0
Original line number Diff line number Diff line
@@ -52,6 +52,7 @@ import java.io.FileDescriptor;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Set;

import javax.inject.Inject;
@@ -144,6 +145,10 @@ public class AppOpsControllerImpl extends BroadcastReceiver implements AppOpsCon
    protected void setListening(boolean listening) {
        mListening = listening;
        if (listening) {
            // System UI could be restarted while ops are active, so fetch the currently active ops
            // once System UI starts listening again.
            fetchCurrentActiveOps();

            mAppOps.startWatchingActive(OPS, this);
            mAppOps.startWatchingNoted(OPS, this);
            mAudioManager.registerAudioRecordingCallback(mAudioRecordingCallback, mBGHandler);
@@ -176,6 +181,29 @@ public class AppOpsControllerImpl extends BroadcastReceiver implements AppOpsCon
        }
    }

    private void fetchCurrentActiveOps() {
        List<AppOpsManager.PackageOps> packageOps = mAppOps.getPackagesForOps(OPS);
        for (AppOpsManager.PackageOps op : packageOps) {
            for (AppOpsManager.OpEntry entry : op.getOps()) {
                for (Map.Entry<String, AppOpsManager.AttributedOpEntry> attributedOpEntry :
                        entry.getAttributedOpEntries().entrySet()) {
                    if (attributedOpEntry.getValue().isRunning()) {
                        onOpActiveChanged(
                                entry.getOpStr(),
                                op.getUid(),
                                op.getPackageName(),
                                /* attributionTag= */ attributedOpEntry.getKey(),
                                /* active= */ true,
                                // AppOpsManager doesn't have a way to fetch attribution flags or
                                // chain ID given an op entry, so default them to none.
                                AppOpsManager.ATTRIBUTION_FLAGS_NONE,
                                AppOpsManager.ATTRIBUTION_CHAIN_ID_NONE);
                    }
                }
            }
        }
    }

    /**
     * Adds a callback that will get notifified when an AppOp of the type the controller tracks
     * changes
+3 −2
Original line number Diff line number Diff line
@@ -93,8 +93,9 @@ class SystemStatusAnimationScheduler @Inject constructor(
    }

    fun onStatusEvent(event: StatusEvent) {
        // Ignore any updates until the system is up and running
        if (isTooEarly() || !isImmersiveIndicatorEnabled()) {
        // Ignore any updates until the system is up and running. However, for important events that
        // request to be force visible (like privacy), ignore whether it's too early.
        if ((isTooEarly() && !event.forceVisible) || !isImmersiveIndicatorEnabled()) {
            return
        }

+2 −1
Original line number Diff line number Diff line
@@ -50,6 +50,7 @@ import com.android.systemui.R;
import com.android.systemui.SysuiTestCase;
import com.android.systemui.classifier.FalsingCollector;
import com.android.systemui.statusbar.policy.ConfigurationController;
import com.android.systemui.statusbar.policy.DeviceProvisionedController;
import com.android.systemui.statusbar.policy.KeyguardStateController;

import org.junit.Before;
@@ -143,7 +144,7 @@ public class KeyguardSecurityContainerControllerTest extends SysuiTestCase {
                mView, mAdminSecondaryLockScreenControllerFactory, mLockPatternUtils,
                mKeyguardUpdateMonitor, mKeyguardSecurityModel, mMetricsLogger, mUiEventLogger,
                mKeyguardStateController, mKeyguardSecurityViewFlipperController,
                mConfigurationController, mFalsingCollector)
                mConfigurationController, mock(DeviceProvisionedController.class)), mFalsingCollector)
                .create(mSecurityCallback);
    }

Loading