Update "none selected" state to align with mocks:

Mocks:
https://screenshot.googleplex.com/BYsmSRcRL5dhjve

Implementation:
https://hsv.googleplex.com/4797150908121088

Change-Id: I47e8f784fa850da4271170d44b3eb770721c3e8b
Test: on device & unit
Bug: 322074376
This commit is contained in:
Becca Hughes
2024-02-12 23:29:27 +00:00
parent b80f1ad5e3
commit 6cca4f32e6
5 changed files with 37 additions and 64 deletions

View File

@@ -46,7 +46,7 @@ public class PrimaryProviderPreference extends GearPreference {
private @Nullable View mButtonFrameView = null;
private @Nullable View mGearView = null;
private @Nullable Delegate mDelegate = null;
private boolean mButtonsVisible = false;
private boolean mButtonsCompactMode = false;
private boolean mOpenButtonVisible = false;
/** Called to send messages back to the parent controller. */
@@ -141,26 +141,7 @@ public class PrimaryProviderPreference extends GearPreference {
});
mButtonFrameView = holder.findViewById(R.id.credman_button_frame);
mButtonFrameView.setVisibility(mButtonsVisible ? View.VISIBLE : View.GONE);
// There is a special case where if the provider == none then we should
// hide the buttons and when the preference is tapped we can open the
// provider selection dialog.
setOnPreferenceClickListener(
new Preference.OnPreferenceClickListener() {
public boolean onPreferenceClick(@NonNull Preference preference) {
return handlePreferenceClickNewSettingsUi();
}
});
}
private boolean handlePreferenceClickNewSettingsUi() {
if (mDelegate != null && !mButtonsVisible) {
mDelegate.onChangeButtonClicked();
return true;
}
return false;
updateButtonFramePadding();
}
public void setOpenButtonVisible(boolean isVisible) {
@@ -172,12 +153,27 @@ public class PrimaryProviderPreference extends GearPreference {
mOpenButtonVisible = isVisible;
}
public void setButtonsVisible(boolean isVisible) {
if (mButtonFrameView != null) {
setVisibility(mButtonFrameView, isVisible);
private void updateButtonFramePadding() {
if (mButtonFrameView == null) {
return;
}
mButtonsVisible = isVisible;
int paddingLeft = mButtonsCompactMode ?
getContext().getResources().getDimensionPixelSize(
R.dimen.credman_primary_provider_pref_left_padding) :
getContext().getResources().getDimensionPixelSize(
R.dimen.credman_primary_provider_pref_left_padding_compact);
mButtonFrameView.setPadding(
paddingLeft,
mButtonFrameView.getPaddingTop(),
mButtonFrameView.getPaddingRight(),
mButtonFrameView.getPaddingBottom());
}
public void setButtonsCompactMode(boolean isCompactMode) {
mButtonsCompactMode = isCompactMode;
updateButtonFramePadding();
}
public void setDelegate(@NonNull Delegate delegate) {