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

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

Merge "Remove Dep.get(MAIN_HANDLER) from TileQueryHelper"

parents 11861203 2417b96d
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -90,7 +90,8 @@ public class QSCustomizer extends LinearLayout implements OnMenuItemClickListene
    public QSCustomizer(Context context, AttributeSet attrs,
            LightBarController lightBarController,
            KeyguardStateController keyguardStateController,
            ScreenLifecycle screenLifecycle) {
            ScreenLifecycle screenLifecycle,
            TileQueryHelper tileQueryHelper) {
        super(new ContextThemeWrapper(context, R.style.edit_theme), attrs);

        LayoutInflater.from(getContext()).inflate(R.layout.qs_customize_panel_content, this);
@@ -113,7 +114,8 @@ public class QSCustomizer extends LinearLayout implements OnMenuItemClickListene
        mRecyclerView = findViewById(android.R.id.list);
        mTransparentView = findViewById(R.id.customizer_transparent_view);
        mTileAdapter = new TileAdapter(getContext());
        mTileQueryHelper = new TileQueryHelper(context, mTileAdapter);
        mTileQueryHelper = tileQueryHelper;
        mTileQueryHelper.setListener(mTileAdapter);
        mRecyclerView.setAdapter(mTileAdapter);
        mTileAdapter.getItemTouchHelper().attachToRecyclerView(mRecyclerView);
        GridLayoutManager layout = new GridLayoutManager(getContext(), 3);
+16 −6
Original line number Diff line number Diff line
@@ -33,8 +33,9 @@ import android.text.TextUtils;
import android.util.ArraySet;
import android.widget.Button;

import com.android.systemui.Dependency;
import com.android.systemui.R;
import com.android.systemui.dagger.qualifiers.BgHandler;
import com.android.systemui.dagger.qualifiers.MainHandler;
import com.android.systemui.plugins.qs.QSTile;
import com.android.systemui.plugins.qs.QSTile.State;
import com.android.systemui.qs.QSTileHost;
@@ -47,6 +48,8 @@ import java.util.Arrays;
import java.util.Collection;
import java.util.List;

import javax.inject.Inject;

public class TileQueryHelper {
    private static final String TAG = "TileQueryHelper";

@@ -55,15 +58,20 @@ public class TileQueryHelper {
    private final Handler mBgHandler;
    private final Handler mMainHandler;
    private final Context mContext;
    private final TileStateListener mListener;
    private TileStateListener mListener;

    private boolean mFinished;

    public TileQueryHelper(Context context, TileStateListener listener) {
    @Inject
    public TileQueryHelper(Context context,
            @MainHandler Handler mainHandler, @BgHandler Handler bgHandler) {
        mContext = context;
        mMainHandler = mainHandler;
        mBgHandler = bgHandler;
    }

    public void setListener(TileStateListener listener) {
        mListener = listener;
        mBgHandler = new Handler(Dependency.get(Dependency.BG_LOOPER));
        mMainHandler = Dependency.get(Dependency.MAIN_HANDLER);
    }

    public void queryTiles(QSTileHost host) {
@@ -178,7 +186,9 @@ public class TileQueryHelper {
    private void notifyTilesChanged(final boolean finished) {
        final ArrayList<TileInfo> tilesToReturn = new ArrayList<>(mTiles);
        mMainHandler.post(() -> {
            if (mListener != null) {
                mListener.onTilesChanged(tilesToReturn);
            }
            mFinished = finished;
        });
    }
+14 −10
Original line number Diff line number Diff line
@@ -36,6 +36,8 @@ import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.content.pm.ServiceInfo;
import android.os.Handler;
import android.os.Looper;
import android.provider.Settings;
import android.service.quicksettings.Tile;
import android.testing.AndroidTestingRunner;
@@ -46,7 +48,6 @@ import android.util.ArraySet;

import androidx.test.filters.SmallTest;

import com.android.systemui.Dependency;
import com.android.systemui.R;
import com.android.systemui.SysuiTestCase;
import com.android.systemui.plugins.qs.QSTile;
@@ -99,12 +100,12 @@ public class TileQueryHelperTest extends SysuiTestCase {
    private QSTile.State mState;
    private TestableLooper mBGLooper;
    private TileQueryHelper mTileQueryHelper;
    private Handler mMainHandler;

    @Before
    public void setup() {
        MockitoAnnotations.initMocks(this);
        mBGLooper = TestableLooper.get(this);
        mDependency.injectTestDependency(Dependency.BG_LOOPER, mBGLooper.getLooper());
        mContext.setMockPackageManager(mPackageManager);

        mState = new QSTile.State();
@@ -122,7 +123,10 @@ public class TileQueryHelperTest extends SysuiTestCase {
                }
        ).when(mQSTileHost).createTile(anyString());

        mTileQueryHelper = new TileQueryHelper(mContext, mListener);
        mMainHandler = new Handler(Looper.getMainLooper());
        mTileQueryHelper = new TileQueryHelper(mContext, mMainHandler,
                new Handler(mBGLooper.getLooper()));
        mTileQueryHelper.setListener(mListener);
    }

    @Test
@@ -135,7 +139,7 @@ public class TileQueryHelperTest extends SysuiTestCase {
        mTileQueryHelper.queryTiles(mQSTileHost);

        mBGLooper.processAllMessages();
        waitForIdleSync(Dependency.get(Dependency.MAIN_HANDLER));
        waitForIdleSync(mMainHandler);

        assertTrue(mTileQueryHelper.isFinished());
    }
@@ -145,7 +149,7 @@ public class TileQueryHelperTest extends SysuiTestCase {
        mTileQueryHelper.queryTiles(mQSTileHost);

        mBGLooper.processAllMessages();
        waitForIdleSync(Dependency.get(Dependency.MAIN_HANDLER));
        waitForIdleSync(mMainHandler);

        verify(mListener, times(2)).onTilesChanged(any());
    }
@@ -160,7 +164,7 @@ public class TileQueryHelperTest extends SysuiTestCase {
        mTileQueryHelper.queryTiles(mQSTileHost);

        mBGLooper.processAllMessages();
        waitForIdleSync(Dependency.get(Dependency.MAIN_HANDLER));
        waitForIdleSync(mMainHandler);

        assertTrue(mTileQueryHelper.isFinished());
    }
@@ -175,7 +179,7 @@ public class TileQueryHelperTest extends SysuiTestCase {
        mTileQueryHelper.queryTiles(mQSTileHost);

        mBGLooper.processAllMessages();
        waitForIdleSync(Dependency.get(Dependency.MAIN_HANDLER));
        waitForIdleSync(mMainHandler);

        verify(mListener, atLeastOnce()).onTilesChanged(mCaptor.capture());
        List<String> specs = new ArrayList<>();
@@ -196,7 +200,7 @@ public class TileQueryHelperTest extends SysuiTestCase {
        mTileQueryHelper.queryTiles(mQSTileHost);

        mBGLooper.processAllMessages();
        waitForIdleSync(Dependency.get(Dependency.MAIN_HANDLER));
        waitForIdleSync(mMainHandler);

        verify(mListener, atLeastOnce()).onTilesChanged(mCaptor.capture());
        List<String> specs = new ArrayList<>();
@@ -217,7 +221,7 @@ public class TileQueryHelperTest extends SysuiTestCase {
        mTileQueryHelper.queryTiles(mQSTileHost);

        mBGLooper.processAllMessages();
        waitForIdleSync(Dependency.get(Dependency.MAIN_HANDLER));
        waitForIdleSync(mMainHandler);

        verify(mListener, atLeastOnce()).onTilesChanged(mCaptor.capture());
        List<String> specs = new ArrayList<>();
@@ -248,7 +252,7 @@ public class TileQueryHelperTest extends SysuiTestCase {

        mTileQueryHelper.queryTiles(mQSTileHost);
        mBGLooper.processAllMessages();
        waitForIdleSync(Dependency.get(Dependency.MAIN_HANDLER));
        waitForIdleSync(mMainHandler);

        verify(mListener, atLeastOnce()).onTilesChanged(mCaptor.capture());
        List<TileQueryHelper.TileInfo> tileInfos = mCaptor.getValue();