package com.numix.calculator; import java.util.List; import android.os.Parcelable; import android.support.v4.view.PagerAdapter; import android.view.View; import android.view.ViewGroup; import com.numix.calculator.BaseModule.Mode; public abstract class CalculatorPageAdapter extends PagerAdapter { @Override public void startUpdate(View container) {} public abstract View getViewAt(int position); @Override public Object instantiateItem(View container, int position) { View v = getViewAt(position); ((ViewGroup) container).addView(v); return v; } @Override public void destroyItem(View container, int position, Object object) { ((ViewGroup) container).removeView((View) object); } @Override public void finishUpdate(View container) {} @Override public boolean isViewFromObject(View view, Object object) { return view == object; } @Override public Parcelable saveState() { return null; } @Override public void restoreState(Parcelable state, ClassLoader loader) {} protected void applyBannedResourcesByPage(Logic logic, ViewGroup page, Mode baseMode) { // Enable for(Mode key : logic.mBaseModule.mBannedResources.keySet()) { if(baseMode.compareTo(key) != 0) { List<Integer> resources = logic.mBaseModule.mBannedResources.get(key); for(Integer resource : resources) { final int resId = resource.intValue(); View v = page.findViewById(resId); if(v != null) v.setEnabled(true); } } } // Disable List<Integer> resources = logic.mBaseModule.mBannedResources.get(baseMode); for(Integer resource : resources) { final int resId = resource.intValue(); View v = page.findViewById(resId); if(v != null) v.setEnabled(false); } } }