X-Git-Url: https://git.ktnx.net/?p=mobile-ledger.git;a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2Fui%2FCurrencySelectorFragment.java;h=d25db493f7b05b659bd6cb6c21f0989570737564;hp=57c602b433be96ac73d9913966227ac184e9c472;hb=d2409f5625f84f811a323dbd1e0358dd7993e4da;hpb=1f0ccbf96f45e2a99fe519fd6e32e9705729664f diff --git a/app/src/main/java/net/ktnx/mobileledger/ui/CurrencySelectorFragment.java b/app/src/main/java/net/ktnx/mobileledger/ui/CurrencySelectorFragment.java index 57c602b4..d25db493 100644 --- a/app/src/main/java/net/ktnx/mobileledger/ui/CurrencySelectorFragment.java +++ b/app/src/main/java/net/ktnx/mobileledger/ui/CurrencySelectorFragment.java @@ -55,10 +55,13 @@ public class CurrencySelectorFragment extends AppCompatDialogFragment implements OnCurrencySelectedListener, OnCurrencyLongClickListener { public static final int DEFAULT_COLUMN_COUNT = 2; - private static final String ARG_COLUMN_COUNT = "column-count"; + public static final String ARG_COLUMN_COUNT = "column-count"; + public static final String ARG_SHOW_PARAMS = "show-params"; + public static final boolean DEFAULT_SHOW_PARAMS = true; private int mColumnCount = DEFAULT_COLUMN_COUNT; private OnCurrencySelectedListener mListener; private CurrencySelectorModel model; + private boolean deferredShowPositionAndPadding; /** * Mandatory empty constructor for the fragment manager to instantiate the @@ -68,12 +71,13 @@ public class CurrencySelectorFragment extends AppCompatDialogFragment } @SuppressWarnings("unused") public static CurrencySelectorFragment newInstance() { - return newInstance(DEFAULT_COLUMN_COUNT); + return newInstance(DEFAULT_COLUMN_COUNT, DEFAULT_SHOW_PARAMS); } - public static CurrencySelectorFragment newInstance(int columnCount) { + public static CurrencySelectorFragment newInstance(int columnCount, boolean showParams) { CurrencySelectorFragment fragment = new CurrencySelectorFragment(); Bundle args = new Bundle(); args.putInt(ARG_COLUMN_COUNT, columnCount); + args.putBoolean(ARG_SHOW_PARAMS, showParams); fragment.setArguments(args); return fragment; } @@ -182,6 +186,17 @@ public class CurrencySelectorFragment extends AppCompatDialogFragment Data.currencyGap.setValue(checked); }); + model.observePositionAndPaddingVisible(this, visible -> { + csd.findViewById(R.id.params_panel) + .setVisibility(visible ? View.VISIBLE : View.GONE); + }); + + if ((savedInstanceState != null) ? savedInstanceState.getBoolean(ARG_SHOW_PARAMS, + DEFAULT_SHOW_PARAMS) : DEFAULT_SHOW_PARAMS) + model.showPositionAndPadding(); + else + model.hidePositionAndPadding(); + return csd; } public void setOnCurrencySelectedListener(OnCurrencySelectedListener listener) { @@ -206,4 +221,10 @@ public class CurrencySelectorFragment extends AppCompatDialogFragment list.remove(item); model.currencies.setValue(list); } + public void showPositionAndPadding() { + deferredShowPositionAndPadding = true; + } + public void hidePositionAndPadding() { + deferredShowPositionAndPadding = false; + } }