Loading packages/SettingsLib/EntityHeaderWidgets/src/com/android/settingslib/widget/AppEntitiesHeaderController.java +16 −5 Original line number Diff line number Diff line Loading @@ -90,6 +90,7 @@ public class AppEntitiesHeaderController { private int mHeaderTitleRes; private int mHeaderDetailsRes; private int mHeaderEmptyRes; private CharSequence mHeaderDetails; private View.OnClickListener mDetailsOnClickListener; /** Loading Loading @@ -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. */ Loading Loading @@ -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); Loading packages/SettingsLib/tests/robotests/src/com/android/settingslib/widget/AppEntitiesHeaderControllerTest.java +17 −0 Original line number Diff line number Diff line Loading @@ -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 -> { Loading Loading
packages/SettingsLib/EntityHeaderWidgets/src/com/android/settingslib/widget/AppEntitiesHeaderController.java +16 −5 Original line number Diff line number Diff line Loading @@ -90,6 +90,7 @@ public class AppEntitiesHeaderController { private int mHeaderTitleRes; private int mHeaderDetailsRes; private int mHeaderEmptyRes; private CharSequence mHeaderDetails; private View.OnClickListener mDetailsOnClickListener; /** Loading Loading @@ -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. */ Loading Loading @@ -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); Loading
packages/SettingsLib/tests/robotests/src/com/android/settingslib/widget/AppEntitiesHeaderControllerTest.java +17 −0 Original line number Diff line number Diff line Loading @@ -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 -> { Loading