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

Commit f706b272 authored by Ale Nijamkin's avatar Ale Nijamkin Committed by Android (Google) Code Review
Browse files

Merge "Fix User Switch Timeout Issue" into main

parents 5d58a447 d98371fb
Loading
Loading
Loading
Loading
+8 −2
Original line number Diff line number Diff line
@@ -20,11 +20,12 @@ import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.pm.UserInfo;
import android.os.HandlerExecutor;
import android.os.HandlerThread;
import android.os.UserHandle;

import androidx.annotation.NonNull;

import com.android.systemui.res.R;
import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.logging.UiEventLogger;
import com.android.systemui.GuestResetOrExitSessionReceiver.ResetSessionDialogFactory;
@@ -32,6 +33,7 @@ import com.android.systemui.broadcast.BroadcastDispatcher;
import com.android.systemui.dagger.SysUISingleton;
import com.android.systemui.dagger.qualifiers.Main;
import com.android.systemui.qs.QSUserSwitcherEvent;
import com.android.systemui.res.R;
import com.android.systemui.settings.UserTracker;
import com.android.systemui.statusbar.phone.SystemUIDialog;
import com.android.systemui.statusbar.policy.UserSwitcherController;
@@ -61,6 +63,7 @@ public class GuestResumeSessionReceiver {
    private final SecureSettings mSecureSettings;
    private final ResetSessionDialogFactory mResetSessionDialogFactory;
    private final GuestSessionNotification mGuestSessionNotification;
    private final HandlerThread mHandlerThread;

    @VisibleForTesting
    public final UserTracker.Callback mUserChangedCallback =
@@ -111,13 +114,16 @@ public class GuestResumeSessionReceiver {
        mSecureSettings = secureSettings;
        mGuestSessionNotification = guestSessionNotification;
        mResetSessionDialogFactory = resetSessionDialogFactory;
        mHandlerThread = new HandlerThread("GuestResumeSessionReceiver");
        mHandlerThread.start();
    }

    /**
     * Register this receiver with the {@link BroadcastDispatcher}
     */
    public void register() {
        mUserTracker.addCallback(mUserChangedCallback, mMainExecutor);
        mUserTracker.addCallback(mUserChangedCallback,
                  new HandlerExecutor(mHandlerThread.getThreadHandler()));
    }

    private void cancelDialog() {
+1 −1
Original line number Diff line number Diff line
@@ -146,7 +146,7 @@ constructor(
                null,
                UserHandle.ALL
            )
            userTracker.addCallback(userTrackerCallback, mainExecutor)
            userTracker.addCallback(userTrackerCallback, backgroundExecutor)
            loadSavedComponents()
        }
    }
+7 −1
Original line number Diff line number Diff line
@@ -26,6 +26,8 @@ import android.content.res.Configuration;
import android.database.ContentObserver;
import android.os.BatteryManager;
import android.os.Handler;
import android.os.HandlerExecutor;
import android.os.HandlerThread;
import android.os.IThermalEventListener;
import android.os.IThermalService;
import android.os.PowerManager;
@@ -95,6 +97,7 @@ public class PowerUI implements
    private Future mLastShowWarningTask;
    private boolean mEnableSkinTemperatureWarning;
    private boolean mEnableUsbTemperatureAlarm;
    private final HandlerThread mHandlerThread;

    private int mLowBatteryAlertCloseLevel;
    private final int[] mLowBatteryReminderLevels = new int[2];
@@ -167,6 +170,8 @@ public class PowerUI implements
        mPowerManager = powerManager;
        mWakefulnessLifecycle = wakefulnessLifecycle;
        mUserTracker = userTracker;
        mHandlerThread = new HandlerThread("PowerUI");
        mHandlerThread.start();
    }

    public void start() {
@@ -185,7 +190,8 @@ public class PowerUI implements
                false, obs, UserHandle.USER_ALL);
        updateBatteryWarningLevels();
        mReceiver.init();
        mUserTracker.addCallback(mUserChangedCallback, mContext.getMainExecutor());
        mUserTracker.addCallback(mUserChangedCallback,
                    new HandlerExecutor(mHandlerThread.getThreadHandler()));
        mWakefulnessLifecycle.addObserver(mWakefulnessObserver);

        // Check to see if we need to let the user know that the phone previously shut down due
+4 −5
Original line number Diff line number Diff line
@@ -35,7 +35,6 @@ import android.net.wifi.WifiManager;
import android.os.AsyncTask;
import android.os.Bundle;
import android.os.Handler;
import android.os.HandlerExecutor;
import android.os.Looper;
import android.provider.Settings;
import android.telephony.CarrierConfigManager;
@@ -61,7 +60,6 @@ import com.android.settingslib.mobile.MobileStatusTracker.SubscriptionDefaults;
import com.android.settingslib.mobile.TelephonyIcons;
import com.android.settingslib.net.DataUsageController;
import com.android.systemui.Dumpable;
import com.android.systemui.res.R;
import com.android.systemui.broadcast.BroadcastDispatcher;
import com.android.systemui.dagger.SysUISingleton;
import com.android.systemui.dagger.qualifiers.Background;
@@ -73,6 +71,7 @@ import com.android.systemui.log.LogBuffer;
import com.android.systemui.log.core.LogLevel;
import com.android.systemui.log.dagger.StatusBarNetworkControllerLog;
import com.android.systemui.qs.tiles.dialog.InternetDialogFactory;
import com.android.systemui.res.R;
import com.android.systemui.settings.UserTracker;
import com.android.systemui.statusbar.pipeline.StatusBarPipelineFlags;
import com.android.systemui.statusbar.policy.ConfigurationController;
@@ -85,6 +84,8 @@ import com.android.systemui.util.CarrierConfigTracker;

import dalvik.annotation.optimization.NeverCompile;

import kotlin.Unit;

import java.io.PrintWriter;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
@@ -99,8 +100,6 @@ import java.util.stream.Collectors;

import javax.inject.Inject;

import kotlin.Unit;

/** Platform implementation of the network controller. **/
@SysUISingleton
public class NetworkControllerImpl extends BroadcastReceiver
@@ -350,7 +349,7 @@ public class NetworkControllerImpl extends BroadcastReceiver
        // AIRPLANE_MODE_CHANGED is sent at boot; we've probably already missed it
        updateAirplaneMode(true /* force callback */);
        mUserTracker = userTracker;
        mUserTracker.addCallback(mUserChangedCallback, new HandlerExecutor(mMainHandler));
        mUserTracker.addCallback(mUserChangedCallback, mBgExecutor);

        deviceProvisionedController.addCallback(new DeviceProvisionedListener() {
            @Override
+5 −1
Original line number Diff line number Diff line
@@ -6,6 +6,7 @@ import android.database.ContentObserver
import android.net.Uri
import android.os.Handler
import android.os.HandlerExecutor
import android.os.HandlerThread
import android.os.UserHandle
import android.provider.Settings
import com.android.keyguard.KeyguardUpdateMonitor
@@ -87,6 +88,7 @@ class KeyguardNotificationVisibilityProviderImpl @Inject constructor(
            secureSettings.getUriFor(Settings.Secure.LOCK_SCREEN_SHOW_SILENT_NOTIFICATIONS)
    private val onStateChangedListeners = ListenerSet<Consumer<String>>()
    private var hideSilentNotificationsOnLockscreen: Boolean = false
    private val handlerThread: HandlerThread = HandlerThread("KeyguardNotificationVis")

    private val userTrackerCallback = object : UserTracker.Callback {
        override fun onUserChanged(newUser: Int, userContext: Context) {
@@ -154,7 +156,9 @@ class KeyguardNotificationVisibilityProviderImpl @Inject constructor(
                notifyStateChanged("onStatusBarUpcomingStateChanged")
            }
        })
        userTracker.addCallback(userTrackerCallback, HandlerExecutor(handler))
        handlerThread.start()
        userTracker.addCallback(userTrackerCallback,
                   HandlerExecutor(handlerThread.getThreadHandler()))
    }

    override fun addOnStateChangedListener(listener: Consumer<String>) {
Loading