Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,7 @@ public class IntroActivity extends MaterialIntroActivity
- ```setSkipButtonVisible()``` ⇾ show skip button instead of back button on the left bottom of screen
- ```hideBackButton()``` ⇾ hides any button on the left bottom of screen
- ```enableLastSlideAlphaExitTransition()``` ⇾ set if the last slide should disapear with alpha hiding effect
- ```onLastSlidePassed``` ⇾ Override in order to perform some action after passing last slide

#### Customizing view animations:

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -74,8 +74,7 @@ public void onClick(View v) {
}

@Override
public void onFinish() {
super.onFinish();
public void onLastSlidePassed() {
Toast.makeText(this, "Try this library in your project! :)", Toast.LENGTH_SHORT).show();
}
}
2 changes: 1 addition & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ buildscript {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.2.2'
classpath 'com.android.tools.build:gradle:2.2.3'
classpath 'com.novoda:bintray-release:0.3.4'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import android.content.res.ColorStateList;
import android.os.Build;
import android.os.Bundle;
import android.support.annotation.CallSuper;
import android.support.annotation.ColorInt;
import android.support.annotation.ColorRes;
import android.support.annotation.NonNull;
Expand Down Expand Up @@ -42,6 +43,7 @@

import static android.view.View.GONE;

@SuppressWarnings("unused")
public abstract class MaterialIntroActivity extends AppCompatActivity {
private SwipeableViewPager viewPager;
private InkPageIndicator pageIndicator;
Expand Down Expand Up @@ -70,6 +72,7 @@ public abstract class MaterialIntroActivity extends AppCompatActivity {
private SparseArray<MessageButtonBehaviour> messageButtonBehaviours = new SparseArray<>();

@Override
@CallSuper
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

probably we don't need it because onCreate has @callsuper already.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I checked in IntroActivity and without @callsuper annotation, a developer isn't forced to call super.onCreate(), so I have added that in MaterialIntroActivity.

protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

Expand Down Expand Up @@ -174,7 +177,6 @@ public void showPermissionsNotGrantedError() {
*
* @param slideFragment Fragment to add
*/
@SuppressWarnings("unused")
public void addSlide(SlideFragment slideFragment) {
adapter.addItem(slideFragment);
}
Expand All @@ -185,7 +187,6 @@ public void addSlide(SlideFragment slideFragment) {
* @param slideFragment Fragment to add
* @param messageButtonBehaviour Add behaviour for message button
*/
@SuppressWarnings("unused")
public void addSlide(SlideFragment slideFragment, MessageButtonBehaviour messageButtonBehaviour) {
adapter.addItem(slideFragment);
messageButtonBehaviours.put(adapter.getLastItemPosition(), messageButtonBehaviour);
Expand All @@ -194,7 +195,6 @@ public void addSlide(SlideFragment slideFragment, MessageButtonBehaviour message
/**
* Set skip button instead of back button
*/
@SuppressWarnings("unused")
public void setSkipButtonVisible() {
backButton.setVisibility(GONE);

Expand Down Expand Up @@ -232,7 +232,6 @@ public void onClick(View v) {
/**
* Hides any back button
*/
@SuppressWarnings("unused")
public void hideBackButton() {
backButton.setVisibility(View.INVISIBLE);
skipButton.setVisibility(View.GONE);
Expand All @@ -252,7 +251,6 @@ public ViewTranslationWrapper getNextButtonTranslationWrapper() {
*
* @return ViewTranslationWrapper
*/
@SuppressWarnings("unused")
public ViewTranslationWrapper getBackButtonTranslationWrapper() {
return backButtonTranslationWrapper;
}
Expand All @@ -262,7 +260,6 @@ public ViewTranslationWrapper getBackButtonTranslationWrapper() {
*
* @return ViewTranslationWrapper
*/
@SuppressWarnings("unused")
public ViewTranslationWrapper getPageIndicatorTranslationWrapper() {
return pageIndicatorTranslationWrapper;
}
Expand All @@ -272,7 +269,6 @@ public ViewTranslationWrapper getPageIndicatorTranslationWrapper() {
*
* @return ViewTranslationWrapper
*/
@SuppressWarnings("unused")
public ViewTranslationWrapper getViewPagerTranslationWrapper() {
return viewPagerTranslationWrapper;
}
Expand All @@ -282,7 +278,6 @@ public ViewTranslationWrapper getViewPagerTranslationWrapper() {
*
* @return ViewTranslationWrapper
*/
@SuppressWarnings("unused")
public ViewTranslationWrapper getSkipButtonTranslationWrapper() {
return skipButtonTranslationWrapper;
}
Expand All @@ -292,7 +287,6 @@ public ViewTranslationWrapper getSkipButtonTranslationWrapper() {
*
* @param enableAlphaExitTransition should enable alpha exit transition
*/
@SuppressWarnings("unused")
public void enableLastSlideAlphaExitTransition(boolean enableAlphaExitTransition) {
viewPager.alphaExitTransitionEnabled(enableAlphaExitTransition);
}
Expand All @@ -307,9 +301,12 @@ public void showMessage(String message) {
}

/**
* Override to execute this method on finish intro activity
* Override in order to perform some action after passing last slide
*/
public void onFinish() {
public void onLastSlidePassed()
{
// This method is intentionally empty, because we didn't want to make this method
// abstract as it would force user to implement this, even if he wouldn't like to.
}

private void initOnPageChangeListeners() {
Expand All @@ -322,7 +319,7 @@ private void initOnPageChangeListeners() {

overScrollLayout.registerFinishListener(new IFinishListener() {
@Override
public void doOnFinish() {
public void onFinish() {
performFinish();
}
});
Expand Down Expand Up @@ -389,7 +386,7 @@ public void onClick(View v) {
}

private void performFinish() {
onFinish();
onLastSlidePassed();
finish();
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

import android.content.pm.PackageManager;
import android.os.Bundle;
import android.support.annotation.ColorRes;
import android.support.annotation.DrawableRes;
import android.support.annotation.Nullable;
import android.support.v4.app.ActivityCompat;
import android.support.v4.content.ContextCompat;
Expand All @@ -27,9 +29,15 @@ public class SlideFragment extends ParallaxFragment {
private static final String IMAGE = "image";
private static final int PERMISSIONS_REQUEST_CODE = 15621;

@ColorRes
private int backgroundColor;

@ColorRes
private int buttonsColor;

@DrawableRes
private int image;

private String title;
private String description;
private String[] neededPermissions;
Expand All @@ -43,13 +51,13 @@ public static SlideFragment createInstance(SlideFragmentBuilder builder) {
SlideFragment slideFragment = new SlideFragment();

Bundle bundle = new Bundle();
bundle.putInt(BACKGROUND_COLOR, builder.backgroundColor);
bundle.putInt(BUTTONS_COLOR, builder.buttonsColor);
bundle.putInt(IMAGE, builder.image);
bundle.putString(TITLE, builder.title);
bundle.putString(DESCRIPTION, builder.description);
bundle.putStringArray(NEEDED_PERMISSIONS, builder.neededPermissions);
bundle.putStringArray(POSSIBLE_PERMISSIONS, builder.possiblePermissions);
bundle.putInt(BACKGROUND_COLOR, builder.backgroundColor());
bundle.putInt(BUTTONS_COLOR, builder.buttonsColor());
bundle.putInt(IMAGE, builder.image());
bundle.putString(TITLE, builder.title());
bundle.putString(DESCRIPTION, builder.description());
bundle.putStringArray(NEEDED_PERMISSIONS, builder.neededPermissions());
bundle.putStringArray(POSSIBLE_PERMISSIONS, builder.possiblePermissions());

slideFragment.setArguments(bundle);
return slideFragment;
Expand Down Expand Up @@ -83,10 +91,12 @@ public void initializeView() {
updateViewWithValues();
}

@ColorRes
public int backgroundColor() {
return backgroundColor;
}

@ColorRes
public int buttonsColor() {
return buttonsColor;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,22 @@
import android.support.annotation.ColorRes;
import android.support.annotation.DrawableRes;

@SuppressWarnings({"unused", "WeakerAccess"})
@SuppressWarnings("unused")
public class SlideFragmentBuilder {
int backgroundColor;
int buttonsColor;
String title;
String description;
String[] neededPermissions;
String[] possiblePermissions;
int image;

@ColorRes
private int backgroundColor;

@ColorRes
private int buttonsColor;

@DrawableRes
private int image;

private String title;
private String description;
private String[] neededPermissions;
private String[] possiblePermissions;

public SlideFragmentBuilder backgroundColor(@ColorRes int backgroundColor) {
this.backgroundColor = backgroundColor;
Expand Down Expand Up @@ -48,6 +55,34 @@ public SlideFragmentBuilder image(@DrawableRes int image) {
return this;
}

public int backgroundColor() {
return backgroundColor;
}

public int buttonsColor() {
return buttonsColor;
}

public int image() {
return image;
}

public String title() {
return title;
}

public String description() {
return description;
}

public String[] neededPermissions() {
return neededPermissions;
}

public String[] possiblePermissions() {
return possiblePermissions;
}

public SlideFragment build() {
return SlideFragment.createInstance(this);
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
package agency.tango.materialintroscreen.listeners;

public interface IFinishListener {
void doOnFinish();
void onFinish();
}
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ private void moveOverScrollView(float currentX) {
swipeableViewPager.onPageScrolled(swipeableViewPager.getAdapter().getLastItemPosition(), positionOffset, 0);

if (shouldFinish()) {
finishListener.doOnFinish();
finishListener.onFinish();
}
}
}
Expand Down