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

Commit 310f5df7 authored by Julia Tuttle's avatar Julia Tuttle
Browse files

Inject GlobalSettings into HeadsUpManager et al

Bug: 315192399
Test: atest AlertingNotificationManagerTest
Test: atest BaseHeadsUpManagerTest
Test: atest HeadsUpManagerPhoneTest
Flag: NA
Change-Id: I4bdaec3ba0c4c1c1eecc67287ef649ef1723e4ba
parent 4e7a5ea6
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -49,6 +49,7 @@ import com.android.systemui.statusbar.policy.HeadsUpManagerLogger;
import com.android.systemui.statusbar.policy.OnHeadsUpChangedListener;
import com.android.systemui.statusbar.policy.OnHeadsUpPhoneListenerChange;
import com.android.systemui.util.kotlin.JavaAdapter;
import com.android.systemui.util.settings.GlobalSettings;

import java.io.PrintWriter;
import java.util.ArrayList;
@@ -115,11 +116,12 @@ public class HeadsUpManagerPhone extends BaseHeadsUpManager implements OnHeadsUp
            VisualStabilityProvider visualStabilityProvider,
            ConfigurationController configurationController,
            @Main Handler handler,
            GlobalSettings globalSettings,
            AccessibilityManagerWrapper accessibilityManagerWrapper,
            UiEventLogger uiEventLogger,
            JavaAdapter javaAdapter,
            ShadeInteractor shadeInteractor) {
        super(context, logger, handler, accessibilityManagerWrapper, uiEventLogger);
        super(context, logger, handler, globalSettings, accessibilityManagerWrapper, uiEventLogger);
        Resources resources = mContext.getResources();
        mExtensionTime = resources.getInteger(R.integer.ambient_notification_extension_time);
        statusBarStateController.addCallback(mStatusBarStateListener);
+9 −7
Original line number Diff line number Diff line
@@ -26,7 +26,6 @@ import android.content.res.Resources;
import android.database.ContentObserver;
import android.os.Handler;
import android.os.SystemClock;
import android.provider.Settings;
import android.util.ArrayMap;
import android.view.accessibility.AccessibilityManager;

@@ -40,6 +39,7 @@ import com.android.systemui.statusbar.AlertingNotificationManager;
import com.android.systemui.statusbar.notification.collection.NotificationEntry;
import com.android.systemui.statusbar.notification.row.NotificationRowContentBinder.InflationFlag;
import com.android.systemui.util.ListenerSet;
import com.android.systemui.util.settings.GlobalSettings;

import java.io.PrintWriter;

@@ -85,6 +85,7 @@ public abstract class BaseHeadsUpManager extends AlertingNotificationManager imp
    public BaseHeadsUpManager(@NonNull final Context context,
            HeadsUpManagerLogger logger,
            @Main Handler handler,
            GlobalSettings globalSettings,
            AccessibilityManagerWrapper accessibilityManagerWrapper,
            UiEventLogger uiEventLogger) {
        super(logger, handler);
@@ -101,21 +102,22 @@ public abstract class BaseHeadsUpManager extends AlertingNotificationManager imp
        int defaultSnoozeLengthMs =
                resources.getInteger(R.integer.heads_up_default_snooze_length_ms);

        mSnoozeLengthMs = Settings.Global.getInt(context.getContentResolver(),
                SETTING_HEADS_UP_SNOOZE_LENGTH_MS, defaultSnoozeLengthMs);
        mSnoozeLengthMs = globalSettings.getInt(SETTING_HEADS_UP_SNOOZE_LENGTH_MS,
                defaultSnoozeLengthMs);
        ContentObserver settingsObserver = new ContentObserver(handler) {
            @Override
            public void onChange(boolean selfChange) {
                final int packageSnoozeLengthMs = Settings.Global.getInt(
                        context.getContentResolver(), SETTING_HEADS_UP_SNOOZE_LENGTH_MS, -1);
                final int packageSnoozeLengthMs = globalSettings.getInt(
                        SETTING_HEADS_UP_SNOOZE_LENGTH_MS, -1);
                if (packageSnoozeLengthMs > -1 && packageSnoozeLengthMs != mSnoozeLengthMs) {
                    mSnoozeLengthMs = packageSnoozeLengthMs;
                    mLogger.logSnoozeLengthChange(packageSnoozeLengthMs);
                }
            }
        };
        context.getContentResolver().registerContentObserver(
                Settings.Global.getUriFor(SETTING_HEADS_UP_SNOOZE_LENGTH_MS), false,
        globalSettings.registerContentObserver(
                globalSettings.getUriFor(SETTING_HEADS_UP_SNOOZE_LENGTH_MS),
                /* notifyForDescendants = */ false,
                settingsObserver);
    }

+2 −0
Original line number Diff line number Diff line
@@ -45,6 +45,7 @@ import com.android.systemui.statusbar.notification.collection.NotificationEntry;
import com.android.systemui.statusbar.notification.collection.NotificationEntryBuilder;
import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow;
import com.android.systemui.statusbar.policy.HeadsUpManagerLogger;
import com.android.systemui.util.settings.FakeGlobalSettings;

import org.junit.After;
import org.junit.Before;
@@ -74,6 +75,7 @@ public class AlertingNotificationManagerTest extends SysuiTestCase {
    protected final Runnable mTestTimeoutRunnable = () -> mTimedOut = true;

    protected Handler mTestHandler;
    protected final FakeGlobalSettings mGlobalSettings = new FakeGlobalSettings();
    protected boolean mTimedOut = false;

    @Mock protected ExpandableNotificationRow mRow;
+4 −0
Original line number Diff line number Diff line
@@ -46,6 +46,7 @@ import com.android.systemui.statusbar.policy.ConfigurationController;
import com.android.systemui.statusbar.policy.HeadsUpManager;
import com.android.systemui.statusbar.policy.HeadsUpManagerLogger;
import com.android.systemui.util.kotlin.JavaAdapter;
import com.android.systemui.util.settings.GlobalSettings;

import org.junit.After;
import org.junit.Before;
@@ -87,6 +88,7 @@ public class HeadsUpManagerPhoneTest extends AlertingNotificationManagerTest {
                KeyguardBypassController keyguardBypassController,
                ConfigurationController configurationController,
                Handler handler,
                GlobalSettings globalSettings,
                AccessibilityManagerWrapper accessibilityManagerWrapper,
                UiEventLogger uiEventLogger,
                JavaAdapter javaAdapter,
@@ -101,6 +103,7 @@ public class HeadsUpManagerPhoneTest extends AlertingNotificationManagerTest {
                    visualStabilityProvider,
                    configurationController,
                    handler,
                    globalSettings,
                    accessibilityManagerWrapper,
                    uiEventLogger,
                    javaAdapter,
@@ -121,6 +124,7 @@ public class HeadsUpManagerPhoneTest extends AlertingNotificationManagerTest {
                mBypassController,
                mConfigurationController,
                mTestHandler,
                mGlobalSettings,
                mAccessibilityManagerWrapper,
                mUiEventLogger,
                mJavaAdapter,
+6 −3
Original line number Diff line number Diff line
@@ -56,6 +56,7 @@ import com.android.systemui.statusbar.AlertingNotificationManager;
import com.android.systemui.statusbar.AlertingNotificationManagerTest;
import com.android.systemui.statusbar.notification.collection.NotificationEntry;
import com.android.systemui.statusbar.notification.collection.NotificationEntryBuilder;
import com.android.systemui.util.settings.GlobalSettings;

import org.junit.After;
import org.junit.Before;
@@ -98,9 +99,11 @@ public class BaseHeadsUpManagerTest extends AlertingNotificationManagerTest {
        TestableHeadsUpManager(Context context,
                HeadsUpManagerLogger logger,
                Handler handler,
                GlobalSettings globalSettings,
                AccessibilityManagerWrapper accessibilityManagerWrapper,
                UiEventLogger uiEventLogger) {
            super(context, logger, handler, accessibilityManagerWrapper, uiEventLogger);
            super(context, logger, handler, globalSettings, accessibilityManagerWrapper,
                    uiEventLogger);
            mTouchAcceptanceDelay = TEST_TOUCH_ACCEPTANCE_TIME;
            mMinimumDisplayTime = TEST_MINIMUM_DISPLAY_TIME;
            mAutoDismissTime = TEST_AUTO_DISMISS_TIME;
@@ -178,8 +181,8 @@ public class BaseHeadsUpManagerTest extends AlertingNotificationManagerTest {
    }

    private BaseHeadsUpManager createHeadsUpManager() {
        return new TestableHeadsUpManager(mContext, mLogger, mTestHandler, mAccessibilityMgr,
                mUiEventLoggerFake);
        return new TestableHeadsUpManager(mContext, mLogger, mTestHandler, mGlobalSettings,
                mAccessibilityMgr, mUiEventLoggerFake);
    }

    @Override