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

Commit a722c84d authored by Jiaming Cheng's avatar Jiaming Cheng
Browse files

[flexiglass] Fix InternetAdapterTest with SceneContainerFlag

Converted to use `FlagsParameterization` for FLAG_QS_WIFI_CONFIG,
FLAG_QS_TILE_DETAILED_VIEW, and SceneContainerFlag.

Fixed an NPE by stubbing `mutate()` on mock Drawables
(mWifiDrawable, mGearIcon, mLockIcon) to return themselves.
This prevents ImageView from nullifying its internal drawable
when setColorFilter is called.

Bug: 416717352
Flag: com.android.systemui.scene_container
Test: com.android.systemui.qs.tiles.dialog.InternetAdapterTest
Change-Id: Ic280bc71939a81912c5830fd69b1f1c528461ed8
parent 036e0e50
Loading
Loading
Loading
Loading
+12 −2
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@ import androidx.test.filters.SmallTest;

import com.android.systemui.Flags;
import com.android.systemui.SysuiTestCase;
import com.android.systemui.flags.SceneContainerFlagParameterizationKt;
import com.android.systemui.qs.flags.QsDetailedView;
import com.android.systemui.qs.flags.QsWifiConfig;
import com.android.systemui.res.R;
@@ -87,8 +88,12 @@ public class InternetAdapterTest extends SysuiTestCase {

    @Parameters(name = "{0}")
    public static List<FlagsParameterization> getParams() {
        return allCombinationsOf(Flags.FLAG_QS_WIFI_CONFIG,
                Flags.FLAG_QS_TILE_DETAILED_VIEW);
        List<FlagsParameterization> aconfigCombinations = allCombinationsOf(
                Flags.FLAG_QS_WIFI_CONFIG,
                Flags.FLAG_QS_TILE_DETAILED_VIEW
        );

        return SceneContainerFlagParameterizationKt.andSceneContainer(aconfigCombinations);
    }

    public InternetAdapterTest(FlagsParameterization flags) {
@@ -107,6 +112,11 @@ public class InternetAdapterTest extends SysuiTestCase {
        when(mWifiEntry.getTitle()).thenReturn(WIFI_TITLE);
        when(mWifiEntry.getSummary(false)).thenReturn(WIFI_SUMMARY);

        // Stub mutate() for mock Drawables
        when(mWifiDrawable.mutate()).thenReturn(mWifiDrawable);
        when(mGearIcon.mutate()).thenReturn(mGearIcon);
        when(mLockIcon.mutate()).thenReturn(mLockIcon);

        mInternetAdapter = new InternetAdapter(mInternetDetailsContentController, mScope,
                QsDetailedView.isEnabled());
        mViewHolder = mInternetAdapter.onCreateViewHolder(new LinearLayout(mContext), 0);