1 package eu
.alefzero
.owncloud
;
3 import java
.net
.Inet4Address
;
4 import java
.util
.Stack
;
6 import android
.content
.Context
;
7 import android
.util
.AttributeSet
;
8 import android
.view
.View
;
9 import android
.view
.View
.OnClickListener
;
10 import android
.widget
.HorizontalScrollView
;
11 import android
.widget
.ImageView
;
12 import android
.widget
.LinearLayout
;
13 import android
.widget
.ScrollView
;
14 import android
.widget
.TextView
;
16 public class PathLayout
extends LinearLayout
{
18 private Stack
<String
> paths
;
19 ScrollView internalScroll
;
22 public PathLayout(Context context
) {
27 public PathLayout(Context context
, AttributeSet attrs
) {
28 super(context
, attrs
);
36 int start
= paths
.size()*2-2;
38 if (paths
.size() == 1) {
42 view
.removeViews(start
, count
);
46 public void push(String path
) {
47 // its weird that we cannot declare static imgView as path separator
49 ImageView iv
= new ImageView(getContext());
50 iv
.setImageDrawable(getResources().getDrawable(R
.drawable
.breadcrumb
));
51 iv
.setPadding(2, 0, 2, 0);
54 TextView tv
= new TextView(getContext());
55 tv
.setLayoutParams(getLayoutParams());
58 HorizontalScrollView hsv
= (HorizontalScrollView
) internalScroll
.getChildAt(0);
59 hsv
.smoothScrollTo(hsv
.getMaxScrollAmount()*2, 0);
63 public String
peek() {
67 private void initialize() {
68 paths
= new Stack
<String
>();
69 internalScroll
= new ScrollView(getContext());
70 internalScroll
.setFillViewport(true
);
71 HorizontalScrollView hsv
= new HorizontalScrollView(getContext());
72 hsv
.setSmoothScrollingEnabled(true
);
73 internalScroll
.addView(hsv
);
74 view
= new LinearLayout(getContext());
75 addView(internalScroll
);
77 ImageView iv
= new ImageView(getContext());
78 iv
.setImageDrawable(getResources().getDrawable(R
.drawable
.breadcrumb
));