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

Commit 427566a2 authored by Andrew Lee's avatar Andrew Lee
Browse files

Fix CallLogFragment UnitTests.

Run "changeCursor" on the main thread. I'm not precisely sure why
this fixes things, but it appeared before that the data I had on my
local device was being used instead of the test data.

Bug: 21471763
Change-Id: I6bece02e7c6828d54f76b5221ad10cf8f0052aa9
parent 6a86690a
Loading
Loading
Loading
Loading
+0 −14
Original line number Diff line number Diff line
@@ -253,7 +253,6 @@ abstract class GroupingListAdapter extends RecyclerView.Adapter {
     * corresponding cursor position.
     */
    public void obtainPositionMetadata(PositionMetadata metadata, int position) {

        // If the description object already contains requested information, just return
        if (metadata.listPosition == position) {
            return;
@@ -433,17 +432,4 @@ abstract class GroupingListAdapter extends RecyclerView.Adapter {
            return -1;
        }
    }

    /**
     * Used for setting the cursor without triggering a UI thread update.
     */
    @NeededForTesting
    public void setCursorForTesting(Cursor cursor) {
        if (cursor != null) {
            mCursor = cursor;
            cursor.registerContentObserver(mChangeObserver);
            cursor.registerDataSetObserver(mDataSetObserver);
            mRowIdColumnIndex = cursor.getColumnIndexOrThrow("_id");
        }
    }
}
+8 −2
Original line number Diff line number Diff line
@@ -129,7 +129,14 @@ public class CallLogFragmentTest extends ActivityInstrumentationTestCase2<Fragme
        mAdapter.pauseCache();
        mParentView = new FrameLayout(mActivity);
        mCursor = new MatrixCursor(CallLogQuery._PROJECTION);
        mAdapter.setCursorForTesting(mCursor);

        getInstrumentation().runOnMainSync(new Runnable() {
            @Override
            public void run() {
                mAdapter.changeCursor(mCursor);
            }
        });
        getInstrumentation().waitForIdleSync();
    }

    /**
@@ -316,7 +323,6 @@ public class CallLogFragmentTest extends ActivityInstrumentationTestCase2<Fragme
    public void testBindView_CallButton() {
        mCursor.moveToFirst();
        insert(TEST_NUMBER, Calls.PRESENTATION_ALLOWED, NOW, 0, Calls.INCOMING_TYPE);
        mAdapter.changeCursor(mCursor);
        CallLogListItemViewHolder viewHolder = (CallLogListItemViewHolder)
                mAdapter.onCreateViewHolder(mParentView, /* viewType */ 0);
        bindViewForTest(viewHolder);