resource alert dialog
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
package de.sebse.fuplanner.fragments.moddetails;
|
package de.sebse.fuplanner.fragments.moddetails;
|
||||||
|
|
||||||
|
|
||||||
|
import android.app.AlertDialog;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.support.annotation.NonNull;
|
import android.support.annotation.NonNull;
|
||||||
@@ -19,6 +20,8 @@ import de.sebse.fuplanner.MainActivity;
|
|||||||
import de.sebse.fuplanner.R;
|
import de.sebse.fuplanner.R;
|
||||||
import de.sebse.fuplanner.services.KVV.KVV;
|
import de.sebse.fuplanner.services.KVV.KVV;
|
||||||
import de.sebse.fuplanner.services.KVV.types.Modules;
|
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.logging.Logger;
|
||||||
import de.sebse.fuplanner.tools.ui.treeview.DirectoryNodeBinder;
|
import de.sebse.fuplanner.tools.ui.treeview.DirectoryNodeBinder;
|
||||||
import de.sebse.fuplanner.tools.ui.treeview.FileNodeBinder;
|
import de.sebse.fuplanner.tools.ui.treeview.FileNodeBinder;
|
||||||
@@ -85,6 +88,21 @@ public class ModDetailResourceFragment extends Fragment {
|
|||||||
onToggle(!node.isExpand(), holder);
|
onToggle(!node.isExpand(), holder);
|
||||||
// if (!node.isExpand())
|
// if (!node.isExpand())
|
||||||
// adapter.collapseBrotherNode(node);
|
// 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;
|
return false;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,9 +1,12 @@
|
|||||||
package de.sebse.fuplanner.services.KVV.types;
|
package de.sebse.fuplanner.services.KVV.types;
|
||||||
|
|
||||||
|
import android.support.annotation.LayoutRes;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.util.ArrayList;
|
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;
|
import de.sebse.fuplanner.tools.ui.treeview.TreeNode;
|
||||||
|
|
||||||
|
|
||||||
@@ -52,7 +55,7 @@ public abstract class Resource implements Serializable {
|
|||||||
|
|
||||||
public abstract TreeNode getTreeNode();
|
public abstract TreeNode getTreeNode();
|
||||||
|
|
||||||
public static class File extends Resource {
|
public static class File extends Resource implements LayoutItemType {
|
||||||
private final String type;
|
private final String type;
|
||||||
|
|
||||||
public File(String author, String title, long modifiedDate, String url, boolean visible, String container, 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
|
@Override
|
||||||
public TreeNode getTreeNode() {
|
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;
|
private final ArrayList<Resource> childs;
|
||||||
public Folder(String author, String title, long modifiedDate, String url, boolean visible, String container) {
|
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
|
@Override
|
||||||
public TreeNode getTreeNode() {
|
public TreeNode getTreeNode() {
|
||||||
TreeNode<Dir> dir = new TreeNode<>(new Dir(title));
|
TreeNode dir = new TreeNode<>(this);
|
||||||
for (Resource res: childs) {
|
for (Resource res: childs) {
|
||||||
dir.addChild(res.getTreeNode());
|
dir.addChild(res.getTreeNode());
|
||||||
}
|
}
|
||||||
return dir;
|
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 android.widget.TextView;
|
||||||
|
|
||||||
import de.sebse.fuplanner.R;
|
import de.sebse.fuplanner.R;
|
||||||
|
import de.sebse.fuplanner.services.KVV.types.Resource;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by tlh on 2016/10/1 :)
|
* 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);
|
holder.ivArrow.setImageResource(R.drawable.ic_keyboard_arrow_right_black_18dp);
|
||||||
int rotateDegree = node.isExpand() ? 90 : 0;
|
int rotateDegree = node.isExpand() ? 90 : 0;
|
||||||
holder.ivArrow.setRotation(rotateDegree);
|
holder.ivArrow.setRotation(rotateDegree);
|
||||||
Dir dirNode = (Dir) node.getContent();
|
Resource.Folder dirNode = (Resource.Folder) node.getContent();
|
||||||
holder.tvName.setText(dirNode.dirName);
|
holder.tvName.setText(dirNode.getTitle());
|
||||||
if (node.isLeaf())
|
if (node.isLeaf())
|
||||||
holder.ivArrow.setVisibility(View.INVISIBLE);
|
holder.ivArrow.setVisibility(View.INVISIBLE);
|
||||||
else holder.ivArrow.setVisibility(View.VISIBLE);
|
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 android.widget.TextView;
|
||||||
|
|
||||||
import de.sebse.fuplanner.R;
|
import de.sebse.fuplanner.R;
|
||||||
|
import de.sebse.fuplanner.services.KVV.types.Resource;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by tlh on 2016/10/1 :)
|
* Created by tlh on 2016/10/1 :)
|
||||||
@@ -17,8 +18,8 @@ public class FileNodeBinder extends TreeViewBinder<FileNodeBinder.ViewHolder> {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void bindView(ViewHolder holder, int position, TreeNode node) {
|
public void bindView(ViewHolder holder, int position, TreeNode node) {
|
||||||
File fileNode = (File) node.getContent();
|
Resource.File fileNode = (Resource.File) node.getContent();
|
||||||
holder.tvName.setText(fileNode.fileName);
|
holder.tvName.setText(fileNode.getTitle());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -62,4 +62,7 @@
|
|||||||
<string name="starters">Starters</string>
|
<string name="starters">Starters</string>
|
||||||
<string name="others">Others</string>
|
<string name="others">Others</string>
|
||||||
<string name="resourcen">Resourcen</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>
|
</resources>
|
||||||
|
|||||||
Reference in New Issue
Block a user