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

Commit 738bc0c8 authored by Rohan Shah's avatar Rohan Shah
Browse files

Remove leftover alarm code (Due diligence)

ag/3659178 was merged without removing extra alarm tile code. Cleaned up
the unnecessary bits in this CL.

Test: Visually and ran AutoTileManagerTest as confirmation
Bug: 73764084
Change-Id: I55fa39775ba9f4092034bd1273dfa1c2848c3953
parent 17bc6993
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");
    }
}