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

Commit 64a04d87 authored by Jorge Ruesga's avatar Jorge Ruesga
Browse files

systemui: improve DessertCaseDream immersive mode exit



Change-Id: I9d68e3f2e63467ae2f842a99e0071b562dfb6b15
Signed-off-by: default avatarJorge Ruesga <jorge@ruesga.com>
parent 705e15dd
Loading
Loading
Loading
Loading
+3 −2
Original line number Original line Diff line number Diff line
@@ -30,7 +30,8 @@ public class DessertCaseDream extends DreamService {
    @Override
    @Override
    public void onAttachedToWindow() {
    public void onAttachedToWindow() {
        super.onAttachedToWindow();
        super.onAttachedToWindow();
        setInteractive(false);
        setInteractive(true);
        setFullscreen(true);


        SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getBaseContext());
        SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getBaseContext());
        final boolean isCM = prefs.getBoolean("dessert_case_cm", false);
        final boolean isCM = prefs.getBoolean("dessert_case_cm", false);
@@ -41,7 +42,7 @@ public class DessertCaseDream extends DreamService {
            mView = new DessertCaseView(this);
            mView = new DessertCaseView(this);
        }
        }


        mContainer = new DessertCaseView.RescalingContainer(this);
        mContainer = new DessertCaseView.RescalingContainer(this, true);


        mContainer.setView(mView);
        mContainer.setView(mView);


+21 −8
Original line number Original line Diff line number Diff line
@@ -522,8 +522,20 @@ public class DessertCaseView extends FrameLayout {
        private float mDarkness;
        private float mDarkness;


        public RescalingContainer(Context context) {
        public RescalingContainer(Context context) {
            this(context, false);
        }

        RescalingContainer(Context context, boolean dayDream) {
            super(context);
            super(context);


            if (dayDream) {
                // For daydream is better to use setFullscreen + this window flags
                // It creates a better ux exiting from immersive mode
                setSystemUiVisibility(0
                        | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
                        | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
                        | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);
            } else {
                setSystemUiVisibility(0
                setSystemUiVisibility(0
                        | View.SYSTEM_UI_FLAG_FULLSCREEN
                        | View.SYSTEM_UI_FLAG_FULLSCREEN
                        | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
                        | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
@@ -533,6 +545,7 @@ public class DessertCaseView extends FrameLayout {
                        | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
                        | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
                        );
                        );
            }
            }
        }


        public void setView(DessertCaseView v) {
        public void setView(DessertCaseView v) {
            addView(v);
            addView(v);