Skip to content
This repository was archived by the owner on Oct 3, 2024. It is now read-only.
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
10 changes: 7 additions & 3 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,17 @@ cache:
- $HOME/.gradle/wrapper/
- $HOME/.android/build-cache

before_install:
- mkdir "$ANDROID_HOME/licenses" || true
- echo -e "\n8933bad161af4178b1185d1a37fbf41ea5269c55" > "$ANDROID_HOME/licenses/android-sdk-license"
- echo -e "\n84831b9409646a918e30573bab4c9c91346d8abd" > "$ANDROID_HOME/licenses/android-sdk-preview-license"
android:
components:
# https://github.com/travis-ci/travis-ci/issues/6040#issuecomment-219367943
- tools
- tools
- platform-tools
- build-tools-26.0.1
- android-26

before_script: echo y | ${ANDROID_HOME}tools/bin/sdkmanager --channel=3 "tools" "platform-tools" "platforms;android-27"
script: ./gradlew build

after_failure:
Expand Down
1 change: 0 additions & 1 deletion app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ apply plugin: 'com.android.application'

android {
compileSdkVersion compileSdk
buildToolsVersion buildTools

defaultConfig {
applicationId "pub.devrel.easypermissions.sample"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -114,12 +114,12 @@ public void onRequestPermissionsResult(int requestCode,
}

@Override
public void onPermissionsGranted(int requestCode, List<String> perms) {
public void onPermissionsGranted(int requestCode, @NonNull List<String> perms) {
Log.d(TAG, "onPermissionsGranted:" + requestCode + ":" + perms.size());
}

@Override
public void onPermissionsDenied(int requestCode, List<String> perms) {
public void onPermissionsDenied(int requestCode, @NonNull List<String> perms) {
Log.d(TAG, "onPermissionsDenied:" + requestCode + ":" + perms.size());

// (Optional) Check whether the user denied any permissions and checked "NEVER ASK AGAIN."
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,12 +62,12 @@ private void smsTask() {
}

@Override
public void onPermissionsGranted(int requestCode, List<String> perms) {
public void onPermissionsGranted(int requestCode, @NonNull List<String> perms) {
Log.d(TAG, "onPermissionsGranted:" + requestCode + ":" + perms.size());
}

@Override
public void onPermissionsDenied(int requestCode, List<String> perms) {
public void onPermissionsDenied(int requestCode, @NonNull List<String> perms) {
Log.d(TAG, "onPermissionsDenied:" + requestCode + ":" + perms.size());
}
}
9 changes: 4 additions & 5 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ buildscript {
}

dependencies {
classpath 'com.android.tools.build:gradle:3.0.0-beta6'
classpath 'com.android.tools.build:gradle:3.0.0'

classpath 'com.github.dcendents:android-maven-gradle-plugin:1.5'
classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.7.3'
Expand Down Expand Up @@ -35,9 +35,8 @@ ext {

bintrayOrg = 'easygoogle'

support_library_version = '26.0.1'
support_library_version = '27.0.1'

buildTools = '26.0.1'
compileSdk = 26
targetSdk = 26
compileSdk = 27
targetSdk = 27
}
3 changes: 1 addition & 2 deletions easypermissions/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ apply plugin: 'com.android.library'

android {
compileSdkVersion compileSdk
buildToolsVersion buildTools

defaultConfig {
minSdkVersion 14
Expand All @@ -25,7 +24,7 @@ dependencies {
api "com.android.support:support-fragment:$support_library_version"

testImplementation 'junit:junit:4.12'
testImplementation 'org.robolectric:robolectric:3.4.2'
testImplementation 'org.robolectric:robolectric:3.5.1'
}

apply from: 'maven.gradle'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -197,6 +197,7 @@ public Builder(@NonNull android.app.Fragment fragment) {
/**
* Set the dialog theme.
*/
@NonNull
public Builder setThemeResId(@StyleRes int themeResId) {
mThemeResId = themeResId;
return this;
Expand All @@ -205,14 +206,16 @@ public Builder setThemeResId(@StyleRes int themeResId) {
/**
* Set the title dialog. Default is "Permissions Required".
*/
public Builder setTitle(String title) {
@NonNull
public Builder setTitle(@Nullable String title) {
mTitle = title;
return this;
}

/**
* Set the title dialog. Default is "Permissions Required".
*/
@NonNull
public Builder setTitle(@StringRes int title) {
mTitle = mContext.getString(title);
return this;
Expand All @@ -223,7 +226,8 @@ public Builder setTitle(@StringRes int title) {
* "This app may not work correctly without the requested permissions.
* Open the app settings screen to modify app permissions."
*/
public Builder setRationale(String rationale) {
@NonNull
public Builder setRationale(@Nullable String rationale) {
mRationale = rationale;
return this;
}
Expand All @@ -233,6 +237,7 @@ public Builder setRationale(String rationale) {
* "This app may not work correctly without the requested permissions.
* Open the app settings screen to modify app permissions."
*/
@NonNull
public Builder setRationale(@StringRes int rationale) {
mRationale = mContext.getString(rationale);
return this;
Expand All @@ -241,14 +246,16 @@ public Builder setRationale(@StringRes int rationale) {
/**
* Set the positive button text, default is {@link android.R.string#ok}.
*/
public Builder setPositiveButton(String text) {
@NonNull
public Builder setPositiveButton(@Nullable String text) {
mPositiveButtonText = text;
return this;
}

/**
* Set the positive button text, default is {@link android.R.string#ok}.
*/
@NonNull
public Builder setPositiveButton(@StringRes int textId) {
mPositiveButtonText = mContext.getString(textId);
return this;
Expand All @@ -262,14 +269,16 @@ public Builder setPositiveButton(@StringRes int textId) {
* Activity#onActivityResult(int, int, Intent)}. If you still don't have the right
* permissions, then the request was cancelled.
*/
public Builder setNegativeButton(String text) {
@NonNull
public Builder setNegativeButton(@Nullable String text) {
mNegativeButtonText = text;
return this;
}

/**
* Set the negative button text, default is {@link android.R.string#cancel}.
*/
@NonNull
public Builder setNegativeButton(@StringRes int textId) {
mNegativeButtonText = mContext.getString(textId);
return this;
Expand All @@ -280,6 +289,7 @@ public Builder setNegativeButton(@StringRes int textId) {
* in the calling Activity's {@link Activity#onActivityResult(int, int, Intent)} method.
* Default is {@link #DEFAULT_SETTINGS_REQ_CODE}.
*/
@NonNull
public Builder setRequestCode(int requestCode) {
mRequestCode = requestCode;
return this;
Expand All @@ -289,6 +299,7 @@ public Builder setRequestCode(int requestCode) {
* Build the {@link AppSettingsDialog} from the specified options. Generally followed by a
* call to {@link AppSettingsDialog#show()}.
*/
@NonNull
public AppSettingsDialog build() {
mRationale = TextUtils.isEmpty(mRationale) ?
mContext.getString(R.string.rationale_ask_again) : mRationale;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
import android.content.pm.PackageManager;
import android.os.Build;
import android.support.annotation.NonNull;
import android.support.annotation.Size;
import android.support.annotation.StringRes;
import android.support.v4.app.ActivityCompat;
import android.support.v4.app.Fragment;
Expand All @@ -45,9 +46,9 @@ public class EasyPermissions {
*/
public interface PermissionCallbacks extends ActivityCompat.OnRequestPermissionsResultCallback {

void onPermissionsGranted(int requestCode, List<String> perms);
void onPermissionsGranted(int requestCode, @NonNull List<String> perms);

void onPermissionsDenied(int requestCode, List<String> perms);
void onPermissionsDenied(int requestCode, @NonNull List<String> perms);

}

Expand All @@ -62,7 +63,8 @@ public interface PermissionCallbacks extends ActivityCompat.OnRequestPermissions
* yet granted.
* @see Manifest.permission
*/
public static boolean hasPermissions(Context context, @NonNull String... perms) {
public static boolean hasPermissions(@NonNull Context context,
@Size(min = 1) @NonNull String... perms) {
// Always return true for SDK < M, let the system deal with the permissions
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) {
Log.w(TAG, "hasPermissions: API version < M, returning true by default");
Expand Down Expand Up @@ -94,7 +96,7 @@ public static boolean hasPermissions(Context context, @NonNull String... perms)
*/
public static void requestPermissions(
@NonNull Activity host, @NonNull String rationale,
int requestCode, @NonNull String... perms) {
int requestCode, @Size(min = 1) @NonNull String... perms) {
requestPermissions(host, rationale, android.R.string.ok, android.R.string.cancel,
requestCode, perms);
}
Expand All @@ -106,7 +108,7 @@ public static void requestPermissions(
*/
public static void requestPermissions(
@NonNull Fragment host, @NonNull String rationale,
int requestCode, @NonNull String... perms) {
int requestCode, @Size(min = 1) @NonNull String... perms) {

requestPermissions(host, rationale, android.R.string.ok, android.R.string.cancel,
requestCode, perms);
Expand All @@ -119,7 +121,7 @@ public static void requestPermissions(
*/
public static void requestPermissions(
@NonNull android.app.Fragment host, @NonNull String rationale,
int requestCode, @NonNull String... perms) {
int requestCode, @Size(min = 1) @NonNull String... perms) {

requestPermissions(host, rationale, android.R.string.ok, android.R.string.cancel,
requestCode, perms);
Expand All @@ -140,7 +142,7 @@ public static void requestPermissions(
public static void requestPermissions(
@NonNull Activity host, @NonNull String rationale,
@StringRes int positiveButton, @StringRes int negativeButton,
int requestCode, @NonNull String... perms) {
int requestCode, @Size(min = 1) @NonNull String... perms) {
requestPermissions(PermissionHelper.newInstance(host), rationale,
positiveButton, negativeButton,
requestCode, perms);
Expand All @@ -154,7 +156,7 @@ public static void requestPermissions(
public static void requestPermissions(
@NonNull Fragment host, @NonNull String rationale,
@StringRes int positiveButton, @StringRes int negativeButton,
int requestCode, @NonNull String... perms) {
int requestCode, @Size(min = 1) @NonNull String... perms) {
requestPermissions(PermissionHelper.newInstance(host), rationale,
positiveButton, negativeButton,
requestCode, perms);
Expand All @@ -166,7 +168,7 @@ public static void requestPermissions(
public static void requestPermissions(
@NonNull android.app.Fragment host, @NonNull String rationale,
@StringRes int positiveButton, @StringRes int negativeButton,
int requestCode, @NonNull String... perms) {
int requestCode, @Size(min = 1) @NonNull String... perms) {
requestPermissions(PermissionHelper.newInstance(host), rationale,
positiveButton, negativeButton,
requestCode, perms);
Expand All @@ -175,7 +177,7 @@ public static void requestPermissions(
private static void requestPermissions(
@NonNull PermissionHelper helper, @NonNull String rationale,
@StringRes int positiveButton, @StringRes int negativeButton,
int requestCode, @NonNull String... perms) {
int requestCode, @Size(min = 1) @NonNull String... perms) {

// Check for permissions before dispatching the request
if (hasPermissions(helper.getContext(), perms)) {
Expand Down
Binary file modified gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
3 changes: 1 addition & 2 deletions gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
#Fri Aug 18 16:20:16 PDT 2017
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-4.3.1-all.zip