diff --git a/app/src/main/java/de/sebse/fuplanner/fragments/moddetails/ModDetailResourceFragment.java b/app/src/main/java/de/sebse/fuplanner/fragments/moddetails/ModDetailResourceFragment.java index efdebb5..5fc0c59 100644 --- a/app/src/main/java/de/sebse/fuplanner/fragments/moddetails/ModDetailResourceFragment.java +++ b/app/src/main/java/de/sebse/fuplanner/fragments/moddetails/ModDetailResourceFragment.java @@ -1,6 +1,7 @@ package de.sebse.fuplanner.fragments.moddetails; +import android.app.AlertDialog; import android.content.Context; import android.os.Bundle; import android.support.annotation.NonNull; @@ -19,6 +20,8 @@ import de.sebse.fuplanner.MainActivity; import de.sebse.fuplanner.R; import de.sebse.fuplanner.services.KVV.KVV; import de.sebse.fuplanner.services.KVV.types.Modules; +import de.sebse.fuplanner.services.KVV.types.Resource; +import de.sebse.fuplanner.tools.UtilsDate; import de.sebse.fuplanner.tools.logging.Logger; import de.sebse.fuplanner.tools.ui.treeview.DirectoryNodeBinder; import de.sebse.fuplanner.tools.ui.treeview.FileNodeBinder; @@ -85,6 +88,21 @@ public class ModDetailResourceFragment extends Fragment { onToggle(!node.isExpand(), holder); // if (!node.isExpand()) // adapter.collapseBrotherNode(node); + } else { + AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(getContext()); + Resource.File file = (Resource.File) node.getContent(); + alertDialogBuilder + .setTitle(file.getTitle()) + .setMessage( + getResources().getString(R.string.creator_name, file.getAuthor()) + "\n" + + getResources().getString(R.string.last_modified_on, UtilsDate.getModifiedDateTime(context, file.getModifiedDate())) + ) + .setCancelable(true) + .setNeutralButton(R.string.close, (dialog, id) -> dialog.cancel()) + .setPositiveButton(R.string.download, (dialog, id) -> log.d(file.getUrl())); + + AlertDialog alertDialog = alertDialogBuilder.create(); + alertDialog.show(); } return false; } diff --git a/app/src/main/java/de/sebse/fuplanner/services/KVV/types/Resource.java b/app/src/main/java/de/sebse/fuplanner/services/KVV/types/Resource.java index fc5c93e..e1b6400 100644 --- a/app/src/main/java/de/sebse/fuplanner/services/KVV/types/Resource.java +++ b/app/src/main/java/de/sebse/fuplanner/services/KVV/types/Resource.java @@ -1,9 +1,12 @@ package de.sebse.fuplanner.services.KVV.types; +import android.support.annotation.LayoutRes; + import java.io.Serializable; import java.util.ArrayList; -import de.sebse.fuplanner.tools.ui.treeview.Dir; +import de.sebse.fuplanner.R; +import de.sebse.fuplanner.tools.ui.treeview.LayoutItemType; import de.sebse.fuplanner.tools.ui.treeview.TreeNode; @@ -52,7 +55,7 @@ public abstract class Resource implements Serializable { public abstract TreeNode getTreeNode(); - public static class File extends Resource { + public static class File extends Resource implements LayoutItemType { private final String type; public File(String author, String title, long modifiedDate, String url, boolean visible, String container, String type) { @@ -73,11 +76,16 @@ public abstract class Resource implements Serializable { @Override public TreeNode getTreeNode() { - return new TreeNode<>(new de.sebse.fuplanner.tools.ui.treeview.File(title)); + return new TreeNode<>(this); + } + + @Override + public @LayoutRes int getLayoutId() { + return R.layout.item_file; } } - public static class Folder extends Resource{ + public static class Folder extends Resource implements LayoutItemType { private final ArrayList childs; public Folder(String author, String title, long modifiedDate, String url, boolean visible, String container) { @@ -110,12 +118,17 @@ public abstract class Resource implements Serializable { @Override public TreeNode getTreeNode() { - TreeNode dir = new TreeNode<>(new Dir(title)); + TreeNode dir = new TreeNode<>(this); for (Resource res: childs) { dir.addChild(res.getTreeNode()); } return dir; } + + @Override + public @LayoutRes int getLayoutId() { + return R.layout.item_dir; + } } } diff --git a/app/src/main/java/de/sebse/fuplanner/tools/ui/treeview/Dir.java b/app/src/main/java/de/sebse/fuplanner/tools/ui/treeview/Dir.java deleted file mode 100644 index c36bd6e..0000000 --- a/app/src/main/java/de/sebse/fuplanner/tools/ui/treeview/Dir.java +++ /dev/null @@ -1,21 +0,0 @@ -package de.sebse.fuplanner.tools.ui.treeview; - - -import de.sebse.fuplanner.R; - -/** - * Created by tlh on 2016/10/1 :) - */ - -public class Dir implements LayoutItemType { - public String dirName; - - public Dir(String dirName) { - this.dirName = dirName; - } - - @Override - public int getLayoutId() { - return R.layout.item_dir; - } -} diff --git a/app/src/main/java/de/sebse/fuplanner/tools/ui/treeview/DirectoryNodeBinder.java b/app/src/main/java/de/sebse/fuplanner/tools/ui/treeview/DirectoryNodeBinder.java index 40e2f23..8689b79 100644 --- a/app/src/main/java/de/sebse/fuplanner/tools/ui/treeview/DirectoryNodeBinder.java +++ b/app/src/main/java/de/sebse/fuplanner/tools/ui/treeview/DirectoryNodeBinder.java @@ -5,6 +5,7 @@ import android.widget.ImageView; import android.widget.TextView; import de.sebse.fuplanner.R; +import de.sebse.fuplanner.services.KVV.types.Resource; /** * Created by tlh on 2016/10/1 :) @@ -22,8 +23,8 @@ public class DirectoryNodeBinder extends TreeViewBinder { @Override public void bindView(ViewHolder holder, int position, TreeNode node) { - File fileNode = (File) node.getContent(); - holder.tvName.setText(fileNode.fileName); + Resource.File fileNode = (Resource.File) node.getContent(); + holder.tvName.setText(fileNode.getTitle()); } @Override diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 3ebe3e8..0a8c1f8 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -62,4 +62,7 @@ Starters Others Resourcen + Created by: %1$s + Last Modified: %1$s + Download