package com.duckduckgo.mobile.android.adapters;
import android.content.Context;
import android.support.v4.view.PagerAdapter;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import com.duckduckgo.mobile.android.R;
import com.duckduckgo.mobile.android.util.OnboardingPageConfiguration;
/**
* Created by fgei on 4/11/17.
*/
public class OnboardingBannerAdapter extends PagerAdapter {
private final OnboardingPageConfiguration[] items;
public OnboardingBannerAdapter() {
items = new OnboardingPageConfiguration[] {
OnboardingPageConfiguration.getPrivacy(),
OnboardingPageConfiguration.getNoAds(),
OnboardingPageConfiguration.getNoTracking(),
OnboardingPageConfiguration.getRight()
};
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
OnboardingPageConfiguration onboardingPageConfiguration = getItem(position);
LayoutInflater inflater = LayoutInflater.from(container.getContext());
ViewGroup root = (ViewGroup) inflater.inflate(R.layout.viewholder_onboarding, container, false);
populate(root, onboardingPageConfiguration);
container.addView(root);
return root;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
container.removeView((View) object);
}
@Override
public boolean isViewFromObject(View view, Object o) {
return view == o;
}
@Override
public int getCount() {
return items.length;
}
public OnboardingPageConfiguration getItem(int position) {
return items[position];
}
private void populate(View rootView, OnboardingPageConfiguration onboardingPageConfiguration) {
Context context = rootView.getContext();
TextView titleTextView = (TextView) rootView.findViewById(R.id.title_text_view);
String title = context.getString(onboardingPageConfiguration.title).replaceAll("\\n", " ");
titleTextView.setText(title);
TextView subtitleTextView = (TextView) rootView.findViewById(R.id.subtitle_text_view);
String subtitle = context.getString(onboardingPageConfiguration.subtitle).replaceAll("\\n", " ");
subtitleTextView.setText(subtitle);
ImageView iconImageView = (ImageView) rootView.findViewById(R.id.icon_image_view);
iconImageView.setImageResource(onboardingPageConfiguration.icon);
}
}