Loading packages/SettingsLib/BarChartPreference/src/com/android/settingslib/widget/BarView.java +1 −0 Original line number Diff line number Diff line Loading @@ -74,6 +74,7 @@ public class BarView extends LinearLayout { // For now, we use the bar number as title. mBarTitle.setText(Integer.toString(barViewInfo.getHeight())); mBarSummary.setText(barViewInfo.getSummary()); mIcon.setContentDescription(barViewInfo.getContentDescription()); } @VisibleForTesting Loading packages/SettingsLib/BarChartPreference/src/com/android/settingslib/widget/BarViewInfo.java +9 −1 Original line number Diff line number Diff line Loading @@ -34,6 +34,7 @@ public class BarViewInfo implements Comparable<BarViewInfo> { private View.OnClickListener mClickListener; @StringRes private int mSummary; private @Nullable CharSequence mContentDescription; // A number indicates this bar's height. The larger number shows a higher bar view. private int mHeight; // A real height of bar view. Loading @@ -45,11 +46,14 @@ public class BarViewInfo implements Comparable<BarViewInfo> { * @param icon The icon of bar view. * @param barHeight The height of bar view. Larger number shows a higher bar view. * @param summary The string resource id for summary. * @param contentDescription Optional text that briefly describes the contents of the icon. */ public BarViewInfo(Drawable icon, @IntRange(from = 0) int barHeight, @StringRes int summary) { public BarViewInfo(Drawable icon, @IntRange(from = 0) int barHeight, @StringRes int summary, @Nullable CharSequence contentDescription) { mIcon = icon; mHeight = barHeight; mSummary = summary; mContentDescription = contentDescription; } /** Loading Loading @@ -91,6 +95,10 @@ public class BarViewInfo implements Comparable<BarViewInfo> { return mSummary; } public @Nullable CharSequence getContentDescription() { return mContentDescription; } void setNormalizedHeight(@IntRange(from = 0) int barHeight) { mNormalizedHeight = barHeight; } Loading packages/SettingsLib/tests/robotests/src/com/android/settingslib/widget/BarChartInfoTest.java +6 −3 Original line number Diff line number Diff line Loading @@ -72,7 +72,8 @@ public class BarChartInfoTest { final BarViewInfo barViewInfo = new BarViewInfo( null /* icon */, 50, mTitle); mTitle, null); final BarChartInfo mBarChartInfo = new BarChartInfo.Builder() .setTitle(mTitle) Loading @@ -91,7 +92,8 @@ public class BarChartInfoTest { final BarViewInfo barViewInfo = new BarViewInfo( null /* icon */, 50, mTitle); mTitle, null); final BarChartInfo mBarChartInfo = new BarChartInfo.Builder() .setTitle(mTitle) .setDetails(mDetails) Loading @@ -113,7 +115,8 @@ public class BarChartInfoTest { final BarViewInfo barViewInfo = new BarViewInfo( null /* icon */, 50, mTitle); mTitle, null); new BarChartInfo.Builder() .setTitle(mTitle) .setDetails(mDetails) Loading packages/SettingsLib/tests/robotests/src/com/android/settingslib/widget/BarChartPreferenceTest.java +32 −26 Original line number Diff line number Diff line Loading @@ -113,7 +113,8 @@ public class BarChartPreferenceTest { final BarChartInfo barChartInfo = new BarChartInfo.Builder() .setTitle(R.string.debug_app) .setDetails(R.string.debug_app) .addBarViewInfo(new BarViewInfo(mIcon, 10 /* barNumber */, R.string.debug_app)) .addBarViewInfo( new BarViewInfo(mIcon, 10 /* barNumber */, R.string.debug_app, null)) .build(); mPreference.initializeBarChart(barChartInfo); Loading @@ -128,7 +129,8 @@ public class BarChartPreferenceTest { // We don't call BarChartInfo.Builder#setDetails yet. final BarChartInfo barChartInfo = new BarChartInfo.Builder() .setTitle(R.string.debug_app) .addBarViewInfo(new BarViewInfo(mIcon, 10 /* barNumber */, R.string.debug_app)) .addBarViewInfo( new BarViewInfo(mIcon, 10 /* barNumber */, R.string.debug_app, null)) .build(); mPreference.initializeBarChart(barChartInfo); Loading @@ -144,7 +146,8 @@ public class BarChartPreferenceTest { .setDetails(R.string.debug_app) .setDetailsOnClickListener(v -> { }) .addBarViewInfo(new BarViewInfo(mIcon, 10 /* barNumber */, R.string.debug_app)) .addBarViewInfo( new BarViewInfo(mIcon, 10 /* barNumber */, R.string.debug_app, null)) .build(); mPreference.initializeBarChart(barChartInfo); Loading @@ -157,7 +160,7 @@ public class BarChartPreferenceTest { @Test public void setBarViewInfos_oneBarViewInfoSet_shouldShowOneBarView() { final BarViewInfo[] barViewsInfo = new BarViewInfo[]{ new BarViewInfo(mIcon, 10 /* barNumber */, R.string.debug_app) new BarViewInfo(mIcon, 10 /* barNumber */, R.string.debug_app, null) }; mPreference.initializeBarChart(mBarChartInfo); Loading @@ -175,8 +178,8 @@ public class BarChartPreferenceTest { @Test public void setBarViewInfos_twoBarViewInfosSet_shouldShowTwoBarViews() { final BarViewInfo[] barViewsInfo = new BarViewInfo[]{ new BarViewInfo(mIcon, 20 /* barNumber */, R.string.debug_app), new BarViewInfo(mIcon, 10 /* barNumber */, R.string.debug_app) new BarViewInfo(mIcon, 20 /* barNumber */, R.string.debug_app, null), new BarViewInfo(mIcon, 10 /* barNumber */, R.string.debug_app, null) }; mPreference.initializeBarChart(mBarChartInfo); Loading @@ -195,9 +198,9 @@ public class BarChartPreferenceTest { @Test public void setBarViewInfos_threeBarViewInfosSet_shouldShowThreeBarViews() { final BarViewInfo[] barViewsInfo = new BarViewInfo[]{ new BarViewInfo(mIcon, 20 /* barNumber */, R.string.debug_app), new BarViewInfo(mIcon, 10 /* barNumber */, R.string.debug_app), new BarViewInfo(mIcon, 5 /* barNumber */, R.string.debug_app) new BarViewInfo(mIcon, 20 /* barNumber */, R.string.debug_app, null), new BarViewInfo(mIcon, 10 /* barNumber */, R.string.debug_app, null), new BarViewInfo(mIcon, 5 /* barNumber */, R.string.debug_app, null) }; mPreference.initializeBarChart(mBarChartInfo); Loading @@ -217,10 +220,10 @@ public class BarChartPreferenceTest { @Test public void setBarViewInfos_fourBarViewInfosSet_shouldShowFourBarViews() { final BarViewInfo[] barViewsInfo = new BarViewInfo[]{ new BarViewInfo(mIcon, 20 /* barNumber */, R.string.debug_app), new BarViewInfo(mIcon, 10 /* barNumber */, R.string.debug_app), new BarViewInfo(mIcon, 5 /* barNumber */, R.string.debug_app), new BarViewInfo(mIcon, 2 /* barNumber */, R.string.debug_app), new BarViewInfo(mIcon, 20 /* barNumber */, R.string.debug_app, null), new BarViewInfo(mIcon, 10 /* barNumber */, R.string.debug_app, null), new BarViewInfo(mIcon, 5 /* barNumber */, R.string.debug_app, null), new BarViewInfo(mIcon, 2 /* barNumber */, R.string.debug_app, null), }; mPreference.initializeBarChart(mBarChartInfo); Loading @@ -242,11 +245,11 @@ public class BarChartPreferenceTest { thrown.expect(IllegalStateException.class); final BarViewInfo[] barViewsInfo = new BarViewInfo[]{ new BarViewInfo(mIcon, 30 /* barNumber */, R.string.debug_app), new BarViewInfo(mIcon, 50 /* barNumber */, R.string.debug_app), new BarViewInfo(mIcon, 5 /* barNumber */, R.string.debug_app), new BarViewInfo(mIcon, 10 /* barNumber */, R.string.debug_app), new BarViewInfo(mIcon, 70 /* barNumber */, R.string.debug_app), new BarViewInfo(mIcon, 30 /* barNumber */, R.string.debug_app, null), new BarViewInfo(mIcon, 50 /* barNumber */, R.string.debug_app, null), new BarViewInfo(mIcon, 5 /* barNumber */, R.string.debug_app, null), new BarViewInfo(mIcon, 10 /* barNumber */, R.string.debug_app, null), new BarViewInfo(mIcon, 70 /* barNumber */, R.string.debug_app, null), }; mPreference.setBarViewInfos(barViewsInfo); Loading @@ -255,10 +258,10 @@ public class BarChartPreferenceTest { @Test public void setBarViewInfos_barViewInfosSet_shouldBeSortedInDescending() { final BarViewInfo[] barViewsInfo = new BarViewInfo[]{ new BarViewInfo(mIcon, 30 /* barNumber */, R.string.debug_app), new BarViewInfo(mIcon, 50 /* barNumber */, R.string.debug_app), new BarViewInfo(mIcon, 5 /* barNumber */, R.string.debug_app), new BarViewInfo(mIcon, 10 /* barNumber */, R.string.debug_app), new BarViewInfo(mIcon, 30 /* barNumber */, R.string.debug_app, null), new BarViewInfo(mIcon, 50 /* barNumber */, R.string.debug_app, null), new BarViewInfo(mIcon, 5 /* barNumber */, R.string.debug_app, null), new BarViewInfo(mIcon, 10 /* barNumber */, R.string.debug_app, null), }; mPreference.initializeBarChart(mBarChartInfo); Loading @@ -278,7 +281,7 @@ public class BarChartPreferenceTest { @Test public void setBarViewInfos_validBarViewSummarySet_barViewShouldShowSummary() { final BarViewInfo[] barViewsInfo = new BarViewInfo[]{ new BarViewInfo(mIcon, 10 /* barNumber */, R.string.debug_app), new BarViewInfo(mIcon, 10 /* barNumber */, R.string.debug_app, null), }; mPreference.initializeBarChart(mBarChartInfo); Loading @@ -291,7 +294,8 @@ public class BarChartPreferenceTest { @Test public void setBarViewInfos_clickListenerForBarViewSet_barViewShouldHaveClickListener() { final BarViewInfo viewInfo = new BarViewInfo(mIcon, 30 /* barNumber */, R.string.debug_app); final BarViewInfo viewInfo = new BarViewInfo(mIcon, 30 /* barNumber */, R.string.debug_app, null); viewInfo.setClickListener(v -> { }); final BarViewInfo[] barViewsInfo = new BarViewInfo[]{viewInfo}; Loading @@ -306,7 +310,8 @@ public class BarChartPreferenceTest { @Test public void onBindViewHolder_loadingStateIsTrue_shouldHideAllViews() { final BarViewInfo viewInfo = new BarViewInfo(mIcon, 30 /* barNumber */, R.string.debug_app); final BarViewInfo viewInfo = new BarViewInfo(mIcon, 30 /* barNumber */, R.string.debug_app, null); viewInfo.setClickListener(v -> { }); final BarViewInfo[] barViewsInfo = new BarViewInfo[]{viewInfo}; Loading @@ -322,7 +327,8 @@ public class BarChartPreferenceTest { @Test public void onBindViewHolder_loadingStateIsFalse_shouldInitAnyView() { final BarViewInfo viewInfo = new BarViewInfo(mIcon, 30 /* barNumber */, R.string.debug_app); final BarViewInfo viewInfo = new BarViewInfo(mIcon, 30 /* barNumber */, R.string.debug_app, null); viewInfo.setClickListener(v -> { }); final BarViewInfo[] barViewsInfo = new BarViewInfo[]{viewInfo}; Loading Loading
packages/SettingsLib/BarChartPreference/src/com/android/settingslib/widget/BarView.java +1 −0 Original line number Diff line number Diff line Loading @@ -74,6 +74,7 @@ public class BarView extends LinearLayout { // For now, we use the bar number as title. mBarTitle.setText(Integer.toString(barViewInfo.getHeight())); mBarSummary.setText(barViewInfo.getSummary()); mIcon.setContentDescription(barViewInfo.getContentDescription()); } @VisibleForTesting Loading
packages/SettingsLib/BarChartPreference/src/com/android/settingslib/widget/BarViewInfo.java +9 −1 Original line number Diff line number Diff line Loading @@ -34,6 +34,7 @@ public class BarViewInfo implements Comparable<BarViewInfo> { private View.OnClickListener mClickListener; @StringRes private int mSummary; private @Nullable CharSequence mContentDescription; // A number indicates this bar's height. The larger number shows a higher bar view. private int mHeight; // A real height of bar view. Loading @@ -45,11 +46,14 @@ public class BarViewInfo implements Comparable<BarViewInfo> { * @param icon The icon of bar view. * @param barHeight The height of bar view. Larger number shows a higher bar view. * @param summary The string resource id for summary. * @param contentDescription Optional text that briefly describes the contents of the icon. */ public BarViewInfo(Drawable icon, @IntRange(from = 0) int barHeight, @StringRes int summary) { public BarViewInfo(Drawable icon, @IntRange(from = 0) int barHeight, @StringRes int summary, @Nullable CharSequence contentDescription) { mIcon = icon; mHeight = barHeight; mSummary = summary; mContentDescription = contentDescription; } /** Loading Loading @@ -91,6 +95,10 @@ public class BarViewInfo implements Comparable<BarViewInfo> { return mSummary; } public @Nullable CharSequence getContentDescription() { return mContentDescription; } void setNormalizedHeight(@IntRange(from = 0) int barHeight) { mNormalizedHeight = barHeight; } Loading
packages/SettingsLib/tests/robotests/src/com/android/settingslib/widget/BarChartInfoTest.java +6 −3 Original line number Diff line number Diff line Loading @@ -72,7 +72,8 @@ public class BarChartInfoTest { final BarViewInfo barViewInfo = new BarViewInfo( null /* icon */, 50, mTitle); mTitle, null); final BarChartInfo mBarChartInfo = new BarChartInfo.Builder() .setTitle(mTitle) Loading @@ -91,7 +92,8 @@ public class BarChartInfoTest { final BarViewInfo barViewInfo = new BarViewInfo( null /* icon */, 50, mTitle); mTitle, null); final BarChartInfo mBarChartInfo = new BarChartInfo.Builder() .setTitle(mTitle) .setDetails(mDetails) Loading @@ -113,7 +115,8 @@ public class BarChartInfoTest { final BarViewInfo barViewInfo = new BarViewInfo( null /* icon */, 50, mTitle); mTitle, null); new BarChartInfo.Builder() .setTitle(mTitle) .setDetails(mDetails) Loading
packages/SettingsLib/tests/robotests/src/com/android/settingslib/widget/BarChartPreferenceTest.java +32 −26 Original line number Diff line number Diff line Loading @@ -113,7 +113,8 @@ public class BarChartPreferenceTest { final BarChartInfo barChartInfo = new BarChartInfo.Builder() .setTitle(R.string.debug_app) .setDetails(R.string.debug_app) .addBarViewInfo(new BarViewInfo(mIcon, 10 /* barNumber */, R.string.debug_app)) .addBarViewInfo( new BarViewInfo(mIcon, 10 /* barNumber */, R.string.debug_app, null)) .build(); mPreference.initializeBarChart(barChartInfo); Loading @@ -128,7 +129,8 @@ public class BarChartPreferenceTest { // We don't call BarChartInfo.Builder#setDetails yet. final BarChartInfo barChartInfo = new BarChartInfo.Builder() .setTitle(R.string.debug_app) .addBarViewInfo(new BarViewInfo(mIcon, 10 /* barNumber */, R.string.debug_app)) .addBarViewInfo( new BarViewInfo(mIcon, 10 /* barNumber */, R.string.debug_app, null)) .build(); mPreference.initializeBarChart(barChartInfo); Loading @@ -144,7 +146,8 @@ public class BarChartPreferenceTest { .setDetails(R.string.debug_app) .setDetailsOnClickListener(v -> { }) .addBarViewInfo(new BarViewInfo(mIcon, 10 /* barNumber */, R.string.debug_app)) .addBarViewInfo( new BarViewInfo(mIcon, 10 /* barNumber */, R.string.debug_app, null)) .build(); mPreference.initializeBarChart(barChartInfo); Loading @@ -157,7 +160,7 @@ public class BarChartPreferenceTest { @Test public void setBarViewInfos_oneBarViewInfoSet_shouldShowOneBarView() { final BarViewInfo[] barViewsInfo = new BarViewInfo[]{ new BarViewInfo(mIcon, 10 /* barNumber */, R.string.debug_app) new BarViewInfo(mIcon, 10 /* barNumber */, R.string.debug_app, null) }; mPreference.initializeBarChart(mBarChartInfo); Loading @@ -175,8 +178,8 @@ public class BarChartPreferenceTest { @Test public void setBarViewInfos_twoBarViewInfosSet_shouldShowTwoBarViews() { final BarViewInfo[] barViewsInfo = new BarViewInfo[]{ new BarViewInfo(mIcon, 20 /* barNumber */, R.string.debug_app), new BarViewInfo(mIcon, 10 /* barNumber */, R.string.debug_app) new BarViewInfo(mIcon, 20 /* barNumber */, R.string.debug_app, null), new BarViewInfo(mIcon, 10 /* barNumber */, R.string.debug_app, null) }; mPreference.initializeBarChart(mBarChartInfo); Loading @@ -195,9 +198,9 @@ public class BarChartPreferenceTest { @Test public void setBarViewInfos_threeBarViewInfosSet_shouldShowThreeBarViews() { final BarViewInfo[] barViewsInfo = new BarViewInfo[]{ new BarViewInfo(mIcon, 20 /* barNumber */, R.string.debug_app), new BarViewInfo(mIcon, 10 /* barNumber */, R.string.debug_app), new BarViewInfo(mIcon, 5 /* barNumber */, R.string.debug_app) new BarViewInfo(mIcon, 20 /* barNumber */, R.string.debug_app, null), new BarViewInfo(mIcon, 10 /* barNumber */, R.string.debug_app, null), new BarViewInfo(mIcon, 5 /* barNumber */, R.string.debug_app, null) }; mPreference.initializeBarChart(mBarChartInfo); Loading @@ -217,10 +220,10 @@ public class BarChartPreferenceTest { @Test public void setBarViewInfos_fourBarViewInfosSet_shouldShowFourBarViews() { final BarViewInfo[] barViewsInfo = new BarViewInfo[]{ new BarViewInfo(mIcon, 20 /* barNumber */, R.string.debug_app), new BarViewInfo(mIcon, 10 /* barNumber */, R.string.debug_app), new BarViewInfo(mIcon, 5 /* barNumber */, R.string.debug_app), new BarViewInfo(mIcon, 2 /* barNumber */, R.string.debug_app), new BarViewInfo(mIcon, 20 /* barNumber */, R.string.debug_app, null), new BarViewInfo(mIcon, 10 /* barNumber */, R.string.debug_app, null), new BarViewInfo(mIcon, 5 /* barNumber */, R.string.debug_app, null), new BarViewInfo(mIcon, 2 /* barNumber */, R.string.debug_app, null), }; mPreference.initializeBarChart(mBarChartInfo); Loading @@ -242,11 +245,11 @@ public class BarChartPreferenceTest { thrown.expect(IllegalStateException.class); final BarViewInfo[] barViewsInfo = new BarViewInfo[]{ new BarViewInfo(mIcon, 30 /* barNumber */, R.string.debug_app), new BarViewInfo(mIcon, 50 /* barNumber */, R.string.debug_app), new BarViewInfo(mIcon, 5 /* barNumber */, R.string.debug_app), new BarViewInfo(mIcon, 10 /* barNumber */, R.string.debug_app), new BarViewInfo(mIcon, 70 /* barNumber */, R.string.debug_app), new BarViewInfo(mIcon, 30 /* barNumber */, R.string.debug_app, null), new BarViewInfo(mIcon, 50 /* barNumber */, R.string.debug_app, null), new BarViewInfo(mIcon, 5 /* barNumber */, R.string.debug_app, null), new BarViewInfo(mIcon, 10 /* barNumber */, R.string.debug_app, null), new BarViewInfo(mIcon, 70 /* barNumber */, R.string.debug_app, null), }; mPreference.setBarViewInfos(barViewsInfo); Loading @@ -255,10 +258,10 @@ public class BarChartPreferenceTest { @Test public void setBarViewInfos_barViewInfosSet_shouldBeSortedInDescending() { final BarViewInfo[] barViewsInfo = new BarViewInfo[]{ new BarViewInfo(mIcon, 30 /* barNumber */, R.string.debug_app), new BarViewInfo(mIcon, 50 /* barNumber */, R.string.debug_app), new BarViewInfo(mIcon, 5 /* barNumber */, R.string.debug_app), new BarViewInfo(mIcon, 10 /* barNumber */, R.string.debug_app), new BarViewInfo(mIcon, 30 /* barNumber */, R.string.debug_app, null), new BarViewInfo(mIcon, 50 /* barNumber */, R.string.debug_app, null), new BarViewInfo(mIcon, 5 /* barNumber */, R.string.debug_app, null), new BarViewInfo(mIcon, 10 /* barNumber */, R.string.debug_app, null), }; mPreference.initializeBarChart(mBarChartInfo); Loading @@ -278,7 +281,7 @@ public class BarChartPreferenceTest { @Test public void setBarViewInfos_validBarViewSummarySet_barViewShouldShowSummary() { final BarViewInfo[] barViewsInfo = new BarViewInfo[]{ new BarViewInfo(mIcon, 10 /* barNumber */, R.string.debug_app), new BarViewInfo(mIcon, 10 /* barNumber */, R.string.debug_app, null), }; mPreference.initializeBarChart(mBarChartInfo); Loading @@ -291,7 +294,8 @@ public class BarChartPreferenceTest { @Test public void setBarViewInfos_clickListenerForBarViewSet_barViewShouldHaveClickListener() { final BarViewInfo viewInfo = new BarViewInfo(mIcon, 30 /* barNumber */, R.string.debug_app); final BarViewInfo viewInfo = new BarViewInfo(mIcon, 30 /* barNumber */, R.string.debug_app, null); viewInfo.setClickListener(v -> { }); final BarViewInfo[] barViewsInfo = new BarViewInfo[]{viewInfo}; Loading @@ -306,7 +310,8 @@ public class BarChartPreferenceTest { @Test public void onBindViewHolder_loadingStateIsTrue_shouldHideAllViews() { final BarViewInfo viewInfo = new BarViewInfo(mIcon, 30 /* barNumber */, R.string.debug_app); final BarViewInfo viewInfo = new BarViewInfo(mIcon, 30 /* barNumber */, R.string.debug_app, null); viewInfo.setClickListener(v -> { }); final BarViewInfo[] barViewsInfo = new BarViewInfo[]{viewInfo}; Loading @@ -322,7 +327,8 @@ public class BarChartPreferenceTest { @Test public void onBindViewHolder_loadingStateIsFalse_shouldInitAnyView() { final BarViewInfo viewInfo = new BarViewInfo(mIcon, 30 /* barNumber */, R.string.debug_app); final BarViewInfo viewInfo = new BarViewInfo(mIcon, 30 /* barNumber */, R.string.debug_app, null); viewInfo.setClickListener(v -> { }); final BarViewInfo[] barViewsInfo = new BarViewInfo[]{viewInfo}; Loading