package eu.alefzero.owncloud;
+import java.util.LinkedList;
import java.util.Stack;
import android.content.Context;
public class PathLayout extends LinearLayout {
- private Stack<String> paths;
+ private LinkedList<String> paths;
ScrollView internalScroll;
LinearLayout view;
}
public String pop() {
- if (paths.empty()) {
+ if (paths.size() == 0) {
return null;
}
int start = paths.size()*2-2;
count--;
}
view.removeViews(start, count);
- return paths.pop();
+ return paths.removeLast();
}
+ public void addPath(String path) {
+ for (String s : path.split("/")) if (s.length() != 0) push(s);
+ }
+
public void push(String path) {
// its weird that we cannot declare static imgView as path separator
- if (!paths.empty()) {
+ if (paths.size() != 0) {
ImageView iv = new ImageView(getContext());
iv.setImageDrawable(getResources().getDrawable(R.drawable.breadcrumb));
iv.setPadding(2, 0, 2, 0);
view.addView(tv);
HorizontalScrollView hsv = (HorizontalScrollView) internalScroll.getChildAt(0);
hsv.smoothScrollTo(hsv.getMaxScrollAmount()*2, 0);
- paths.push(path);
+ paths.addLast(path);
}
public String peek() {
return paths.peek();
}
+ public String getFullPath() {
+ String ret = new String();
+ for (int i = 0; i < paths.size(); i++) {
+ ret += "/" + paths.get(i);
+ }
+ return ret;
+ }
+
private void initialize() {
- paths = new Stack<String>();
+ paths = new LinkedList<String>();
internalScroll = new ScrollView(getContext());
internalScroll.setFillViewport(true);
HorizontalScrollView hsv = new HorizontalScrollView(getContext());