/**
* Initializes ViewPager, it's adapter and page indicator view
*/
private void initializePager(){
mPager = findViewById(R.id.pager);
mPagerAdapter = new DataViewerAdapter(getSupportFragmentManager());
mPagerAdapter.initialize();
mPager.setAdapter(mPagerAdapter);
PageIndicatorView pageIndicatorView = findViewById(R.id.pageIndicatorView);
pageIndicatorView.setViewPager(mPager);
}
@NonNull
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
//get initial value from pref
if (preference instanceof StylePreference) {
selectedStyle = ((StylePreference) preference).getStyle();
}
styles = getContext().getResources().getIntArray(R.array.style_values);
@SuppressLint("InflateParams")
View view = LayoutInflater.from(getContext()).inflate(R.layout.pref_dialog_style, null);
ViewPager viewPager = view.findViewById(R.id.view_pager);
viewPager.setAdapter(new ViewPagerAdapter(getContext()));
viewPager.addOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() {
@Override
public void onPageSelected(int position) {
super.onPageSelected(position);
selectedStyle = styles[position];
}
});
int currentItem = 0;
for (int i = 0; i < styles.length; i++) {
if (styles[i] == selectedStyle) {
currentItem = i;
break;
}
}
viewPager.setCurrentItem(currentItem);
PageIndicatorView indicator = view.findViewById(R.id.indicator);
indicator.setAnimationType(AnimationType.WORM);
return new AlertDialog.Builder(getContext())
.setTitle(R.string.style)
.setView(view)
.setPositiveButton(R.string.ok, this)
.setNegativeButton(R.string.cancel, null)
.create();
}