]> git.ktnx.net Git - mobile-ledger.git/blobdiff - app/src/main/java/net/ktnx/mobileledger/ui/templates/TemplateDetailsFragment.java
separate FAB management in a helper class
[mobile-ledger.git] / app / src / main / java / net / ktnx / mobileledger / ui / templates / TemplateDetailsFragment.java
index d8d1bb907195d71fb3016b9716e198ab5c22846c..ac72d890e54811c8e81de420dffafec4ff986804 100644 (file)
@@ -28,6 +28,8 @@ import android.view.ViewGroup;
 
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentActivity;
 import androidx.lifecycle.ViewModelProvider;
 import androidx.lifecycle.ViewModelStoreOwner;
 import androidx.navigation.NavController;
@@ -36,10 +38,10 @@ import androidx.recyclerview.widget.LinearLayoutManager;
 
 import net.ktnx.mobileledger.R;
 import net.ktnx.mobileledger.databinding.TemplateDetailsFragmentBinding;
-import net.ktnx.mobileledger.ui.QRScanCapableFragment;
+import net.ktnx.mobileledger.ui.FabManager;
 import net.ktnx.mobileledger.utils.Logger;
 
-public class TemplateDetailsFragment extends QRScanCapableFragment {
+public class TemplateDetailsFragment extends Fragment {
     static final String ARG_TEMPLATE_ID = "pattern-id";
     private static final String ARG_COLUMN_COUNT = "column-count";
     private TemplateDetailsFragmentBinding b;
@@ -49,11 +51,6 @@ public class TemplateDetailsFragment extends QRScanCapableFragment {
     private InteractionListener interactionListener;
     public TemplateDetailsFragment() {
     }
-    @Override
-    public void onCreateOptionsMenu(@NonNull Menu menu, @NonNull MenuInflater inflater) {
-        super.onCreateOptionsMenu(menu, inflater);
-        inflater.inflate(R.menu.template_details_menu, menu);
-    }
     public static TemplateDetailsFragment newInstance(int columnCount, int patternId) {
         final TemplateDetailsFragment fragment = new TemplateDetailsFragment();
         Bundle args = new Bundle();
@@ -64,6 +61,11 @@ public class TemplateDetailsFragment extends QRScanCapableFragment {
         return fragment;
     }
     @Override
+    public void onCreateOptionsMenu(@NonNull Menu menu, @NonNull MenuInflater inflater) {
+        super.onCreateOptionsMenu(menu, inflater);
+        inflater.inflate(R.menu.template_details_menu, menu);
+    }
+    @Override
     public boolean onOptionsItemSelected(@NonNull MenuItem item) {
         if (item.getItemId() == R.id.delete_template) {
             signalDeleteTemplateInteraction();
@@ -117,19 +119,17 @@ public class TemplateDetailsFragment extends QRScanCapableFragment {
         }
 
 
-        TemplateDetailsAdapter adapter = new TemplateDetailsAdapter();
+        TemplateDetailsAdapter adapter = new TemplateDetailsAdapter(mViewModel);
         b.patternDetailsRecyclerView.setAdapter(adapter);
         mViewModel.getItems(mPatternId)
                   .observe(getViewLifecycleOwner(), adapter::setItems);
 
+        FragmentActivity activity = requireActivity();
+        if (activity instanceof FabManager.FabHandler)
+            FabManager.handle((FabManager.FabHandler) activity, b.patternDetailsRecyclerView);
+
         return b.getRoot();
     }
-    @Override
-    protected void onQrScanned(String text) {
-        Logger.debug("PatDet_fr", String.format("Got scanned text '%s'", text));
-        if (text != null)
-            mViewModel.setTestText(text);
-    }
     interface InteractionListener {
         void onDeleteTemplate(@NonNull Long templateId);
     }