package org.holoeverywhere.app; import android.os.Bundle; import android.view.View; import android.view.ViewGroup; import org.holoeverywhere.LayoutInflater; import org.holoeverywhere.R; import org.holoeverywhere.addon.AddonTabber; import org.holoeverywhere.addon.AddonTabber.AddonTabberCallback; import org.holoeverywhere.addon.AddonTabber.AddonTabberF; import org.holoeverywhere.app.TabSwipeController.TabInfo; /** * This fragment class implement tabs + swipe navigation pattern<br /> * <br /> * Part of HoloEverywhere */ public abstract class TabSwipeFragment extends Fragment implements TabSwipeInterface<TabInfo>, AddonTabberCallback { private AddonTabberF mTabber; protected AddonTabberF addonTabber() { if (mTabber == null) { mTabber = addon(AddonTabber.class); } return mTabber; } @Override public TabInfo addTab(CharSequence title, Class<? extends Fragment> fragmentClass) { return addonTabber().addTab(title, fragmentClass); } @Override public TabInfo addTab(CharSequence title, Class<? extends Fragment> fragmentClass, Bundle fragmentArguments) { return addonTabber().addTab(title, fragmentClass, fragmentArguments); } @Override public TabInfo addTab(int title, Class<? extends Fragment> fragmentClass) { return addonTabber().addTab(title, fragmentClass); } @Override public TabInfo addTab(int title, Class<? extends Fragment> fragmentClass, Bundle fragmentArguments) { return addonTabber().addTab(title, fragmentClass, fragmentArguments); } @Override public TabInfo addTab(TabInfo tabInfo) { return addonTabber().addTab(tabInfo); } @Override public TabInfo addTab(TabInfo tabInfo, int position) { return addonTabber().addTab(tabInfo, position); } @Override public OnTabSelectedListener getOnTabSelectedListener() { return addonTabber().getOnTabSelectedListener(); } @Override public boolean isSmoothScroll() { return addonTabber().isSmoothScroll(); } @Override public boolean isSwipeEnabled() { return addonTabber().isSwipeEnabled(); } @Override public void onAttach(Activity activity) { super.onAttach(activity); addonTabber(); } @Override public int getCurrentTab() { return addonTabber().getCurrentTab(); } @Override public TabInfo getTabAt(int position) { return addonTabber().getTabAt(position); } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { return inflater.inflate(R.layout.tab_swipe, container, false); } @Override public void reloadTabs() { addonTabber().reloadTabs(); } @Override public void removeAllTabs() { addonTabber().removeAllTabs(); } @Override public TabInfo removeTab(int position) { return addonTabber().removeTab(position); } @Override public TabInfo removeTab(TabInfo tabInfo) { return addonTabber().removeTab(tabInfo); } @Override public void setCurrentTab(int position) { addonTabber().setCurrentTab(position); } @Override public void setOnTabSelectedListener(OnTabSelectedListener onTabSelectedListener) { addonTabber().setOnTabSelectedListener(onTabSelectedListener); } @Override public void setSmoothScroll(boolean smoothScroll) { addonTabber().setSmoothScroll(smoothScroll); } @Override public void setSwipeEnabled(boolean swipeEnabled) { addonTabber().setSwipeEnabled(swipeEnabled); } }