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

Commit b762bf88 authored by Ying Xu's avatar Ying Xu Committed by Android (Google) Code Review
Browse files

Merge "Hide the WifiTIle and CellularTile for Provider Model"

parents 20e48ffd 8bbbb083
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -457,6 +457,17 @@ public class QSTileHost implements QSHost, Tunable, PluginListener<QSFactory>, D
                if (!addedDefault) {
                    List<String> defaultSpecs = getDefaultSpecs(context);
                    for (String spec : defaultSpecs) {
                        // TODO(b/174753536): Move it into the config file.
                        if (FeatureFlagUtils.isEnabled(
                                context, FeatureFlagUtils.SETTINGS_PROVIDER_MODEL)) {
                            if (spec.equals("wifi") || spec.equals("cell")) {
                                continue;
                            }
                        } else {
                            if (spec.equals("internet")) {
                                continue;
                            }
                        }
                        if (!addedSpecs.contains(spec)) {
                            tiles.add(spec);
                            addedSpecs.add(spec);
+17 −0
Original line number Diff line number Diff line
@@ -29,6 +29,7 @@ import android.service.quicksettings.Tile;
import android.service.quicksettings.TileService;
import android.text.TextUtils;
import android.util.ArraySet;
import android.util.FeatureFlagUtils;
import android.widget.Button;

import com.android.systemui.R;
@@ -113,10 +114,26 @@ public class TileQueryHelper {
        }

        final ArrayList<QSTile> tilesToAdd = new ArrayList<>();
        // TODO(b/174753536): Move it into the config file.
        if (FeatureFlagUtils.isEnabled(mContext, FeatureFlagUtils.SETTINGS_PROVIDER_MODEL)) {
            if (!possibleTiles.contains("internet")) {
                possibleTiles.add("internet");
            }
        }
        for (String spec : possibleTiles) {
            // Only add current and stock tiles that can be created from QSFactoryImpl.
            // Do not include CustomTile. Those will be created by `addPackageTiles`.
            if (spec.startsWith(CustomTile.PREFIX)) continue;
            // TODO(b/174753536): Move it into the config file.
            if (FeatureFlagUtils.isEnabled(mContext, FeatureFlagUtils.SETTINGS_PROVIDER_MODEL)) {
                if (spec.equals("wifi") || spec.equals("cell")) {
                    continue;
                }
            } else {
                if (spec.equals("internet")) {
                    continue;
                }
            }
            final QSTile tile = host.createTile(spec);
            if (tile == null) {
                continue;
+19 −0
Original line number Diff line number Diff line
@@ -38,9 +38,11 @@ import android.provider.Settings;
import android.testing.AndroidTestingRunner;
import android.testing.TestableLooper;
import android.testing.TestableLooper.RunWithLooper;
import android.util.FeatureFlagUtils;

import androidx.test.filters.SmallTest;

import com.android.dx.mockito.inline.extended.ExtendedMockito;
import com.android.internal.logging.MetricsLogger;
import com.android.internal.logging.UiEventLogger;
import com.android.internal.util.CollectionUtils;
@@ -62,11 +64,14 @@ import com.android.systemui.statusbar.phone.StatusBar;
import com.android.systemui.statusbar.phone.StatusBarIconController;
import com.android.systemui.tuner.TunerService;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.mockito.MockitoSession;
import org.mockito.quality.Strictness;

import java.io.FileDescriptor;
import java.io.PrintWriter;
@@ -117,9 +122,16 @@ public class QSTileHostTest extends SysuiTestCase {
    private Handler mHandler;
    private TestableLooper mLooper;
    private QSTileHost mQSTileHost;
    MockitoSession mMockingSession = null;

    @Before
    public void setUp() {
        // TODO(b/174753536): Remove the mMockingSession when
        // FeatureFlagUtils.SETTINGS_PROVIDER_MODEL is removed.
        mMockingSession = ExtendedMockito.mockitoSession().strictness(Strictness.LENIENT)
                .mockStatic(FeatureFlagUtils.class).startMocking();
        ExtendedMockito.doReturn(false).when(() -> FeatureFlagUtils.isEnabled(mContext,
                FeatureFlagUtils.SETTINGS_PROVIDER_MODEL));
        MockitoAnnotations.initMocks(this);
        mLooper = TestableLooper.get(this);
        mHandler = new Handler(mLooper.getLooper());
@@ -132,6 +144,13 @@ public class QSTileHostTest extends SysuiTestCase {
                "", ActivityManager.getCurrentUser());
    }

    @After
    public void tearDown() throws Exception {
        if (mMockingSession != null) {
            mMockingSession.finishMocking();
        }
    }

    private void setUpTileFactory() {
        when(mMockState.toString()).thenReturn(MOCK_STATE_STRING);
        // Only create this kind of tiles
+19 −0
Original line number Diff line number Diff line
@@ -45,9 +45,11 @@ import android.testing.AndroidTestingRunner;
import android.testing.TestableLooper;
import android.text.TextUtils;
import android.util.ArraySet;
import android.util.FeatureFlagUtils;

import androidx.test.filters.SmallTest;

import com.android.dx.mockito.inline.extended.ExtendedMockito;
import com.android.internal.logging.InstanceId;
import com.android.systemui.R;
import com.android.systemui.SysuiTestCase;
@@ -59,6 +61,7 @@ import com.android.systemui.settings.UserTracker;
import com.android.systemui.util.concurrency.FakeExecutor;
import com.android.systemui.util.time.FakeSystemClock;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -68,6 +71,8 @@ import org.mockito.Captor;
import org.mockito.InOrder;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.mockito.MockitoSession;
import org.mockito.quality.Strictness;

import java.util.ArrayList;
import java.util.Arrays;
@@ -113,10 +118,17 @@ public class TileQueryHelperTest extends SysuiTestCase {
    private TileQueryHelper mTileQueryHelper;
    private FakeExecutor mMainExecutor;
    private FakeExecutor mBgExecutor;
    MockitoSession mMockingSession = null;

    @Before
    public void setup() {
        MockitoAnnotations.initMocks(this);
        // TODO(b/174753536): Remove the mMockingSession when
        // FeatureFlagUtils.SETTINGS_PROVIDER_MODEL is removed.
        mMockingSession = ExtendedMockito.mockitoSession().strictness(Strictness.LENIENT)
                .mockStatic(FeatureFlagUtils.class).startMocking();
        ExtendedMockito.doReturn(false).when(() -> FeatureFlagUtils.isEnabled(mContext,
                FeatureFlagUtils.SETTINGS_PROVIDER_MODEL));

        mContext.setMockPackageManager(mPackageManager);

@@ -140,6 +152,13 @@ public class TileQueryHelperTest extends SysuiTestCase {
        mTileQueryHelper.setListener(mListener);
    }

    @After
    public void tearDown() throws Exception {
        if (mMockingSession != null) {
            mMockingSession.finishMocking();
        }
    }

    @Test
    public void testIsFinished_falseBeforeQuerying() {
        assertFalse(mTileQueryHelper.isFinished());