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

Commit be9c3170 authored by Kyrylo Mikos's avatar Kyrylo Mikos Committed by Gerrit Code Review
Browse files

SystemUI: fix recents animation in expanded mode.

Change-Id: I63b83763933468c4f1953341aad4317d142e8bb4
parent b57027b7
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -20,7 +20,8 @@ import android.view.Display;
import android.view.View;

public interface RecentsComponent {
    void toggleRecents(Display display, int layoutDirection, View statusBarView);
    void toggleRecents(Display display, int layoutDirection, View statusBarView,
                       int expandedDesktopStyle);

    void preloadRecentTasksList();

+13 −3
Original line number Diff line number Diff line
@@ -21,12 +21,15 @@ import android.content.ActivityNotFoundException;
import android.content.Intent;
import android.content.res.Configuration;
import android.content.res.Resources;
import android.database.ContentObserver;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import android.os.Handler;
import android.os.UserHandle;
import android.provider.Settings;
import android.util.DisplayMetrics;
import android.util.Log;
import android.view.Display;
@@ -46,7 +49,8 @@ public class Recents extends SystemUI implements RecentsComponent {
    }

    @Override
    public void toggleRecents(Display display, int layoutDirection, View statusBarView) {
    public void toggleRecents(Display display, int layoutDirection,
            View statusBarView, int expandedDesktopStyle) {
        if (DEBUG) Log.d(TAG, "toggle recents panel");
        try {
            TaskDescription firstTask = RecentTasksLoader.getInstance(mContext).getFirstTask();
@@ -98,7 +102,11 @@ public class Recents extends SystemUI implements RecentsComponent {


                DisplayMetrics dm = new DisplayMetrics();
                if (expandedDesktopStyle == 2) {
                    display.getRealMetrics(dm);
                } else {
                    display.getMetrics(dm);
                }
                // calculate it here, but consider moving it elsewhere
                // first, determine which orientation you're in.
                final Configuration config = res.getConfiguration();
@@ -129,7 +137,6 @@ public class Recents extends SystemUI implements RecentsComponent {
                        x = dm.widthPixels - x - res.getDimensionPixelSize(
                                R.dimen.status_bar_recents_thumbnail_width);
                    }

                } else { // if (config.orientation == Configuration.ORIENTATION_LANDSCAPE) {
                    float thumbTopMargin = res.getDimensionPixelSize(
                            R.dimen.status_bar_recents_thumbnail_top_margin);
@@ -152,6 +159,9 @@ public class Recents extends SystemUI implements RecentsComponent {
                    float statusBarHeight = res.getDimensionPixelSize(
                            com.android.internal.R.dimen.status_bar_height);
                    float recentsItemTopPadding = statusBarHeight;
                    if (expandedDesktopStyle != 0) {
                        statusBarHeight = 0;
                    }

                    float height = thumbTopMargin
                            + thumbHeight
+14 −1
Original line number Diff line number Diff line
@@ -166,6 +166,8 @@ public abstract class BaseStatusBar extends SystemUI implements

    private RecentsComponent mRecents;

    private int mExpandedDesktopStyle = 0;

    public IStatusBarService getStatusBarService() {
        return mBarService;
    }
@@ -195,6 +197,10 @@ public abstract class BaseStatusBar extends SystemUI implements
            ContentResolver resolver = mContext.getContentResolver();
            resolver.registerContentObserver(Settings.System.getUriFor(
                    Settings.System.STATUS_BAR_COLLAPSE_ON_DISMISS), false, this);
            resolver.registerContentObserver(Settings.System.getUriFor(
                    Settings.System.EXPANDED_DESKTOP_STATE), false, this);
            resolver.registerContentObserver(Settings.System.getUriFor(
                    Settings.System.EXPANDED_DESKTOP_STYLE), false, this);
            update();
        }

@@ -208,6 +214,12 @@ public abstract class BaseStatusBar extends SystemUI implements
            mAutoCollapseBehaviour = Settings.System.getIntForUser(resolver,
                    Settings.System.STATUS_BAR_COLLAPSE_ON_DISMISS,
                    Settings.System.STATUS_BAR_COLLAPSE_IF_NO_CLEARABLE, UserHandle.USER_CURRENT);
            mExpandedDesktopStyle = 0;
            if (Settings.System.getIntForUser(resolver,
                    Settings.System.EXPANDED_DESKTOP_STATE, 0, UserHandle.USER_CURRENT) != 0) {
                mExpandedDesktopStyle = Settings.System.getIntForUser(mContext.getContentResolver(),
                        Settings.System.EXPANDED_DESKTOP_STYLE, 0, UserHandle.USER_CURRENT);
            }
        }
    };

@@ -573,7 +585,8 @@ public abstract class BaseStatusBar extends SystemUI implements

    protected void toggleRecentsActivity() {
        if (mRecents != null) {
            mRecents.toggleRecents(mDisplay, mLayoutDirection, getStatusBarView());
            mRecents.toggleRecents(mDisplay, mLayoutDirection, getStatusBarView(),
                    mExpandedDesktopStyle);
        }
    }