diff --git a/packages/SettingsLib/src/com/android/settingslib/widget/FooterPreference.java b/packages/SettingsLib/src/com/android/settingslib/widget/FooterPreference.java index a31b71e2cd0b9..7100acc30646f 100644 --- a/packages/SettingsLib/src/com/android/settingslib/widget/FooterPreference.java +++ b/packages/SettingsLib/src/com/android/settingslib/widget/FooterPreference.java @@ -17,6 +17,7 @@ package com.android.settingslib.widget; import android.content.Context; +import android.text.TextUtils; import android.text.method.LinkMovementMethod; import android.util.AttributeSet; import android.widget.TextView; @@ -55,9 +56,26 @@ public class FooterPreference extends Preference { title.setLongClickable(false); } + @Override + public void setSummary(CharSequence summary) { + setTitle(summary); + } + + @Override + public void setSummary(int summaryResId) { + setTitle(summaryResId); + } + + @Override + public CharSequence getSummary() { + return getTitle(); + } + private void init() { setIcon(R.drawable.ic_info_outline_24); - setKey(KEY_FOOTER); setOrder(ORDER_FOOTER); + if (TextUtils.isEmpty(getKey())) { + setKey(KEY_FOOTER); + } } } diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/widget/FooterPreferenceTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/widget/FooterPreferenceTest.java index 0d2399e3dcab8..1a4f0efd3834a 100644 --- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/widget/FooterPreferenceTest.java +++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/widget/FooterPreferenceTest.java @@ -37,28 +37,29 @@ import org.robolectric.RuntimeEnvironment; public class FooterPreferenceTest { private Context mContext; + private FooterPreference mFooterPreference; @Before public void setUp() { mContext = RuntimeEnvironment.application; - } - - @Test - public void createNewPreference_shouldSetKeyAndOrder() { - final FooterPreference preference = new FooterPreference(mContext); - - assertThat(preference.getKey()).isEqualTo(FooterPreference.KEY_FOOTER); - assertThat(preference.getOrder()).isEqualTo(FooterPreference.ORDER_FOOTER); + mFooterPreference = new FooterPreference(mContext); } @Test public void bindPreference_shouldLinkifyContent() { - final FooterPreference preference = new FooterPreference(mContext); final PreferenceViewHolder holder = PreferenceViewHolder.createInstanceForTests( LayoutInflater.from(mContext).inflate(R.layout.preference_footer, null)); - preference.onBindViewHolder(holder); + mFooterPreference.onBindViewHolder(holder); + assertThat(((TextView) holder.findViewById(android.R.id.title)).getMovementMethod()) .isInstanceOf(LinkMovementMethod.class); } + + @Test + public void setSummary_summarySet_shouldSetAsTitle() { + mFooterPreference.setSummary("summary"); + + assertThat(mFooterPreference.getTitle()).isEqualTo("summary"); + } }