Bug 1075576 - Change the TabsLayoutAdapter API to use TabsLayoutItemView instead of the generic View (r=lucasr)
--- a/mobile/android/base/tabs/TabsGridLayout.java
+++ b/mobile/android/base/tabs/TabsGridLayout.java
@@ -83,27 +83,26 @@ class TabsGridLayout extends GridView
TabsLayoutItemView tab = (TabsLayoutItemView) v;
Tabs.getInstance().selectTab(tab.id);
autoHidePanel();
}
};
}
@Override
- View newView(int position, ViewGroup parent) {
- final TabsLayoutItemView item = (TabsLayoutItemView) super.newView(position, parent);
+ TabsLayoutItemView newView(int position, ViewGroup parent) {
+ final TabsLayoutItemView item = super.newView(position, parent);
item.setOnClickListener(mSelectClickListener);
item.setCloseOnClickListener(mCloseClickListener);
return item;
}
@Override
- public void bindView(View view, Tab tab) {
+ public void bindView(TabsLayoutItemView view, Tab tab) {
super.bindView(view, tab);
- ((TabsLayoutItemView) view).close.setVisibility(View.VISIBLE);
// If we're recycling this view, there's a chance it was transformed during
// the close animation. Remove any of those properties.
resetTransforms(view);
}
}
@Override
--- a/mobile/android/base/tabs/TabsLayoutAdapter.java
+++ b/mobile/android/base/tabs/TabsLayoutAdapter.java
@@ -65,28 +65,28 @@ public class TabsLayoutAdapter extends B
final int getPositionForTab(Tab tab) {
if (mTabs == null || tab == null)
return -1;
return mTabs.indexOf(tab);
}
@Override
- final public View getView(int position, View convertView, ViewGroup parent) {
- final View view;
+ final public TabsLayoutItemView getView(int position, View convertView, ViewGroup parent) {
+ final TabsLayoutItemView view;
if (convertView == null) {
view = newView(position, parent);
} else {
- view = convertView;
+ view = (TabsLayoutItemView) convertView;
}
final Tab tab = mTabs.get(position);
bindView(view, tab);
return view;
}
- View newView(int position, ViewGroup parent) {
- return mInflater.inflate(R.layout.tabs_layout_item_view, parent, false);
+ TabsLayoutItemView newView(int position, ViewGroup parent) {
+ return (TabsLayoutItemView) mInflater.inflate(R.layout.tabs_layout_item_view, parent, false);
}
- void bindView(View view, Tab tab) {
- ((TabsLayoutItemView) view).assignValues(tab);
+ void bindView(TabsLayoutItemView view, Tab tab) {
+ view.assignValues(tab);
}
}
\ No newline at end of file
--- a/mobile/android/base/tabs/TabsListLayout.java
+++ b/mobile/android/base/tabs/TabsListLayout.java
@@ -99,26 +99,26 @@ class TabsListLayout extends TwoWayView
TabsLayoutItemView item = (TabsLayoutItemView) v.getTag();
final int pos = (isVertical() ? item.getWidth() : 0 - item.getHeight());
animateClose(item, pos);
}
};
}
@Override
- public View newView(int position, ViewGroup parent) {
- TabsLayoutItemView item = (TabsLayoutItemView) super.newView(position, parent);
+ public TabsLayoutItemView newView(int position, ViewGroup parent) {
+ TabsLayoutItemView item = super.newView(position, parent);
item.setCloseOnClickListener(mCloseOnClickListener);
return item;
}
@Override
- public void bindView(View view, Tab tab) {
+ public void bindView(TabsLayoutItemView view, Tab tab) {
super.bindView(view, tab);
// If we're recycling this view, there's a chance it was transformed during
// the close animation. Remove any of those properties.
resetTransforms(view);
}
}