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

Commit c9976e91 authored by Alex Stetson's avatar Alex Stetson Committed by Android (Google) Code Review
Browse files

Merge "Add centralized DisplayTracker for SystemUI"

parents 4e42f746 8a3eece5
Loading
Loading
Loading
Loading
+31 −33
Original line number Original line Diff line number Diff line
@@ -15,8 +15,6 @@
 */
 */
package com.android.keyguard;
package com.android.keyguard;


import static android.view.Display.DEFAULT_DISPLAY;

import android.app.Presentation;
import android.app.Presentation;
import android.content.Context;
import android.content.Context;
import android.graphics.Color;
import android.graphics.Color;
@@ -37,9 +35,11 @@ import android.view.WindowManager;
import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.annotations.VisibleForTesting;
import com.android.keyguard.dagger.KeyguardStatusViewComponent;
import com.android.keyguard.dagger.KeyguardStatusViewComponent;
import com.android.systemui.R;
import com.android.systemui.R;
import com.android.systemui.dagger.qualifiers.Main;
import com.android.systemui.dagger.qualifiers.UiBackground;
import com.android.systemui.dagger.qualifiers.UiBackground;
import com.android.systemui.navigationbar.NavigationBarController;
import com.android.systemui.navigationbar.NavigationBarController;
import com.android.systemui.navigationbar.NavigationBarView;
import com.android.systemui.navigationbar.NavigationBarView;
import com.android.systemui.settings.DisplayTracker;


import java.util.concurrent.Executor;
import java.util.concurrent.Executor;


@@ -53,6 +53,7 @@ public class KeyguardDisplayManager {


    private MediaRouter mMediaRouter = null;
    private MediaRouter mMediaRouter = null;
    private final DisplayManager mDisplayService;
    private final DisplayManager mDisplayService;
    private final DisplayTracker mDisplayTracker;
    private final Lazy<NavigationBarController> mNavigationBarControllerLazy;
    private final Lazy<NavigationBarController> mNavigationBarControllerLazy;
    private final KeyguardStatusViewComponent.Factory mKeyguardStatusViewComponentFactory;
    private final KeyguardStatusViewComponent.Factory mKeyguardStatusViewComponentFactory;
    private final Context mContext;
    private final Context mContext;
@@ -62,9 +63,8 @@ public class KeyguardDisplayManager {


    private final SparseArray<Presentation> mPresentations = new SparseArray<>();
    private final SparseArray<Presentation> mPresentations = new SparseArray<>();


    private final DisplayManager.DisplayListener mDisplayListener =
    private final DisplayTracker.Callback mDisplayCallback =
            new DisplayManager.DisplayListener() {
            new DisplayTracker.Callback() {

                @Override
                @Override
                public void onDisplayAdded(int displayId) {
                public void onDisplayAdded(int displayId) {
                    Trace.beginSection(
                    Trace.beginSection(
@@ -77,11 +77,6 @@ public class KeyguardDisplayManager {
                    Trace.endSection();
                    Trace.endSection();
                }
                }


        @Override
        public void onDisplayChanged(int displayId) {

        }

                @Override
                @Override
                public void onDisplayRemoved(int displayId) {
                public void onDisplayRemoved(int displayId) {
                    Trace.beginSection(
                    Trace.beginSection(
@@ -95,13 +90,16 @@ public class KeyguardDisplayManager {
    public KeyguardDisplayManager(Context context,
    public KeyguardDisplayManager(Context context,
            Lazy<NavigationBarController> navigationBarControllerLazy,
            Lazy<NavigationBarController> navigationBarControllerLazy,
            KeyguardStatusViewComponent.Factory keyguardStatusViewComponentFactory,
            KeyguardStatusViewComponent.Factory keyguardStatusViewComponentFactory,
            DisplayTracker displayTracker,
            @Main Executor mainExecutor,
            @UiBackground Executor uiBgExecutor) {
            @UiBackground Executor uiBgExecutor) {
        mContext = context;
        mContext = context;
        mNavigationBarControllerLazy = navigationBarControllerLazy;
        mNavigationBarControllerLazy = navigationBarControllerLazy;
        mKeyguardStatusViewComponentFactory = keyguardStatusViewComponentFactory;
        mKeyguardStatusViewComponentFactory = keyguardStatusViewComponentFactory;
        uiBgExecutor.execute(() -> mMediaRouter = mContext.getSystemService(MediaRouter.class));
        uiBgExecutor.execute(() -> mMediaRouter = mContext.getSystemService(MediaRouter.class));
        mDisplayService = mContext.getSystemService(DisplayManager.class);
        mDisplayService = mContext.getSystemService(DisplayManager.class);
        mDisplayService.registerDisplayListener(mDisplayListener, null /* handler */);
        mDisplayTracker = displayTracker;
        mDisplayTracker.addDisplayChangeCallback(mDisplayCallback, mainExecutor);
    }
    }


    private boolean isKeyguardShowable(Display display) {
    private boolean isKeyguardShowable(Display display) {
@@ -109,7 +107,7 @@ public class KeyguardDisplayManager {
            if (DEBUG) Log.i(TAG, "Cannot show Keyguard on null display");
            if (DEBUG) Log.i(TAG, "Cannot show Keyguard on null display");
            return false;
            return false;
        }
        }
        if (display.getDisplayId() == DEFAULT_DISPLAY) {
        if (display.getDisplayId() == mDisplayTracker.getDefaultDisplayId()) {
            if (DEBUG) Log.i(TAG, "Do not show KeyguardPresentation on the default display");
            if (DEBUG) Log.i(TAG, "Do not show KeyguardPresentation on the default display");
            return false;
            return false;
        }
        }
@@ -224,7 +222,7 @@ public class KeyguardDisplayManager {
    protected boolean updateDisplays(boolean showing) {
    protected boolean updateDisplays(boolean showing) {
        boolean changed = false;
        boolean changed = false;
        if (showing) {
        if (showing) {
            final Display[] displays = mDisplayService.getDisplays();
            final Display[] displays = mDisplayTracker.getAllDisplays();
            for (Display display : displays) {
            for (Display display : displays) {
                int displayId = display.getDisplayId();
                int displayId = display.getDisplayId();
                updateNavigationBarVisibility(displayId, false /* navBarVisible */);
                updateNavigationBarVisibility(displayId, false /* navBarVisible */);
@@ -247,7 +245,7 @@ public class KeyguardDisplayManager {
    //  term solution in R.
    //  term solution in R.
    private void updateNavigationBarVisibility(int displayId, boolean navBarVisible) {
    private void updateNavigationBarVisibility(int displayId, boolean navBarVisible) {
        // Leave this task to {@link StatusBarKeyguardViewManager}
        // Leave this task to {@link StatusBarKeyguardViewManager}
        if (displayId == DEFAULT_DISPLAY) return;
        if (displayId == mDisplayTracker.getDefaultDisplayId()) return;


        NavigationBarView navBarView = mNavigationBarControllerLazy.get()
        NavigationBarView navBarView = mNavigationBarControllerLazy.get()
                .getNavigationBarView(displayId);
                .getNavigationBarView(displayId);
+7 −4
Original line number Original line Diff line number Diff line
@@ -17,7 +17,6 @@
package com.android.keyguard;
package com.android.keyguard;


import static android.app.slice.Slice.HINT_LIST_ITEM;
import static android.app.slice.Slice.HINT_LIST_ITEM;
import static android.view.Display.DEFAULT_DISPLAY;


import android.app.PendingIntent;
import android.app.PendingIntent;
import android.net.Uri;
import android.net.Uri;
@@ -43,6 +42,7 @@ import com.android.systemui.Dumpable;
import com.android.systemui.dump.DumpManager;
import com.android.systemui.dump.DumpManager;
import com.android.systemui.keyguard.KeyguardSliceProvider;
import com.android.systemui.keyguard.KeyguardSliceProvider;
import com.android.systemui.plugins.ActivityStarter;
import com.android.systemui.plugins.ActivityStarter;
import com.android.systemui.settings.DisplayTracker;
import com.android.systemui.statusbar.policy.ConfigurationController;
import com.android.systemui.statusbar.policy.ConfigurationController;
import com.android.systemui.tuner.TunerService;
import com.android.systemui.tuner.TunerService;
import com.android.systemui.util.ViewController;
import com.android.systemui.util.ViewController;
@@ -64,6 +64,7 @@ public class KeyguardSliceViewController extends ViewController<KeyguardSliceVie
    private final ConfigurationController mConfigurationController;
    private final ConfigurationController mConfigurationController;
    private final TunerService mTunerService;
    private final TunerService mTunerService;
    private final DumpManager mDumpManager;
    private final DumpManager mDumpManager;
    private final DisplayTracker mDisplayTracker;
    private int mDisplayId;
    private int mDisplayId;
    private LiveData<Slice> mLiveData;
    private LiveData<Slice> mLiveData;
    private Uri mKeyguardSliceUri;
    private Uri mKeyguardSliceUri;
@@ -108,12 +109,14 @@ public class KeyguardSliceViewController extends ViewController<KeyguardSliceVie
            ActivityStarter activityStarter,
            ActivityStarter activityStarter,
            ConfigurationController configurationController,
            ConfigurationController configurationController,
            TunerService tunerService,
            TunerService tunerService,
            DumpManager dumpManager) {
            DumpManager dumpManager,
            DisplayTracker displayTracker) {
        super(keyguardSliceView);
        super(keyguardSliceView);
        mActivityStarter = activityStarter;
        mActivityStarter = activityStarter;
        mConfigurationController = configurationController;
        mConfigurationController = configurationController;
        mTunerService = tunerService;
        mTunerService = tunerService;
        mDumpManager = dumpManager;
        mDumpManager = dumpManager;
        mDisplayTracker = displayTracker;
    }
    }


    @Override
    @Override
@@ -124,7 +127,7 @@ public class KeyguardSliceViewController extends ViewController<KeyguardSliceVie
        }
        }
        mTunerService.addTunable(mTunable, Settings.Secure.KEYGUARD_SLICE_URI);
        mTunerService.addTunable(mTunable, Settings.Secure.KEYGUARD_SLICE_URI);
        // Make sure we always have the most current slice
        // Make sure we always have the most current slice
        if (mDisplayId == DEFAULT_DISPLAY && mLiveData != null) {
        if (mDisplayId == mDisplayTracker.getDefaultDisplayId() && mLiveData != null) {
            mLiveData.observeForever(mObserver);
            mLiveData.observeForever(mObserver);
        }
        }
        mConfigurationController.addCallback(mConfigurationListener);
        mConfigurationController.addCallback(mConfigurationListener);
@@ -137,7 +140,7 @@ public class KeyguardSliceViewController extends ViewController<KeyguardSliceVie
    @Override
    @Override
    protected void onViewDetached() {
    protected void onViewDetached() {
        // TODO(b/117344873) Remove below work around after this issue be fixed.
        // TODO(b/117344873) Remove below work around after this issue be fixed.
        if (mDisplayId == DEFAULT_DISPLAY) {
        if (mDisplayId == mDisplayTracker.getDefaultDisplayId()) {
            mLiveData.removeObserver(mObserver);
            mLiveData.removeObserver(mObserver);
        }
        }
        mTunerService.removeTunable(mTunable);
        mTunerService.removeTunable(mTunable);
+8 −17
Original line number Original line Diff line number Diff line
@@ -36,10 +36,10 @@ import android.graphics.Path;
import android.graphics.PixelFormat;
import android.graphics.PixelFormat;
import android.graphics.Rect;
import android.graphics.Rect;
import android.graphics.drawable.Drawable;
import android.graphics.drawable.Drawable;
import android.hardware.display.DisplayManager;
import android.hardware.graphics.common.AlphaInterpretation;
import android.hardware.graphics.common.AlphaInterpretation;
import android.hardware.graphics.common.DisplayDecorationSupport;
import android.hardware.graphics.common.DisplayDecorationSupport;
import android.os.Handler;
import android.os.Handler;
import android.os.HandlerExecutor;
import android.os.SystemProperties;
import android.os.SystemProperties;
import android.os.Trace;
import android.os.Trace;
import android.provider.Settings.Secure;
import android.provider.Settings.Secure;
@@ -76,6 +76,7 @@ import com.android.systemui.decor.PrivacyDotDecorProviderFactory;
import com.android.systemui.decor.RoundedCornerDecorProviderFactory;
import com.android.systemui.decor.RoundedCornerDecorProviderFactory;
import com.android.systemui.decor.RoundedCornerResDelegate;
import com.android.systemui.decor.RoundedCornerResDelegate;
import com.android.systemui.qs.SettingObserver;
import com.android.systemui.qs.SettingObserver;
import com.android.systemui.settings.DisplayTracker;
import com.android.systemui.settings.UserTracker;
import com.android.systemui.settings.UserTracker;
import com.android.systemui.statusbar.events.PrivacyDotViewController;
import com.android.systemui.statusbar.events.PrivacyDotViewController;
import com.android.systemui.tuner.TunerService;
import com.android.systemui.tuner.TunerService;
@@ -120,7 +121,7 @@ public class ScreenDecorations implements CoreStartable, Tunable , Dumpable {
            R.id.display_cutout_bottom
            R.id.display_cutout_bottom
    };
    };


    private DisplayManager mDisplayManager;
    private DisplayTracker mDisplayTracker;
    @VisibleForTesting
    @VisibleForTesting
    protected boolean mIsRegistered;
    protected boolean mIsRegistered;
    private final Context mContext;
    private final Context mContext;
@@ -128,7 +129,7 @@ public class ScreenDecorations implements CoreStartable, Tunable , Dumpable {
    private final TunerService mTunerService;
    private final TunerService mTunerService;
    private final SecureSettings mSecureSettings;
    private final SecureSettings mSecureSettings;
    @VisibleForTesting
    @VisibleForTesting
    DisplayManager.DisplayListener mDisplayListener;
    DisplayTracker.Callback mDisplayListener;
    private CameraAvailabilityListener mCameraListener;
    private CameraAvailabilityListener mCameraListener;
    private final UserTracker mUserTracker;
    private final UserTracker mUserTracker;
    private final PrivacyDotViewController mDotViewController;
    private final PrivacyDotViewController mDotViewController;
@@ -302,6 +303,7 @@ public class ScreenDecorations implements CoreStartable, Tunable , Dumpable {
            SecureSettings secureSettings,
            SecureSettings secureSettings,
            TunerService tunerService,
            TunerService tunerService,
            UserTracker userTracker,
            UserTracker userTracker,
            DisplayTracker displayTracker,
            PrivacyDotViewController dotViewController,
            PrivacyDotViewController dotViewController,
            ThreadFactory threadFactory,
            ThreadFactory threadFactory,
            PrivacyDotDecorProviderFactory dotFactory,
            PrivacyDotDecorProviderFactory dotFactory,
@@ -311,6 +313,7 @@ public class ScreenDecorations implements CoreStartable, Tunable , Dumpable {
        mSecureSettings = secureSettings;
        mSecureSettings = secureSettings;
        mTunerService = tunerService;
        mTunerService = tunerService;
        mUserTracker = userTracker;
        mUserTracker = userTracker;
        mDisplayTracker = displayTracker;
        mDotViewController = dotViewController;
        mDotViewController = dotViewController;
        mThreadFactory = threadFactory;
        mThreadFactory = threadFactory;
        mDotFactory = dotFactory;
        mDotFactory = dotFactory;
@@ -376,7 +379,6 @@ public class ScreenDecorations implements CoreStartable, Tunable , Dumpable {
    private void startOnScreenDecorationsThread() {
    private void startOnScreenDecorationsThread() {
        Trace.beginSection("ScreenDecorations#startOnScreenDecorationsThread");
        Trace.beginSection("ScreenDecorations#startOnScreenDecorationsThread");
        mWindowManager = mContext.getSystemService(WindowManager.class);
        mWindowManager = mContext.getSystemService(WindowManager.class);
        mDisplayManager = mContext.getSystemService(DisplayManager.class);
        mContext.getDisplay().getDisplayInfo(mDisplayInfo);
        mContext.getDisplay().getDisplayInfo(mDisplayInfo);
        mRotation = mDisplayInfo.rotation;
        mRotation = mDisplayInfo.rotation;
        mDisplayMode = mDisplayInfo.getMode();
        mDisplayMode = mDisplayInfo.getMode();
@@ -393,17 +395,7 @@ public class ScreenDecorations implements CoreStartable, Tunable , Dumpable {
        setupDecorations();
        setupDecorations();
        setupCameraListener();
        setupCameraListener();


        mDisplayListener = new DisplayManager.DisplayListener() {
        mDisplayListener = new DisplayTracker.Callback() {
            @Override
            public void onDisplayAdded(int displayId) {
                // do nothing
            }

            @Override
            public void onDisplayRemoved(int displayId) {
                // do nothing
            }

            @Override
            @Override
            public void onDisplayChanged(int displayId) {
            public void onDisplayChanged(int displayId) {
                mContext.getDisplay().getDisplayInfo(mDisplayInfo);
                mContext.getDisplay().getDisplayInfo(mDisplayInfo);
@@ -474,8 +466,7 @@ public class ScreenDecorations implements CoreStartable, Tunable , Dumpable {
                }
                }
            }
            }
        };
        };

        mDisplayTracker.addDisplayChangeCallback(mDisplayListener, new HandlerExecutor(mHandler));
        mDisplayManager.registerDisplayListener(mDisplayListener, mHandler);
        updateConfiguration();
        updateConfiguration();
        Trace.endSection();
        Trace.endSection();
    }
    }
+6 −3
Original line number Original line Diff line number Diff line
@@ -36,7 +36,6 @@ import android.os.PowerManager;
import android.os.RemoteException;
import android.os.RemoteException;
import android.os.SystemClock;
import android.os.SystemClock;
import android.util.Log;
import android.util.Log;
import android.view.Display;
import android.view.IWindowManager;
import android.view.IWindowManager;
import android.view.InputDevice;
import android.view.InputDevice;
import android.view.KeyCharacterMap;
import android.view.KeyCharacterMap;
@@ -50,6 +49,7 @@ import com.android.internal.util.ScreenshotHelper;
import com.android.systemui.CoreStartable;
import com.android.systemui.CoreStartable;
import com.android.systemui.dagger.SysUISingleton;
import com.android.systemui.dagger.SysUISingleton;
import com.android.systemui.recents.Recents;
import com.android.systemui.recents.Recents;
import com.android.systemui.settings.DisplayTracker;
import com.android.systemui.settings.UserTracker;
import com.android.systemui.settings.UserTracker;
import com.android.systemui.shade.ShadeController;
import com.android.systemui.shade.ShadeController;
import com.android.systemui.statusbar.CommandQueue;
import com.android.systemui.statusbar.CommandQueue;
@@ -180,6 +180,7 @@ public class SystemActions implements CoreStartable {
    private final Context mContext;
    private final Context mContext;
    private final UserTracker mUserTracker;
    private final UserTracker mUserTracker;
    private final Optional<Recents> mRecentsOptional;
    private final Optional<Recents> mRecentsOptional;
    private final DisplayTracker mDisplayTracker;
    private Locale mLocale;
    private Locale mLocale;
    private final AccessibilityManager mA11yManager;
    private final AccessibilityManager mA11yManager;
    private final Lazy<Optional<CentralSurfaces>> mCentralSurfacesOptionalLazy;
    private final Lazy<Optional<CentralSurfaces>> mCentralSurfacesOptionalLazy;
@@ -194,11 +195,13 @@ public class SystemActions implements CoreStartable {
            NotificationShadeWindowController notificationShadeController,
            NotificationShadeWindowController notificationShadeController,
            ShadeController shadeController,
            ShadeController shadeController,
            Lazy<Optional<CentralSurfaces>> centralSurfacesOptionalLazy,
            Lazy<Optional<CentralSurfaces>> centralSurfacesOptionalLazy,
            Optional<Recents> recentsOptional) {
            Optional<Recents> recentsOptional,
            DisplayTracker displayTracker) {
        mContext = context;
        mContext = context;
        mUserTracker = userTracker;
        mUserTracker = userTracker;
        mShadeController = shadeController;
        mShadeController = shadeController;
        mRecentsOptional = recentsOptional;
        mRecentsOptional = recentsOptional;
        mDisplayTracker = displayTracker;
        mReceiver = new SystemActionsBroadcastReceiver();
        mReceiver = new SystemActionsBroadcastReceiver();
        mLocale = mContext.getResources().getConfiguration().getLocales().get(0);
        mLocale = mContext.getResources().getConfiguration().getLocales().get(0);
        mA11yManager = (AccessibilityManager) mContext.getSystemService(
        mA11yManager = (AccessibilityManager) mContext.getSystemService(
@@ -523,7 +526,7 @@ public class SystemActions implements CoreStartable {


    private void handleAccessibilityButton() {
    private void handleAccessibilityButton() {
        AccessibilityManager.getInstance(mContext).notifyAccessibilityButtonClicked(
        AccessibilityManager.getInstance(mContext).notifyAccessibilityButtonClicked(
                Display.DEFAULT_DISPLAY);
                mDisplayTracker.getDefaultDisplayId());
    }
    }


    private void handleAccessibilityButtonChooser() {
    private void handleAccessibilityButtonChooser() {
+6 −3
Original line number Original line Diff line number Diff line
@@ -40,6 +40,7 @@ import com.android.systemui.dagger.SysUISingleton;
import com.android.systemui.dagger.qualifiers.Main;
import com.android.systemui.dagger.qualifiers.Main;
import com.android.systemui.model.SysUiState;
import com.android.systemui.model.SysUiState;
import com.android.systemui.recents.OverviewProxyService;
import com.android.systemui.recents.OverviewProxyService;
import com.android.systemui.settings.DisplayTracker;
import com.android.systemui.statusbar.CommandQueue;
import com.android.systemui.statusbar.CommandQueue;
import com.android.systemui.util.settings.SecureSettings;
import com.android.systemui.util.settings.SecureSettings;


@@ -64,6 +65,7 @@ public class WindowMagnification implements CoreStartable, WindowMagnifierCallba
    private final AccessibilityManager mAccessibilityManager;
    private final AccessibilityManager mAccessibilityManager;
    private final CommandQueue mCommandQueue;
    private final CommandQueue mCommandQueue;
    private final OverviewProxyService mOverviewProxyService;
    private final OverviewProxyService mOverviewProxyService;
    private final DisplayTracker mDisplayTracker;


    private WindowMagnificationConnectionImpl mWindowMagnificationConnectionImpl;
    private WindowMagnificationConnectionImpl mWindowMagnificationConnectionImpl;
    private SysUiState mSysUiState;
    private SysUiState mSysUiState;
@@ -115,7 +117,7 @@ public class WindowMagnification implements CoreStartable, WindowMagnifierCallba
    public WindowMagnification(Context context, @Main Handler mainHandler,
    public WindowMagnification(Context context, @Main Handler mainHandler,
            CommandQueue commandQueue, ModeSwitchesController modeSwitchesController,
            CommandQueue commandQueue, ModeSwitchesController modeSwitchesController,
            SysUiState sysUiState, OverviewProxyService overviewProxyService,
            SysUiState sysUiState, OverviewProxyService overviewProxyService,
            SecureSettings secureSettings) {
            SecureSettings secureSettings, DisplayTracker displayTracker) {
        mContext = context;
        mContext = context;
        mHandler = mainHandler;
        mHandler = mainHandler;
        mAccessibilityManager = mContext.getSystemService(AccessibilityManager.class);
        mAccessibilityManager = mContext.getSystemService(AccessibilityManager.class);
@@ -123,6 +125,7 @@ public class WindowMagnification implements CoreStartable, WindowMagnifierCallba
        mModeSwitchesController = modeSwitchesController;
        mModeSwitchesController = modeSwitchesController;
        mSysUiState = sysUiState;
        mSysUiState = sysUiState;
        mOverviewProxyService = overviewProxyService;
        mOverviewProxyService = overviewProxyService;
        mDisplayTracker = displayTracker;
        mMagnificationControllerSupplier = new ControllerSupplier(context,
        mMagnificationControllerSupplier = new ControllerSupplier(context,
                mHandler, this, context.getSystemService(DisplayManager.class), sysUiState,
                mHandler, this, context.getSystemService(DisplayManager.class), sysUiState,
                secureSettings);
                secureSettings);
@@ -144,14 +147,14 @@ public class WindowMagnification implements CoreStartable, WindowMagnifierCallba
    private void updateSysUiStateFlag() {
    private void updateSysUiStateFlag() {
        //TODO(b/187510533): support multi-display once SysuiState supports it.
        //TODO(b/187510533): support multi-display once SysuiState supports it.
        final WindowMagnificationController controller =
        final WindowMagnificationController controller =
                mMagnificationControllerSupplier.valueAt(Display.DEFAULT_DISPLAY);
                mMagnificationControllerSupplier.valueAt(mDisplayTracker.getDefaultDisplayId());
        if (controller != null) {
        if (controller != null) {
            controller.updateSysUIStateFlag();
            controller.updateSysUIStateFlag();
        } else {
        } else {
            // The instance is initialized when there is an IPC request. Considering
            // The instance is initialized when there is an IPC request. Considering
            // self-crash cases, we need to reset the flag in such situation.
            // self-crash cases, we need to reset the flag in such situation.
            mSysUiState.setFlag(SYSUI_STATE_MAGNIFICATION_OVERLAP, false)
            mSysUiState.setFlag(SYSUI_STATE_MAGNIFICATION_OVERLAP, false)
                    .commitUpdate(Display.DEFAULT_DISPLAY);
                    .commitUpdate(mDisplayTracker.getDefaultDisplayId());
        }
        }
    }
    }


Loading