X-Git-Url: https://git.ktnx.net/?a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2Fui%2Fpatterns%2FPatternDetailsFragment.java;h=63bbe9d91716d2df0f369782aab9f0f8f0082ae9;hb=5aec3808de833367e5c9f2967978ecb64e69c97f;hp=83aa17d22a82715c13e4142f7b159061f4b090b6;hpb=4d2ce14d526978de65113314cc50ab5ecf9c7d09;p=mobile-ledger-staging.git diff --git a/app/src/main/java/net/ktnx/mobileledger/ui/patterns/PatternDetailsFragment.java b/app/src/main/java/net/ktnx/mobileledger/ui/patterns/PatternDetailsFragment.java index 83aa17d2..63bbe9d9 100644 --- a/app/src/main/java/net/ktnx/mobileledger/ui/patterns/PatternDetailsFragment.java +++ b/app/src/main/java/net/ktnx/mobileledger/ui/patterns/PatternDetailsFragment.java @@ -35,16 +35,16 @@ import com.google.android.material.snackbar.Snackbar; import net.ktnx.mobileledger.R; import net.ktnx.mobileledger.databinding.PatternDetailsFragmentBinding; -import net.ktnx.mobileledger.ui.QRScanAbleFragment; +import net.ktnx.mobileledger.ui.QRScanCapableFragment; import net.ktnx.mobileledger.utils.Logger; -public class PatternDetailsFragment extends QRScanAbleFragment { +public class PatternDetailsFragment extends QRScanCapableFragment { static final String ARG_PATTERN_ID = "pattern-id"; private static final String ARG_COLUMN_COUNT = "column-count"; PatternDetailsFragmentBinding b; private PatternDetailsViewModel mViewModel; private int mColumnCount = 1; - private int mPatternId = PatternDetailsViewModel.NEW_PATTERN; + private Long mPatternId; public PatternDetailsFragment() { } public static PatternDetailsFragment newInstance(int columnCount, int patternId) { @@ -63,13 +63,21 @@ public class PatternDetailsFragment extends QRScanAbleFragment { final Bundle args = getArguments(); if (args != null) { mColumnCount = args.getInt(ARG_COLUMN_COUNT, 1); - mPatternId = args.getInt(ARG_PATTERN_ID, PatternDetailsViewModel.NEW_PATTERN); + mPatternId = args.getLong(ARG_PATTERN_ID, -1); + if (mPatternId == -1) + mPatternId = null; } - mViewModel.setPatternId(mPatternId); } @Override public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { + NavController controller = ((PatternsActivity) requireActivity()).getNavController(); + final ViewModelStoreOwner viewModelStoreOwner = + controller.getViewModelStoreOwner(R.id.pattern_list_navigation); + mViewModel = new ViewModelProvider(viewModelStoreOwner).get(PatternDetailsViewModel.class); + mViewModel.setDefaultPatternName(getString(R.string.unnamed_pattern)); + Logger.debug("flow", "PatternDetailsFragment.onCreateView(): model=" + mViewModel); + b = PatternDetailsFragmentBinding.inflate(inflater); Context context = b.patternDetailsRecyclerView.getContext(); if (mColumnCount <= 1) { @@ -83,25 +91,16 @@ public class PatternDetailsFragment extends QRScanAbleFragment { PatternDetailsAdapter adapter = new PatternDetailsAdapter(); b.patternDetailsRecyclerView.setAdapter(adapter); - mViewModel.getItems() + mViewModel.getItems(mPatternId) .observe(getViewLifecycleOwner(), adapter::setItems); - return b.getRoot(); - } - @Override - public void onAttach(@NonNull Context context) { - super.onAttach(context); - NavController controller = ((PatternsActivity) context).getNavController(); - final ViewModelStoreOwner viewModelStoreOwner = - controller.getViewModelStoreOwner(R.id.pattern_list_navigation); - mViewModel = new ViewModelProvider(viewModelStoreOwner).get(PatternDetailsViewModel.class); - mViewModel.setDefaultPatternName(getString(R.string.unnamed_pattern)); - Logger.debug("flow", "PatternDetailsFragment.onAttach(): model=" + mViewModel); + return b.getRoot(); } @Override protected void onQrScanned(String text) { Logger.debug("PatDet_fr", String.format("Got scanned text '%s'", text)); - mViewModel.setTestText(text); + if (text != null) + mViewModel.setTestText(text); } public void onSavePattern() { mViewModel.onSavePattern();