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

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

Merge "Create an interface to set details text"

parents e4851982 b719a7d7
Loading
Loading
Loading
Loading
+16 −5
Original line number Diff line number Diff line
@@ -90,6 +90,7 @@ public class AppEntitiesHeaderController {
    private int mHeaderTitleRes;
    private int mHeaderDetailsRes;
    private int mHeaderEmptyRes;
    private CharSequence mHeaderDetails;
    private View.OnClickListener mDetailsOnClickListener;

    /**
@@ -147,6 +148,14 @@ public class AppEntitiesHeaderController {
        return this;
    }

    /**
     * Set the text for app entities header details.
     */
    public AppEntitiesHeaderController setHeaderDetails(CharSequence detailsText) {
        mHeaderDetails = detailsText;
        return this;
    }

    /**
     * Register a callback to be invoked when header details view is clicked.
     */
@@ -232,12 +241,14 @@ public class AppEntitiesHeaderController {
    }

    private void bindHeaderDetailsView() {
        CharSequence detailsText = "";
        CharSequence detailsText = mHeaderDetails;
        if (TextUtils.isEmpty(detailsText)) {
            try {
                detailsText = mContext.getText(mHeaderDetailsRes);
            } catch (Resources.NotFoundException e) {
                Log.e(TAG, "Resource of header details can't not be found!", e);
            }
        }
        mHeaderDetailsView.setText(detailsText);
        mHeaderDetailsView.setVisibility(
                TextUtils.isEmpty(detailsText) ? View.GONE : View.VISIBLE);
+17 −0
Original line number Diff line number Diff line
@@ -84,6 +84,23 @@ public class AppEntitiesHeaderControllerTest {
        assertThat(view.getText()).isEqualTo(mContext.getText(R.string.expand_button_title));
    }

    @Test
    public void setHeaderDetails_onlyDetailsTextSet_shouldSetToDetailsView() {
        mController.setHeaderDetails(TITLE).apply();
        final TextView view = mAppEntitiesHeaderView.findViewById(R.id.header_details);

        assertThat(view.getText()).isEqualTo(TITLE);
    }

    @Test
    public void setHeaderDetails_detailsTextAndResBothSet_shouldSetTextToDetailsView() {
        mController.setHeaderDetailsRes(R.string.expand_button_title);
        mController.setHeaderDetails(TITLE).apply();
        final TextView view = mAppEntitiesHeaderView.findViewById(R.id.header_details);

        assertThat(view.getText()).isEqualTo(TITLE);
    }

    @Test
    public void setHeaderDetailsClickListener_setClickListener_detailsViewAttachClickListener() {
        mController.setHeaderDetailsClickListener(v -> {