Merge "Create a set icon visibility interface for footer" into tm-dev am: 7cb4f13fc3 am: 67e771b0e4

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/18185944

Change-Id: I0763ab7ae5cc364a905faf1f7b8e834c37077954
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
TreeHugger Robot
2022-05-09 18:18:53 +00:00
committed by Automerger Merge Worker
2 changed files with 25 additions and 1 deletions

View File

@@ -40,6 +40,8 @@ public class FooterPreference extends Preference {
static final int ORDER_FOOTER = Integer.MAX_VALUE - 1; static final int ORDER_FOOTER = Integer.MAX_VALUE - 1;
@VisibleForTesting @VisibleForTesting
View.OnClickListener mLearnMoreListener; View.OnClickListener mLearnMoreListener;
@VisibleForTesting
int mIconVisibility = View.VISIBLE;
private CharSequence mContentDescription; private CharSequence mContentDescription;
private CharSequence mLearnMoreText; private CharSequence mLearnMoreText;
private CharSequence mLearnMoreContentDescription; private CharSequence mLearnMoreContentDescription;
@@ -84,6 +86,9 @@ public class FooterPreference extends Preference {
} else { } else {
learnMore.setVisibility(View.GONE); learnMore.setVisibility(View.GONE);
} }
View icon = holder.itemView.findViewById(R.id.icon_frame);
icon.setVisibility(mIconVisibility);
} }
@Override @Override
@@ -165,6 +170,17 @@ public class FooterPreference extends Preference {
} }
} }
/**
* Set visibility of footer icon.
*/
public void setIconVisibility(int iconVisibility) {
if (mIconVisibility == iconVisibility) {
return;
}
mIconVisibility = iconVisibility;
notifyChanged();
}
private void init() { private void init() {
setLayoutResource(R.layout.preference_footer); setLayoutResource(R.layout.preference_footer);
if (getIcon() == null) { if (getIcon() == null) {

View File

@@ -20,6 +20,7 @@ import static com.google.common.truth.Truth.assertThat;
import android.content.Context; import android.content.Context;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.View;
import android.widget.TextView; import android.widget.TextView;
import androidx.preference.PreferenceViewHolder; import androidx.preference.PreferenceViewHolder;
@@ -61,7 +62,7 @@ public class FooterPreferenceTest {
mFooterPreference.onBindViewHolder(holder); mFooterPreference.onBindViewHolder(holder);
assertThat(((TextView) holder.findViewById( assertThat(((TextView) holder.findViewById(
R.id.settingslib_learn_more)).getText().toString()) R.id.settingslib_learn_more)).getText().toString())
.isEqualTo("Custom learn more"); .isEqualTo("Custom learn more");
} }
@@ -86,4 +87,11 @@ public class FooterPreferenceTest {
assertThat(mFooterPreference.mLearnMoreListener).isNotNull(); assertThat(mFooterPreference.mLearnMoreListener).isNotNull();
} }
@Test
public void setIconVisibility_shouldReturnSameVisibilityType() {
mFooterPreference.setIconVisibility(View.GONE);
assertThat(mFooterPreference.mIconVisibility).isEqualTo(View.GONE);
}
} }