Browse Source

hide template chooser in case there is only one template

Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
Andy Scherzinger 4 years ago
parent
commit
cdc611a71e

+ 13 - 3
src/main/java/com/owncloud/android/ui/dialog/ChooseRichDocumentsTemplateDialogFragment.java

@@ -212,6 +212,10 @@ public class ChooseRichDocumentsTemplateDialogFragment extends DialogFragment im
 
     @Override
     public void onClick(Template template) {
+        onTemplateChosen(template);
+    }
+
+    private void onTemplateChosen(Template template) {
         adapter.setTemplateAsActive(template);
         prefillFilenameIfEmpty(template);
         checkEnablingCreateButton();
@@ -343,10 +347,16 @@ public class ChooseRichDocumentsTemplateDialogFragment extends DialogFragment im
                 if (templateList.isEmpty()) {
                     DisplayUtils.showSnackMessage(fragment.binding.list, R.string.error_retrieving_templates);
                 } else {
-                    fragment.setTemplateList(templateList);
+                    if (templateList.size() == 1) {
+                        fragment.onTemplateChosen(templateList.get(0));
+                        fragment.binding.list.setVisibility(View.GONE);
+                        fragment.binding.helperText.setVisibility(View.INVISIBLE);
+                    } else {
+                        String name = DOT + templateList.get(0).getExtension();
+                        fragment.binding.filename.setText(name);
+                    }
 
-                    String name = DOT + templateList.get(0).getExtension();
-                    fragment.binding.filename.setText(name);
+                    fragment.setTemplateList(templateList);
                 }
             } else {
                 Log_OC.e(TAG, "Error streaming file: no previewMediaFragment!");

+ 13 - 3
src/main/java/com/owncloud/android/ui/dialog/ChooseTemplateDialogFragment.java

@@ -216,6 +216,10 @@ public class ChooseTemplateDialogFragment extends DialogFragment implements View
 
     @Override
     public void onClick(Template template) {
+        onTemplateChosen(template);
+    }
+
+    private void onTemplateChosen(Template template) {
         adapter.setTemplateAsActive(template);
         prefillFilenameIfEmpty(template);
         checkEnablingCreateButton();
@@ -393,10 +397,16 @@ public class ChooseTemplateDialogFragment extends DialogFragment implements View
                 if (templateList.templates.isEmpty()) {
                     DisplayUtils.showSnackMessage(fragment.binding.list, R.string.error_retrieving_templates);
                 } else {
-                    fragment.setTemplateList(templateList);
+                    if (templateList.templates.size() == 1) {
+                        fragment.onTemplateChosen(templateList.templates.values().iterator().next());
+                        fragment.binding.list.setVisibility(View.GONE);
+                        fragment.binding.helperText.setVisibility(View.INVISIBLE);
+                    } else {
+                        String name = DOT + templateList.templates.values().iterator().next().getExtension();
+                        fragment.binding.filename.setText(name);
+                    }
 
-                    String name = DOT + templateList.templates.values().iterator().next().getExtension();
-                    fragment.binding.filename.setText(name);
+                    fragment.setTemplateList(templateList);
                 }
             } else {
                 Log_OC.e(TAG, "Error streaming file: no previewMediaFragment!");

+ 1 - 0
src/main/res/layout/choose_template.xml

@@ -30,6 +30,7 @@
     android:paddingEnd="@dimen/standard_padding">
 
     <TextView
+        android:id="@+id/helper_text"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:paddingStart="@dimen/standard_half_padding"