Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5b124222 authored by Josh Guilfoyle's avatar Josh Guilfoyle
Browse files

Renamed Filmstrip to CarouselWidget to make room for the red line compliant Filmstrip widget.

parent ce30a6eb
Loading
Loading
Loading
Loading
+10 −10
Original line number Diff line number Diff line
@@ -41,7 +41,7 @@ public class Carousel extends TabHost implements OnGestureListener {
	public class CarouselViewAdapter extends BaseAdapter {

		public int getCount() {
			return mTabWidget.getFilmstrip().getFilmstripSize();
			return mTabWidget.getCarouselWidget().getCarouselWidgetSize();
		}

		public Object getItem(int position) {
@@ -53,10 +53,10 @@ public class Carousel extends TabHost implements OnGestureListener {
		}

		public View getView(int position, View convertView, ViewGroup parent) {
			String name = mTabWidget.getFilmstrip().getFilmstripItem(position)
			String name = mTabWidget.getCarouselWidget().getCarouselWidgetItem(position)
					.getName();
			Intent intent = mTabWidget.getFilmstrip()
					.getFilmstripItem(position).getIntent();
			Intent intent = mTabWidget.getCarouselWidget()
					.getCarouselWidgetItem(position).getIntent();

			Window window = mLocalActivityManager.startActivity(name, intent);
			View windowDecor = (window != null) ? window.getDecorView() : null;
@@ -65,7 +65,7 @@ public class Carousel extends TabHost implements OnGestureListener {
		}
		
		public View getView(int position) {
	        String name = mTabWidget.getFilmstrip().getFilmstripItem(position)
			String name = mTabWidget.getCarouselWidget().getCarouselWidgetItem(position)
	                    .getName();
	       
	            Activity activity = mLocalActivityManager.getActivity(name);
@@ -109,7 +109,7 @@ public class Carousel extends TabHost implements OnGestureListener {
		super.addTab(tabSpec);

		if (mTabWidget != null) {
			Filmstrip filmstrip = mTabWidget.getFilmstrip();
			CarouselWidget filmstrip = mTabWidget.getCarouselWidget();

			if (filmstrip != null) {
				
@@ -174,7 +174,7 @@ public class Carousel extends TabHost implements OnGestureListener {
				newSelectedPosition += 1;
			}
			
			int size = mTabWidget.getFilmstrip().getFilmstripSize();
			int size = mTabWidget.getCarouselWidget().getCarouselWidgetSize();
			
			if (newSelectedPosition < 0) {
				newSelectedPosition = 0;
@@ -187,7 +187,7 @@ public class Carousel extends TabHost implements OnGestureListener {
			}
			
			mCarouselTabContentLayout.setSelection(newSelectedPosition, true);
			mTabWidget.setFilmstripSelection(newSelectedPosition);
			mTabWidget.setCarouselWidgetSelection(newSelectedPosition);
			
			return true;
		}
@@ -231,13 +231,13 @@ public class Carousel extends TabHost implements OnGestureListener {
		
		protected void dispatchKeyUpEvent() {
		   
			mTabWidget.getFilmstrip().requestFocus();
			mTabWidget.getCarouselWidget().requestFocus();
		}
		
		public void setSelection(int index) {
             
            setCurrentTab(index);
            mTabWidget.getFilmstrip().setFilmstripSelection(index);
			mTabWidget.getCarouselWidget().setCarouselWidgetSelection(index);
            
            mCarouselTabContentLayout.setSelection(index, false);
        }
+13 −13
Original line number Diff line number Diff line
@@ -11,7 +11,7 @@ import android.widget.AdapterView.OnItemSelectedListener;

public class CarouselTabWidget extends TabWidget {

	private Filmstrip mFilmstrip;
	private CarouselWidget mWidget;
	private TabHost mTabHost;

	public CarouselTabWidget(Context context) {
@@ -24,11 +24,11 @@ public class CarouselTabWidget extends TabWidget {

	public CarouselTabWidget(Context context, AttributeSet attrs, int defStyle) {
		super(context, attrs, defStyle);
		mFilmstrip = new Filmstrip(context);
		mWidget = new CarouselWidget(context);
		
		this.addView(mFilmstrip, -1);
		this.addView(mWidget, -1);

		mFilmstrip
		mWidget
				.setOnItemSelectedListener(new CarouselTabWidgetOnItemSelectedListener());
		
	}
@@ -41,10 +41,10 @@ public class CarouselTabWidget extends TabWidget {


	public class CarouselTabWidgetOnItemSelectedListener extends
	Filmstrip.FilmstripOnItemSelectedListener {
	CarouselWidget.CarouselWidgetOnItemSelectedListener {

		CarouselTabWidgetOnItemSelectedListener() {
			mFilmstrip.super();
			mWidget.super();
		}

		public void onItemSelected(AdapterView<?> parent, View view,
@@ -67,16 +67,16 @@ public class CarouselTabWidget extends TabWidget {
		mTabHost = aTabHost;
	}

	public Filmstrip getFilmstrip() {
		return mFilmstrip;
	public CarouselWidget getCarouselWidget() {
		return mWidget;
	}
	
	public int getFilmstripSelection() {
		return mFilmstrip.getFilmstripSelection();
		return mWidget.getCarouselWidgetSelection();
	}
	
	public void setOnItemSelectedListener(OnItemSelectedListener l){
		mFilmstrip.setOnItemSelectedListener(l);
		mWidget.setOnItemSelectedListener(l);
	}
	
	@Override
@@ -90,7 +90,7 @@ public class CarouselTabWidget extends TabWidget {
				View aChild = getChildAt(i);
				
				if (aChild == v) {
					mFilmstrip.requestFocus();
					mWidget.requestFocus();
					return;
				}
			}
@@ -99,8 +99,8 @@ public class CarouselTabWidget extends TabWidget {
		 super.onFocusChange(v, hasFocus);
	 }

	public void setFilmstripSelection(int position) {
		mFilmstrip.setFilmstripSelection(position);
	public void setCarouselWidgetSelection(int position) {
		mWidget.setCarouselWidgetSelection(position);
	}
	
}
+67 −67
Original line number Diff line number Diff line
@@ -26,7 +26,7 @@ import android.widget.AdapterView.OnItemSelectedListener;

import com.android.internal.R;

public class Filmstrip extends RelativeLayout {
class CarouselWidget extends RelativeLayout {

	// The max label length is defined in the style guide
	private static final int MAX_LABEL_LENGTH = 16;
@@ -52,7 +52,7 @@ public class Filmstrip extends RelativeLayout {
			Gallery.LayoutParams.WRAP_CONTENT,
			Gallery.LayoutParams.FILL_PARENT);

	 class FilmstripItem extends Object {
	 class CarouselWidgetItem extends Object {

		private Context mContext;
		private String mName;
@@ -62,7 +62,7 @@ public class Filmstrip extends RelativeLayout {
		private Drawable mImageDrawable;
		private ImageView mImageView;

		private FilmstripItem(Context context, String name, Intent intent) {
		private CarouselWidgetItem(Context context, String name, Intent intent) {
			mContext = context;
			mIntent = intent;
			mTitleView = null;
@@ -79,7 +79,7 @@ public class Filmstrip extends RelativeLayout {

		}

		private FilmstripItem(Context context, Drawable imageResource) {
		private CarouselWidgetItem(Context context, Drawable imageResource) {

			mContext = context;

@@ -133,10 +133,10 @@ public class Filmstrip extends RelativeLayout {
		}
	}

	private class FilmstripTitleAdapter extends BaseAdapter {
	private class CarouselWidgetTitleAdapter extends BaseAdapter {

		public int getCount() {
			return getFilmstripSize();
			return getCarouselWidgetSize();
		}

		public Object getItem(int position) {
@@ -148,12 +148,12 @@ public class Filmstrip extends RelativeLayout {
		}

		public View getView(int position, View convertView, ViewGroup parent) {
			View view = mFilmstripItems.get(position).getView(position);
			View view = mCarouselWidgetItems.get(position).getView(position);

			if (view instanceof TextView) {
				TextView textView = (TextView) view;
				 textView
				 .setTextSize((position != mFilmstripSelection) ?
				 .setTextSize((position != mCarouselWidgetSelection) ?
				 TITLE_TEXT_SIZE_UNSELECTED
				 : TITLE_TEXT_SIZE_SELECTED);

@@ -166,20 +166,20 @@ public class Filmstrip extends RelativeLayout {
		}
	}

	public class FilmstripOnItemSelectedListener implements
	public class CarouselWidgetOnItemSelectedListener implements
			OnItemSelectedListener {

		public void onItemSelected(AdapterView<?> parent, View view,
				int position, long id) {
			if ((position < 0) || (mFilmstripItems.size() <= position))
			if ((position < 0) || (mCarouselWidgetItems.size() <= position))
				return;

			if ((position < 0) || (mFilmstripItems.size() <= position))
			if ((position < 0) || (mCarouselWidgetItems.size() <= position))
				return;
			
			if (mFilmstripSelection != -1) {
			if (mCarouselWidgetSelection != -1) {
				View oldView = parent
						.findViewById(mFilmstripSelection);
						.findViewById(mCarouselWidgetSelection);
				
				if (oldView instanceof TextView) {
					TextView oldTextView = (TextView) oldView;
@@ -207,7 +207,7 @@ public class Filmstrip extends RelativeLayout {
				}
			}
			
			mFilmstripSelection = position;
			mCarouselWidgetSelection = position;
			
			if (view instanceof TextView) {
				TextView newTextView = (TextView) view;
@@ -239,26 +239,26 @@ public class Filmstrip extends RelativeLayout {
	}


	private ArrayList<FilmstripItem> mFilmstripItems;
	private FilmstripTitleAdapter mFilmstripTitleAdapter;
	private FilmstripOnItemSelectedListener mFilmstripOnItemSelectedListener;
	private int mFilmstripSelection = -1;
	private ArrayList<CarouselWidgetItem> mCarouselWidgetItems;
	private CarouselWidgetTitleAdapter mCarouselWidgetTitleAdapter;
	private CarouselWidgetOnItemSelectedListener mCarouselWidgetOnItemSelectedListener;
	private int mCarouselWidgetSelection = -1;
	
	private Drawable mFrameBackground;
	private Drawable mFrameSelectedBackground;
	private Gallery mFilmstripSelector;
	private Gallery mCarouselWidgetSelector;
	private ImageView mLeftArrow;
	private ImageView mRightArrow;
	private boolean isPortrait;
	public Filmstrip(Context context) {
	public CarouselWidget(Context context) {
		this(context, null);
	}
	
	public Filmstrip(Context context, AttributeSet attrs) {
		this(context, attrs, R.attr.filmstripStyle);
	public CarouselWidget(Context context, AttributeSet attrs) {
		this(context, attrs, R.attr.carouselWidgetStyle);
	}
	
	public Filmstrip(Context context, AttributeSet attrs, int defStyle) {
	public CarouselWidget(Context context, AttributeSet attrs, int defStyle) {
		super(context, attrs, defStyle);
		setFocusable(true);
		setFocusableInTouchMode(true);
@@ -268,17 +268,17 @@ public class Filmstrip extends RelativeLayout {
		isPortrait = mOrientation == Configuration.ORIENTATION_PORTRAIT? true : false;
		//Fix End
		TypedArray a = 
            context.obtainStyledAttributes(attrs, R.styleable.Filmstrip, defStyle, 0);
			context.obtainStyledAttributes(attrs, R.styleable.CarouselWidget, defStyle, 0);
				
		mFilmstripSelector = new Gallery(context);
		mCarouselWidgetSelector = new Gallery(context);
		mLeftArrow = new ImageView(context);
		mRightArrow = new ImageView(context);
		mFilmstripItems = new ArrayList<FilmstripItem>();
		mFilmstripTitleAdapter = new FilmstripTitleAdapter();
		mFilmstripOnItemSelectedListener = new FilmstripOnItemSelectedListener();
		mCarouselWidgetItems = new ArrayList<CarouselWidgetItem>();
		mCarouselWidgetTitleAdapter = new CarouselWidgetTitleAdapter();
		mCarouselWidgetOnItemSelectedListener = new CarouselWidgetOnItemSelectedListener();
		
		mFrameBackground = a.getDrawable(R.styleable.Filmstrip_frameBackground);		
		mFrameSelectedBackground = a.getDrawable(R.styleable.Filmstrip_frameSelectedBackground);
		mFrameBackground = a.getDrawable(R.styleable.CarouselWidget_frameBackground);		
		mFrameSelectedBackground = a.getDrawable(R.styleable.CarouselWidget_frameSelectedBackground);
		
		initWidget(a);
		
@@ -286,7 +286,7 @@ public class Filmstrip extends RelativeLayout {
	}

	public void setOnItemSelectedListener(OnItemSelectedListener l){
		mFilmstripSelector.setOnItemSelectedListener(l);
		mCarouselWidgetSelector.setOnItemSelectedListener(l);
		
	}
	
@@ -294,7 +294,7 @@ public class Filmstrip extends RelativeLayout {
	private void initWidget(TypedArray a) {
		
		
		setOnItemSelectedListener(new FilmstripOnItemSelectedListener());
		setOnItemSelectedListener(new CarouselWidgetOnItemSelectedListener());
		
		RelativeLayout.LayoutParams rowLayoutParams = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT, 50);
		rowLayoutParams.addRule(RelativeLayout.ALIGN_PARENT_TOP);
@@ -302,16 +302,16 @@ public class Filmstrip extends RelativeLayout {
		this.setLayoutParams(rowLayoutParams);
		
		
		if (mFilmstripSelector != null) {
			mFilmstripSelector.setAdapter(getFilmstripTitleAdapter());
		if (mCarouselWidgetSelector != null) {
			mCarouselWidgetSelector.setAdapter(getCarouselWidgetTitleAdapter());
			
			mFilmstripSelector.setLayoutParams(new Gallery.LayoutParams(Gallery.LayoutParams.FILL_PARENT, Gallery.LayoutParams.FILL_PARENT));
			mCarouselWidgetSelector.setLayoutParams(new Gallery.LayoutParams(Gallery.LayoutParams.FILL_PARENT, Gallery.LayoutParams.FILL_PARENT));
		}
		
		mLeftArrow.setOnClickListener(new View.OnClickListener() {
			public void onClick(View v) {
				
				int index = mFilmstripSelector.getSelectedItemPosition();
				int index = mCarouselWidgetSelector.getSelectedItemPosition();
				
				index --;
				
@@ -319,7 +319,7 @@ public class Filmstrip extends RelativeLayout {
					index = 0;
				}
				
				mFilmstripSelector.setSelection(index);
				mCarouselWidgetSelector.setSelection(index);
				
			
			}
@@ -328,38 +328,38 @@ public class Filmstrip extends RelativeLayout {
		mRightArrow.setOnClickListener(new View.OnClickListener() {
			public void onClick(View v) {

				int index = mFilmstripSelector.getSelectedItemPosition();
				int index = mCarouselWidgetSelector.getSelectedItemPosition();
				
				index ++;
				
				int size = mFilmstripSelector.getCount();
				int size = mCarouselWidgetSelector.getCount();
				
				if (index >= size) {
					index = size -1 ;
				}
				
				mFilmstripSelector.setSelection(index);
				mCarouselWidgetSelector.setSelection(index);
				
			}
		});
		//According to Red Line document there should be margin of 21px from the edge 
		mFilmstripSelector.setPadding(21, 0, 21, 0);
		mCarouselWidgetSelector.setPadding(21, 0, 21, 0);
		//Space between the two filmstrip elements should be 6px
		if (isPortrait) {
			mFilmstripSelector.setSpacing(6);
			mCarouselWidgetSelector.setSpacing(6);
		} else {
			mFilmstripSelector.setSpacing(8);
			mCarouselWidgetSelector.setSpacing(8);
		}
				
		mFilmstripSelector.setAnimationDuration(500);
		mCarouselWidgetSelector.setAnimationDuration(500);
		
		this.addView(mFilmstripSelector, -1);
		this.addView(mCarouselWidgetSelector, -1);
		
		RelativeLayout.LayoutParams leftLayoutParams = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.FILL_PARENT);
		leftLayoutParams.addRule(RelativeLayout.ALIGN_PARENT_LEFT);
		leftLayoutParams.addRule(RelativeLayout.CENTER_VERTICAL);
		
		Drawable leftImageDrawable = a.getDrawable(R.styleable.Filmstrip_previousButton);
		Drawable leftImageDrawable = a.getDrawable(R.styleable.CarouselWidget_previousButton);
		mLeftArrow.setLayoutParams(leftLayoutParams);
		mLeftArrow.setImageDrawable(leftImageDrawable);
		
@@ -369,25 +369,25 @@ public class Filmstrip extends RelativeLayout {
		rightLayoutParams.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
		rightLayoutParams.addRule(RelativeLayout.CENTER_VERTICAL);
		
		Drawable rightImageDrawable = a.getDrawable(R.styleable.Filmstrip_nextButton);
		Drawable rightImageDrawable = a.getDrawable(R.styleable.CarouselWidget_nextButton);
		mRightArrow.setLayoutParams(rightLayoutParams);
		mRightArrow.setImageDrawable(rightImageDrawable);
		
		this.addView(mRightArrow, -1);
	}
	
	public FilmstripTitleAdapter getFilmstripTitleAdapter() {
		return mFilmstripTitleAdapter;
	public CarouselWidgetTitleAdapter getCarouselWidgetTitleAdapter() {
		return mCarouselWidgetTitleAdapter;
	}
	
	public FilmstripOnItemSelectedListener getFilmstripOnItemSelectedListener() {
		return mFilmstripOnItemSelectedListener;
	public CarouselWidgetOnItemSelectedListener getCarouselWidgetOnItemSelectedListener() {
		return mCarouselWidgetOnItemSelectedListener;
	}

	public void add(Context context, String name, Intent intent) {
			
		mFilmstripItems.add(new FilmstripItem(context, name, intent));
		mFilmstripTitleAdapter.notifyDataSetChanged();
		mCarouselWidgetItems.add(new CarouselWidgetItem(context, name, intent));
		mCarouselWidgetTitleAdapter.notifyDataSetChanged();
		
		updateArrowStates();
		
@@ -395,8 +395,8 @@ public class Filmstrip extends RelativeLayout {

	public void add(Context context, Drawable imageResource) {
		
		mFilmstripItems.add(new FilmstripItem(context, imageResource));
		mFilmstripTitleAdapter.notifyDataSetChanged();
		mCarouselWidgetItems.add(new CarouselWidgetItem(context, imageResource));
		mCarouselWidgetTitleAdapter.notifyDataSetChanged();
		
		updateArrowStates();
	}
@@ -406,7 +406,7 @@ public class Filmstrip extends RelativeLayout {
	private void setBackgroundResource(int position, View view) {
		Drawable drawable = mFrameBackground;

		if (position == mFilmstripSelection) {
		if (position == mCarouselWidgetSelection) {
			drawable = mFrameSelectedBackground;
		}
		
@@ -414,37 +414,37 @@ public class Filmstrip extends RelativeLayout {
	}
	
	
	public void setFilmstripSelection(int itemIndex) {
		mFilmstripSelector.setSelection(itemIndex);
	public void setCarouselWidgetSelection(int itemIndex) {
		mCarouselWidgetSelector.setSelection(itemIndex);
		updateArrowStates();
	}

	private void updateArrowStates() {
		mLeftArrow
		.setVisibility((mFilmstripSelector.getSelectedItemPosition() > 0) ? View.VISIBLE
		.setVisibility((mCarouselWidgetSelector.getSelectedItemPosition() > 0) ? View.VISIBLE
				: View.INVISIBLE);
		mRightArrow
		.setVisibility((mFilmstripSelector.getSelectedItemPosition() < (mFilmstripSelector
		.setVisibility((mCarouselWidgetSelector.getSelectedItemPosition() < (mCarouselWidgetSelector
				.getCount() - 1)) ? View.VISIBLE : View.INVISIBLE);
	}

	public int getFilmstripSize() {
		return mFilmstripItems.size();
	public int getCarouselWidgetSize() {
		return mCarouselWidgetItems.size();
	}

	public int getFilmstripSelection() {
		return mFilmstripSelection;
	public int getCarouselWidgetSelection() {
		return mCarouselWidgetSelection;
	}

	public FilmstripItem getFilmstripItem(int position) {
		return mFilmstripItems.get(position);
	public CarouselWidgetItem getCarouselWidgetItem(int position) {
		return mCarouselWidgetItems.get(position);
	}
	

	// Dispatch LEFT/RIGTH key to gallery to move gallery items
	@Override
	public boolean dispatchKeyEvent(KeyEvent event) {
		return mFilmstripSelector.dispatchKeyEvent(event);
		return mCarouselWidgetSelector.dispatchKeyEvent(event);
	}
	

+3 −3
Original line number Diff line number Diff line
@@ -358,8 +358,8 @@
        <attr name="horizontalScrollViewStyle" format="reference" />
        <!-- Default Spinner style. -->
        <attr name="spinnerStyle" format="reference" />
        <!-- Default Filmstrip style. -->
        <attr name="filmstripStyle" format="reference" />
        <!-- Default carouselWidget style. -->
        <attr name="carouselWidgetStyle" format="reference" />
        <!-- Default Star style. -->
        <attr name="starStyle" format="reference" />
        <!-- Default TabWidget style. -->
@@ -2093,7 +2093,7 @@
        <!-- The prompt to display when the spinner's dialog is shown. -->
        <attr name="prompt" format="reference" />
    </declare-styleable>
    <declare-styleable name="Filmstrip">
    <declare-styleable name="CarouselWidget">
        <attr name="previousButton" format="reference|color" />
        <attr name="nextButton" format="reference|color" />
        <attr name="frameBackground" format="reference|color" />
+1 −1
Original line number Diff line number Diff line
@@ -376,7 +376,7 @@
        <item name="android:clickable">true</item>
    </style>

    <style name="Widget.Filmstrip">
    <style name="Widget.CarouselWidget">
        <item name="android:background">@color/black</item>
        <item name="android:gravity">center_vertical</item>
        <item name="android:previousButton">@drawable/ic_media_play_reverse</item>
Loading