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

Commit 9179b302 authored by Dave Mankoff's avatar Dave Mankoff
Browse files

Remove FlingAnimationUtils.Builder provider.

Mark it as directly injectable.

Use a Provider<> of the Builder so that, if DisplayMetrics changes,
the changes get picked up.

Fixes: 174653877
Test: manual
Change-Id: If8b404cbb7f5111144c21ce4810323d95f962359
parent ab130fd9
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -125,6 +125,7 @@ android_library {
        "protolog-lib",
        "SettingsLib",
        "WindowManager-Shell-proto",
        "jsr330"
    ],
    kotlincflags: ["-Xjvm-default=enable"],
    manifest: "AndroidManifest.xml",
+3 −0
Original line number Diff line number Diff line
@@ -23,6 +23,8 @@ import android.view.ViewPropertyAnimator;
import android.view.animation.Interpolator;
import android.view.animation.PathInterpolator;

import javax.inject.Inject;

/**
 * Utility class to calculate general fling animation when the finger is released.
 */
@@ -368,6 +370,7 @@ public class FlingAnimationUtils {
        float mX2;
        float mY2;

        @Inject
        public Builder(DisplayMetrics displayMetrics) {
            mDisplayMetrics = displayMetrics;
            reset();
+0 −11
Original line number Diff line number Diff line
@@ -30,7 +30,6 @@ import android.os.HandlerThread;
import android.os.Looper;
import android.os.ServiceManager;
import android.os.UserHandle;
import android.util.DisplayMetrics;
import android.view.Choreographer;
import android.view.IWindowManager;
import android.view.LayoutInflater;
@@ -141,16 +140,6 @@ public class DependencyProvider {
        return networkController.getDataSaverController();
    }

    /** */
    @Provides
    @SysUISingleton
    public DisplayMetrics provideDisplayMetrics(Context context, WindowManager windowManager) {
        DisplayMetrics displayMetrics = new DisplayMetrics();
        context.getDisplay().getMetrics(displayMetrics);
        return displayMetrics;
    }

    /** */
    @Provides
    @SysUISingleton
    public INotificationManager provideINotificationManager() {
+3 −7
Original line number Diff line number Diff line
@@ -22,7 +22,6 @@ import android.util.DisplayMetrics;
import com.android.internal.logging.UiEventLogger;
import com.android.internal.logging.UiEventLoggerImpl;
import com.android.systemui.util.concurrency.GlobalConcurrencyModule;
import com.android.wm.shell.animation.FlingAnimationUtils;

import javax.inject.Singleton;

@@ -49,15 +48,12 @@ import dagger.Provides;
        GlobalConcurrencyModule.class})
public class GlobalModule {

    // TODO(b/162923491): This should not be a singleton at all, the display metrics can change and
    //                    callers should be creating a new builder on demand
    @Singleton
    /** */
    @Provides
    static FlingAnimationUtils.Builder provideFlingAnimationUtilsBuilder(
            Context context) {
    public DisplayMetrics provideDisplayMetrics(Context context) {
        DisplayMetrics displayMetrics = new DisplayMetrics();
        context.getDisplay().getMetrics(displayMetrics);
        return new FlingAnimationUtils.Builder(displayMetrics);
        return displayMetrics;
    }

    /** Provides an instance of {@link com.android.internal.logging.UiEventLogger} */
+5 −4
Original line number Diff line number Diff line
@@ -140,6 +140,7 @@ import java.util.function.Consumer;
import java.util.function.Function;

import javax.inject.Inject;
import javax.inject.Provider;

@StatusBarComponent.StatusBarScope
public class NotificationPanelViewController extends PanelViewController {
@@ -184,7 +185,7 @@ public class NotificationPanelViewController extends PanelViewController {
    private final MetricsLogger mMetricsLogger;
    private final ActivityManager mActivityManager;
    private final ConfigurationController mConfigurationController;
    private final FlingAnimationUtils.Builder mFlingAnimationUtilsBuilder;
    private final Provider<FlingAnimationUtils.Builder> mFlingAnimationUtilsBuilder;
    private final NotificationStackScrollLayoutController mNotificationStackScrollLayoutController;
    private final NotificationIconAreaController mNotificationIconAreaController;

@@ -535,7 +536,7 @@ public class NotificationPanelViewController extends PanelViewController {
            KeyguardUpdateMonitor keyguardUpdateMonitor, MetricsLogger metricsLogger,
            ActivityManager activityManager,
            ConfigurationController configurationController,
            FlingAnimationUtils.Builder flingAnimationUtilsBuilder,
            Provider<FlingAnimationUtils.Builder> flingAnimationUtilsBuilder,
            StatusBarTouchableRegionManager statusBarTouchableRegionManager,
            ConversationNotificationManager conversationNotificationManager,
            MediaHierarchyManager mediaHierarchyManager,
@@ -549,7 +550,7 @@ public class NotificationPanelViewController extends PanelViewController {
            QSDetailDisplayer qsDetailDisplayer) {
        super(view, falsingManager, dozeLog, keyguardStateController,
                (SysuiStatusBarStateController) statusBarStateController, vibratorHelper,
                latencyTracker, flingAnimationUtilsBuilder, statusBarTouchableRegionManager);
                latencyTracker, flingAnimationUtilsBuilder.get(), statusBarTouchableRegionManager);
        mView = view;
        mMetricsLogger = metricsLogger;
        mActivityManager = activityManager;
@@ -688,7 +689,7 @@ public class NotificationPanelViewController extends PanelViewController {
    @Override
    protected void loadDimens() {
        super.loadDimens();
        mFlingAnimationUtils = mFlingAnimationUtilsBuilder.reset()
        mFlingAnimationUtils = mFlingAnimationUtilsBuilder.get()
                .setMaxLengthSeconds(0.4f).build();
        mStatusBarMinHeight = mResources.getDimensionPixelSize(
                com.android.internal.R.dimen.status_bar_height);
Loading