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

Commit 9e9fc28b authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Remove leftover alarm code (Due diligence)"

parents 275e45a7 738bc0c8
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -124,7 +124,7 @@

    <!-- Tiles native to System UI. Order should match "quick_settings_tiles_default" -->
    <string name="quick_settings_tiles_stock" translatable="false">
        wifi,cell,battery,dnd,flashlight,rotation,bt,airplane,location,hotspot,inversion,saver,work,cast,night,alarm
        wifi,cell,battery,dnd,flashlight,rotation,bt,airplane,location,hotspot,inversion,saver,work,cast,night
    </string>

    <!-- The tiles to display in QuickSettings -->
+0 −2
Original line number Diff line number Diff line
@@ -743,8 +743,6 @@
    <string name="quick_settings_wifi_on_label">Wi-Fi On</string>
    <!-- QuickSettings: Wifi detail panel, text when there are no items [CHAR LIMIT=NONE] -->
    <string name="quick_settings_wifi_detail_empty_text">No Wi-Fi networks available</string>
    <!-- QuickSettings: Alarm title [CHAR LIMIT=NONE] -->
    <string name="quick_settings_alarm_title">Alarm</string>
    <!-- QuickSettings: Cast title [CHAR LIMIT=NONE] -->
    <string name="quick_settings_cast_title">Cast</string>
    <!-- QuickSettings: Cast detail panel, status text when casting [CHAR LIMIT=NONE] -->
+0 −21
Original line number Diff line number Diff line
@@ -14,7 +14,6 @@

package com.android.systemui.statusbar.phone;

import android.app.AlarmManager.AlarmClockInfo;
import android.content.Context;
import android.os.Handler;
import android.provider.Settings.Secure;
@@ -28,8 +27,6 @@ import com.android.systemui.statusbar.policy.DataSaverController;
import com.android.systemui.statusbar.policy.DataSaverController.Listener;
import com.android.systemui.statusbar.policy.HotspotController;
import com.android.systemui.statusbar.policy.HotspotController.Callback;
import com.android.systemui.statusbar.policy.NextAlarmController;
import com.android.systemui.statusbar.policy.NextAlarmController.NextAlarmChangeCallback;

/**
 * Manages which tiles should be automatically added to QS.
@@ -40,7 +37,6 @@ public class AutoTileManager {
    public static final String INVERSION = "inversion";
    public static final String WORK = "work";
    public static final String NIGHT = "night";
    public static final String ALARM = "alarm";

    private final Context mContext;
    private final QSTileHost mHost;
@@ -87,9 +83,6 @@ public class AutoTileManager {
            && ColorDisplayController.isAvailable(mContext)) {
            Dependency.get(ColorDisplayController.class).setListener(mColorDisplayCallback);
        }
        if (!mAutoTracker.isAdded(ALARM)) {
            Dependency.get(NextAlarmController.class).addCallback(mNextAlarmChangeCallback);
        }
    }

    public void destroy() {
@@ -101,7 +94,6 @@ public class AutoTileManager {
        Dependency.get(DataSaverController.class).removeCallback(mDataSaverListener);
        Dependency.get(ManagedProfileController.class).removeCallback(mProfileCallback);
        Dependency.get(ColorDisplayController.class).setListener(null);
        Dependency.get(NextAlarmController.class).removeCallback(mNextAlarmChangeCallback);
    }

    private final ManagedProfileController.Callback mProfileCallback =
@@ -150,19 +142,6 @@ public class AutoTileManager {
        }
    };

    private final NextAlarmChangeCallback mNextAlarmChangeCallback = new NextAlarmChangeCallback() {
        @Override
        public void onNextAlarmChanged(AlarmClockInfo nextAlarm) {
            if (mAutoTracker.isAdded(ALARM)) return;
            if (nextAlarm != null) {
                mHost.addTile(ALARM);
                mAutoTracker.setTileAdded(ALARM);
                mHandler.post(() -> Dependency.get(NextAlarmController.class)
                    .removeCallback(mNextAlarmChangeCallback));
            }
        }
    };

    @VisibleForTesting
    final ColorDisplayController.Callback mColorDisplayCallback =
            new ColorDisplayController.Callback() {
+7 −43
Original line number Diff line number Diff line
@@ -18,28 +18,21 @@ package com.android.systemui.statusbar.phone;

import static org.mockito.Mockito.never;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;

import android.app.AlarmManager.AlarmClockInfo;
import android.os.Handler;
import android.support.test.filters.SmallTest;
import android.testing.AndroidTestingRunner;
import android.testing.TestableLooper;
import android.testing.TestableLooper.RunWithLooper;
import com.android.internal.app.ColorDisplayController;
import com.android.systemui.Dependency;
import com.android.systemui.Prefs;
import com.android.systemui.SysuiTestCase;
import com.android.systemui.qs.AutoAddTracker;
import com.android.systemui.qs.QSTileHost;
import com.android.systemui.statusbar.policy.NextAlarmController;
import com.android.systemui.statusbar.policy.NextAlarmController.NextAlarmChangeCallback;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.ArgumentCaptor;
import org.mockito.Captor;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.mockito.Mockito;

@RunWith(AndroidTestingRunner.class)
@RunWithLooper
@@ -47,19 +40,16 @@ import org.mockito.MockitoAnnotations;
public class AutoTileManagerTest extends SysuiTestCase {

    @Mock private QSTileHost mQsTileHost;
    @Mock private AutoAddTracker mAutoAddTracker;
    @Captor private ArgumentCaptor<NextAlarmChangeCallback> mAlarmCallback;

    private AutoTileManager mAutoTileManager;

    @Before
    public void setUp() throws Exception {
        MockitoAnnotations.initMocks(this);
        mDependency.injectMockDependency(NextAlarmController.class);
        mAutoTileManager = new AutoTileManager(mContext, mAutoAddTracker,
            mQsTileHost, new Handler(TestableLooper.get(this).getLooper()));
        verify(Dependency.get(NextAlarmController.class))
            .addCallback(mAlarmCallback.capture());
        mDependency.injectTestDependency(Dependency.BG_LOOPER,
                TestableLooper.get(this).getLooper());
        Prefs.putBoolean(mContext, Prefs.Key.QS_NIGHTDISPLAY_ADDED, false);
        mQsTileHost = Mockito.mock(QSTileHost.class);
        mAutoTileManager = new AutoTileManager(mContext, mQsTileHost);
    }

    @Test
@@ -109,30 +99,4 @@ public class AutoTileManagerTest extends SysuiTestCase {
                ColorDisplayController.AUTO_MODE_DISABLED);
        verify(mQsTileHost, never()).addTile("night");
    }

    @Test
    public void alarmTileAdded_whenAlarmSet() {
        mAlarmCallback.getValue().onNextAlarmChanged(new AlarmClockInfo(0, null));

        verify(mQsTileHost).addTile("alarm");
        verify(mAutoAddTracker).setTileAdded("alarm");
    }

    @Test
    public void alarmTileNotAdded_whenAlarmNotSet() {
        mAlarmCallback.getValue().onNextAlarmChanged(null);

        verify(mQsTileHost, never()).addTile("alarm");
        verify(mAutoAddTracker, never()).setTileAdded("alarm");
    }

    @Test
    public void alarmTileNotAdded_whenAlreadyAdded() {
        when(mAutoAddTracker.isAdded("alarm")).thenReturn(true);

        mAlarmCallback.getValue().onNextAlarmChanged(new AlarmClockInfo(0, null));

        verify(mQsTileHost, never()).addTile("alarm");
        verify(mAutoAddTracker, never()).setTileAdded("alarm");
    }
}