use of com.heinrichreimersoftware.materialintro.app.OnNavigationBlockedListener in project andOTP by andOTP.
the class IntroScreenActivity method onCreate.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
settings = new Settings(this);
encryptionFragment = new EncryptionFragment();
authenticationFragment = new AuthenticationFragment();
encryptionFragment.setEncryptionChangedCallback(new EncryptionFragment.EncryptionChangedCallback() {
@Override
public void onEncryptionChanged(Constants.EncryptionType newEncryptionType) {
authenticationFragment.updateEncryptionType(newEncryptionType);
}
});
setButtonBackFunction(BUTTON_BACK_FUNCTION_BACK);
addSlide(new SimpleSlide.Builder().title(R.string.intro_slide1_title).description(R.string.intro_slide1_desc).background(R.color.colorPrimary).backgroundDark(R.color.colorPrimaryDark).canGoBackward(false).scrollable(false).build());
addSlide(new FragmentSlide.Builder().background(R.color.colorPrimary).backgroundDark(R.color.colorPrimaryDark).fragment(encryptionFragment).build());
// Tell the fragment where it is located
authenticationFragment.setSlidePos(getSlides().size());
addSlide(new FragmentSlide.Builder().background(R.color.colorPrimary).backgroundDark(R.color.colorPrimaryDark).fragment(authenticationFragment).build());
addSlide(new SimpleSlide.Builder().title(R.string.intro_slide4_title).description(R.string.intro_slide4_desc).background(R.color.colorPrimary).backgroundDark(R.color.colorPrimaryDark).scrollable(false).build());
addOnNavigationBlockedListener(new OnNavigationBlockedListener() {
@Override
public void onNavigationBlocked(int position, int direction) {
if (position == 2)
authenticationFragment.flashWarning();
}
});
addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageSelected(int position) {
if (position == 3)
saveSettings();
}
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
}
use of com.heinrichreimersoftware.materialintro.app.OnNavigationBlockedListener in project material-intro by heinrichreimer.
the class MainIntroActivity method onCreate.
@Override
protected void onCreate(Bundle savedInstanceState) {
Intent intent = getIntent();
boolean fullscreen = intent.getBooleanExtra(EXTRA_FULLSCREEN, false);
boolean scrollable = intent.getBooleanExtra(EXTRA_SCROLLABLE, false);
boolean customFragments = intent.getBooleanExtra(EXTRA_CUSTOM_FRAGMENTS, true);
boolean permissions = intent.getBooleanExtra(EXTRA_PERMISSIONS, true);
boolean showBack = intent.getBooleanExtra(EXTRA_SHOW_BACK, true);
boolean showNext = intent.getBooleanExtra(EXTRA_SHOW_NEXT, true);
boolean skipEnabled = intent.getBooleanExtra(EXTRA_SKIP_ENABLED, true);
boolean finishEnabled = intent.getBooleanExtra(EXTRA_FINISH_ENABLED, true);
boolean getStartedEnabled = intent.getBooleanExtra(EXTRA_GET_STARTED_ENABLED, true);
setFullscreen(fullscreen);
super.onCreate(savedInstanceState);
setButtonBackFunction(skipEnabled ? BUTTON_BACK_FUNCTION_SKIP : BUTTON_BACK_FUNCTION_BACK);
setButtonNextFunction(finishEnabled ? BUTTON_NEXT_FUNCTION_NEXT_FINISH : BUTTON_NEXT_FUNCTION_NEXT);
setButtonBackVisible(showBack);
setButtonNextVisible(showNext);
setButtonCtaVisible(getStartedEnabled);
setButtonCtaTintMode(BUTTON_CTA_TINT_MODE_TEXT);
addSlide(new SimpleSlide.Builder().title(R.string.title_material_metaphor).description(R.string.description_material_metaphor).image(R.drawable.art_material_metaphor).background(R.color.color_material_metaphor).backgroundDark(R.color.color_dark_material_metaphor).scrollable(scrollable).build());
addSlide(new SimpleSlide.Builder().title(R.string.title_material_bold).description(R.string.description_material_bold).image(R.drawable.art_material_bold).background(R.color.color_material_bold).backgroundDark(R.color.color_dark_material_bold).scrollable(scrollable).buttonCtaLabel("Hello").buttonCtaClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast toast = Toast.makeText(MainIntroActivity.this, R.string.toast_button_cta, Toast.LENGTH_SHORT);
toast.setGravity(Gravity.CENTER, 0, 0);
toast.show();
nextSlide();
}
}).build());
addSlide(new SimpleSlide.Builder().title(R.string.title_material_motion).description(R.string.description_material_motion).image(R.drawable.art_material_motion).background(R.color.color_material_motion).backgroundDark(R.color.color_dark_material_motion).scrollable(scrollable).build());
addSlide(new SimpleSlide.Builder().title(R.string.title_material_shadow).description(R.string.description_material_shadow).image(R.drawable.art_material_shadow).background(R.color.color_material_shadow).backgroundDark(R.color.color_dark_material_shadow).scrollable(scrollable).build());
final Slide permissionsSlide;
if (permissions) {
permissionsSlide = new SimpleSlide.Builder().title(R.string.title_permissions).description(R.string.description_permissions).background(R.color.color_permissions).backgroundDark(R.color.color_dark_permissions).scrollable(scrollable).permissions(new String[] { Manifest.permission.CAMERA, Manifest.permission.WRITE_EXTERNAL_STORAGE }).build();
addSlide(permissionsSlide);
} else {
permissionsSlide = null;
}
final Slide loginSlide;
if (customFragments) {
loginSlide = new FragmentSlide.Builder().background(R.color.color_custom_fragment_1).backgroundDark(R.color.color_dark_custom_fragment_1).fragment(LoginFragment.newInstance()).build();
addSlide(loginSlide);
addSlide(new FragmentSlide.Builder().background(R.color.color_custom_fragment_2).backgroundDark(R.color.color_dark_custom_fragment_2).fragment(R.layout.fragment_custom, R.style.AppThemeDark).build());
} else {
loginSlide = null;
}
// Feel free to add a navigation policy to define when users can go forward/backward
/*
setNavigationPolicy(new NavigationPolicy() {
@Override
public boolean canGoForward(int position) {
return true;
}
@Override
public boolean canGoBackward(int position) {
return true;
}
});
*/
addOnNavigationBlockedListener(new OnNavigationBlockedListener() {
@Override
public void onNavigationBlocked(int position, int direction) {
View contentView = findViewById(android.R.id.content);
if (contentView != null) {
Slide slide = getSlide(position);
if (slide == permissionsSlide) {
Snackbar.make(contentView, R.string.label_grant_permissions, Snackbar.LENGTH_LONG).show();
} else if (slide == loginSlide) {
Snackbar.make(contentView, R.string.label_fill_out_form, Snackbar.LENGTH_LONG).show();
}
}
}
});
// Feel free to add and remove page change listeners
/*
addOnPageChangeListener(new ViewPager.OnPageChangeListener(){
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
*/
}
Aggregations