resource alert dialog
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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<Resource> 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> 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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
@@ -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<DirectoryNodeBinder.View
|
||||
holder.ivArrow.setImageResource(R.drawable.ic_keyboard_arrow_right_black_18dp);
|
||||
int rotateDegree = node.isExpand() ? 90 : 0;
|
||||
holder.ivArrow.setRotation(rotateDegree);
|
||||
Dir dirNode = (Dir) node.getContent();
|
||||
holder.tvName.setText(dirNode.dirName);
|
||||
Resource.Folder dirNode = (Resource.Folder) node.getContent();
|
||||
holder.tvName.setText(dirNode.getTitle());
|
||||
if (node.isLeaf())
|
||||
holder.ivArrow.setVisibility(View.INVISIBLE);
|
||||
else holder.ivArrow.setVisibility(View.VISIBLE);
|
||||
|
||||
@@ -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 File implements LayoutItemType {
|
||||
public String fileName;
|
||||
|
||||
public File(String fileName) {
|
||||
this.fileName = fileName;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getLayoutId() {
|
||||
return R.layout.item_file;
|
||||
}
|
||||
}
|
||||
@@ -4,6 +4,7 @@ import android.view.View;
|
||||
import android.widget.TextView;
|
||||
|
||||
import de.sebse.fuplanner.R;
|
||||
import de.sebse.fuplanner.services.KVV.types.Resource;
|
||||
|
||||
/**
|
||||
* Created by tlh on 2016/10/1 :)
|
||||
@@ -17,8 +18,8 @@ public class FileNodeBinder extends TreeViewBinder<FileNodeBinder.ViewHolder> {
|
||||
|
||||
@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
|
||||
|
||||
@@ -62,4 +62,7 @@
|
||||
<string name="starters">Starters</string>
|
||||
<string name="others">Others</string>
|
||||
<string name="resourcen">Resourcen</string>
|
||||
<string name="creator_name">Created by: %1$s</string>
|
||||
<string name="last_modified_on">Last Modified: %1$s</string>
|
||||
<string name="download">Download</string>
|
||||
</resources>
|
||||
|
||||
Reference in New Issue
Block a user