diff --git a/material-intro-screen/src/main/java/agency/tango/materialintroscreen/fragments/SlideFragmentBase.java b/material-intro-screen/src/main/java/agency/tango/materialintroscreen/fragments/SlideFragmentBase.java index d770c54..f537bdf 100644 --- a/material-intro-screen/src/main/java/agency/tango/materialintroscreen/fragments/SlideFragmentBase.java +++ b/material-intro-screen/src/main/java/agency/tango/materialintroscreen/fragments/SlideFragmentBase.java @@ -1,9 +1,11 @@ package agency.tango.materialintroscreen.fragments; import android.content.pm.PackageManager; +import android.os.Build; import android.support.annotation.ColorRes; import android.support.v4.app.ActivityCompat; import android.support.v4.content.ContextCompat; +import android.text.TextUtils; import java.util.ArrayList; import java.util.Collections; @@ -43,6 +45,10 @@ public String[] neededPermissions() { } public boolean hasAnyPermissionsToGrant() { + if (!isAndroidVersionSupportingPermissions()) { + return false; + } + boolean hasPermissionToGrant = hasPermissionsToGrant(neededPermissions()); if (!hasPermissionToGrant) { hasPermissionToGrant = hasPermissionsToGrant(possiblePermissions()); @@ -60,7 +66,7 @@ public void askForPermissions() { if (neededPermissions() != null) { for (String permission : neededPermissions()) { - if (isNotNullOrEmpty(permission)) { + if (!TextUtils.isEmpty(permission)) { if (ContextCompat.checkSelfPermission(getContext(), permission) != PackageManager.PERMISSION_GRANTED) { notGrantedPermissions.add(permission); @@ -70,7 +76,7 @@ public void askForPermissions() { } if (possiblePermissions() != null) { for (String permission : possiblePermissions()) { - if (isNotNullOrEmpty(permission)) { + if (!TextUtils.isEmpty(permission)) { if (ContextCompat.checkSelfPermission(getContext(), permission) != PackageManager.PERMISSION_GRANTED) { notGrantedPermissions.add(permission); @@ -86,9 +92,13 @@ public void askForPermissions() { @SuppressWarnings({"PMD.CollapsibleIfStatements"}) private boolean hasPermissionsToGrant(String[] permissions) { + if (!isAndroidVersionSupportingPermissions()) { + return false; + } + if (permissions != null) { for (String permission : permissions) { - if (isNotNullOrEmpty(permission)) { + if (!TextUtils.isEmpty(permission)) { if (ContextCompat.checkSelfPermission(getContext(), permission) != PackageManager.PERMISSION_GRANTED) { return true; @@ -106,7 +116,7 @@ private String[] removeEmptyAndNullStrings(final ArrayList permissions) return list.toArray(new String[list.size()]); } - public static boolean isNotNullOrEmpty(String string) { - return string != null && !string.isEmpty(); + private boolean isAndroidVersionSupportingPermissions() { + return Build.VERSION.SDK_INT >= Build.VERSION_CODES.M; } } \ No newline at end of file diff --git a/material-intro-screen/src/main/java/agency/tango/materialintroscreen/listeners/MessageButtonBehaviourOnPageSelected.java b/material-intro-screen/src/main/java/agency/tango/materialintroscreen/listeners/MessageButtonBehaviourOnPageSelected.java index 9402b49..1e3ebdf 100644 --- a/material-intro-screen/src/main/java/agency/tango/materialintroscreen/listeners/MessageButtonBehaviourOnPageSelected.java +++ b/material-intro-screen/src/main/java/agency/tango/materialintroscreen/listeners/MessageButtonBehaviourOnPageSelected.java @@ -1,17 +1,16 @@ package agency.tango.materialintroscreen.listeners; +import android.text.TextUtils; import android.util.SparseArray; import android.view.View; import android.view.animation.AnimationUtils; import android.widget.Button; -import agency.tango.materialintroscreen.behaviours.MessageButtonBehaviour; import agency.tango.materialintroscreen.R; import agency.tango.materialintroscreen.adapter.SlidesAdapter; +import agency.tango.materialintroscreen.behaviours.MessageButtonBehaviour; import agency.tango.materialintroscreen.fragments.SlideFragmentBase; -import static agency.tango.materialintroscreen.fragments.SlideFragmentBase.isNotNullOrEmpty; - public class MessageButtonBehaviourOnPageSelected implements IPageSelectedListener { @@ -53,7 +52,7 @@ public void onClick(View view) { } private boolean checkIfMessageButtonHasBehaviour(int position) { - return messageButtonBehaviours.get(position) != null && isNotNullOrEmpty( + return messageButtonBehaviours.get(position) != null && !TextUtils.isEmpty( messageButtonBehaviours.get(position).getMessageButtonText()); }