Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
This repository was archived by the owner on Oct 3, 2024. It is now read-only.

Commit 1cad4c5

Browse files
Version 2.0
2 parents 09232df + 488e3ed commit 1cad4c5

20 files changed

+92
-671
lines changed

‎README.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ EasyPermissions is installed by adding the following dependency to your `build.g
99

1010
```groovy
1111
dependencies {
12-
implementation 'pub.devrel:easypermissions:1.3.0'
12+
implementation 'pub.devrel:easypermissions:2.0.0'
1313
}
1414
```
1515

‎build.gradle‎

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ buildscript {
55
}
66

77
dependencies {
8-
classpath 'com.android.tools.build:gradle:3.0.1'
8+
classpath 'com.android.tools.build:gradle:3.2.0-rc03'
99
classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.8.4'
1010
classpath 'com.dicedmelon.gradle:jacoco-android:0.1.3'
1111
}
@@ -30,12 +30,12 @@ ext {
3030

3131
mavenGroup = 'pub.devrel'
3232
mavenArtifactId = 'easypermissions'
33-
mavenVersion = '1.3.0'
33+
mavenVersion = '2.0.0'
3434

3535
bintrayOrg = 'easygoogle'
3636

37-
support_library_version = '27.1.1'
37+
support_library_version = '28.0.0'
3838

39-
compileSdk = 27
40-
targetSdk = 27
41-
}
39+
compileSdk = 28
40+
targetSdk = 28
41+
}

‎easypermissions/src/main/java/pub/devrel/easypermissions/AppSettingsDialog.java‎

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -93,8 +93,6 @@ private void setActivityOrFragment(Object activityOrFragment) {
9393
mContext = (Activity) activityOrFragment;
9494
} else if (activityOrFragment instanceof Fragment) {
9595
mContext = ((Fragment) activityOrFragment).getContext();
96-
} else if (activityOrFragment instanceof android.app.Fragment) {
97-
mContext = ((android.app.Fragment) activityOrFragment).getActivity();
9896
} else {
9997
throw new IllegalStateException("Unknown object: " + activityOrFragment);
10098
}
@@ -105,9 +103,6 @@ private void startForResult(Intent intent) {
105103
((Activity) mActivityOrFragment).startActivityForResult(intent, mRequestCode);
106104
} else if (mActivityOrFragment instanceof Fragment) {
107105
((Fragment) mActivityOrFragment).startActivityForResult(intent, mRequestCode);
108-
} else if (mActivityOrFragment instanceof android.app.Fragment) {
109-
((android.app.Fragment) mActivityOrFragment).startActivityForResult(intent,
110-
mRequestCode);
111106
}
112107
}
113108

@@ -194,16 +189,6 @@ public Builder(@NonNull Fragment fragment) {
194189
mContext = fragment.getContext();
195190
}
196191

197-
/**
198-
* Create a new Builder for an {@link AppSettingsDialog}.
199-
*
200-
* @param fragment the {@link android.app.Fragment} in which to display the dialog.
201-
*/
202-
public Builder(@NonNull android.app.Fragment fragment) {
203-
mActivityOrFragment = fragment;
204-
mContext = fragment.getActivity();
205-
}
206-
207192
/**
208193
* Set the dialog theme.
209194
*/

‎easypermissions/src/main/java/pub/devrel/easypermissions/EasyPermissions.java‎

Lines changed: 0 additions & 104 deletions
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,11 @@
1717

1818
import android.Manifest;
1919
import android.app.Activity;
20-
import android.app.Dialog;
2120
import android.content.Context;
22-
import android.content.DialogInterface;
2321
import android.content.pm.PackageManager;
2422
import android.os.Build;
2523
import android.support.annotation.NonNull;
2624
import android.support.annotation.Size;
27-
import android.support.annotation.StringRes;
2825
import android.support.v4.app.ActivityCompat;
2926
import android.support.v4.app.Fragment;
3027
import android.support.v4.content.ContextCompat;
@@ -132,82 +129,6 @@ public static void requestPermissions(
132129
.build());
133130
}
134131

135-
/**
136-
* Request permissions from a standard Fragment with standard OK/Cancel buttons.
137-
*
138-
* @see #requestPermissions(Activity, String, int, String...)
139-
*/
140-
public static void requestPermissions(
141-
@NonNull android.app.Fragment host, @NonNull String rationale,
142-
int requestCode, @Size(min = 1) @NonNull String... perms) {
143-
requestPermissions(
144-
new PermissionRequest.Builder(host, requestCode, perms)
145-
.setRationale(rationale)
146-
.build());
147-
}
148-
149-
/**
150-
* Request a set of permissions, showing rationale if the system requests it.
151-
*
152-
* @param host requesting context.
153-
* @param rationale a message explaining why the application needs this set of permissions,
154-
* will be displayed if the user rejects the request the first time.
155-
* @param positiveButton custom text for positive button
156-
* @param negativeButton custom text for negative button
157-
* @param requestCode request code to track this request, must be < 256.
158-
* @param perms a set of permissions to be requested.
159-
* @see Manifest.permission
160-
* @deprecated use {@link #requestPermissions(PermissionRequest)} instead
161-
*/
162-
@Deprecated
163-
public static void requestPermissions(
164-
@NonNull Activity host, @NonNull String rationale,
165-
@StringRes int positiveButton, @StringRes int negativeButton,
166-
int requestCode, @Size(min = 1) @NonNull String... perms) {
167-
requestPermissions(
168-
new PermissionRequest.Builder(host, requestCode, perms)
169-
.setRationale(rationale)
170-
.setPositiveButtonText(positiveButton)
171-
.setNegativeButtonText(negativeButton)
172-
.build());
173-
}
174-
175-
/**
176-
* Request permissions from a Support Fragment.
177-
*
178-
* @see #requestPermissions(Activity, String, int, int, int, String...)
179-
* @deprecated use {@link #requestPermissions(PermissionRequest)} instead
180-
*/
181-
@Deprecated
182-
public static void requestPermissions(
183-
@NonNull Fragment host, @NonNull String rationale,
184-
@StringRes int positiveButton, @StringRes int negativeButton,
185-
int requestCode, @Size(min = 1) @NonNull String... perms) {
186-
requestPermissions(
187-
new PermissionRequest.Builder(host, requestCode, perms)
188-
.setRationale(rationale)
189-
.setPositiveButtonText(positiveButton)
190-
.setNegativeButtonText(negativeButton)
191-
.build());
192-
}
193-
194-
/**
195-
* @see #requestPermissions(Activity, String, int, int, int, String...)
196-
* @deprecated use {@link #requestPermissions(PermissionRequest)} instead
197-
*/
198-
@Deprecated
199-
public static void requestPermissions(
200-
@NonNull android.app.Fragment host, @NonNull String rationale,
201-
@StringRes int positiveButton, @StringRes int negativeButton,
202-
int requestCode, @Size(min = 1) @NonNull String... perms) {
203-
requestPermissions(
204-
new PermissionRequest.Builder(host, requestCode, perms)
205-
.setRationale(rationale)
206-
.setPositiveButtonText(positiveButton)
207-
.setNegativeButtonText(negativeButton)
208-
.build());
209-
}
210-
211132
/**
212133
* Request a set of permissions.
213134
*
@@ -317,15 +238,6 @@ public static boolean somePermissionPermanentlyDenied(@NonNull Fragment host,
317238
.somePermissionPermanentlyDenied(deniedPermissions);
318239
}
319240

320-
/**
321-
* @see #somePermissionPermanentlyDenied(Activity, List).
322-
*/
323-
public static boolean somePermissionPermanentlyDenied(@NonNull android.app.Fragment host,
324-
@NonNull List<String> deniedPermissions) {
325-
return PermissionHelper.newInstance(host)
326-
.somePermissionPermanentlyDenied(deniedPermissions);
327-
}
328-
329241
/**
330242
* Check if a permission has been permanently denied (user clicked "Never ask again").
331243
*
@@ -346,14 +258,6 @@ public static boolean permissionPermanentlyDenied(@NonNull Fragment host,
346258
return PermissionHelper.newInstance(host).permissionPermanentlyDenied(deniedPermission);
347259
}
348260

349-
/**
350-
* @see #permissionPermanentlyDenied(Activity, String).
351-
*/
352-
public static boolean permissionPermanentlyDenied(@NonNull android.app.Fragment host,
353-
@NonNull String deniedPermission) {
354-
return PermissionHelper.newInstance(host).permissionPermanentlyDenied(deniedPermission);
355-
}
356-
357261
/**
358262
* See if some denied permission has been permanently denied.
359263
*
@@ -375,14 +279,6 @@ public static boolean somePermissionDenied(@NonNull Fragment host,
375279
return PermissionHelper.newInstance(host).somePermissionDenied(perms);
376280
}
377281

378-
/**
379-
* @see #somePermissionDenied(Activity, String...)
380-
*/
381-
public static boolean somePermissionDenied(@NonNull android.app.Fragment host,
382-
@NonNull String... perms) {
383-
return PermissionHelper.newInstance(host).somePermissionDenied(perms);
384-
}
385-
386282
/**
387283
* Run permission callbacks on an object that requested permissions but already has them by
388284
* simulating {@link PackageManager#PERMISSION_GRANTED}.

‎easypermissions/src/main/java/pub/devrel/easypermissions/PermissionRequest.java‎

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -150,16 +150,6 @@ public Builder(@NonNull Fragment fragment, int requestCode,
150150
mPerms = perms;
151151
}
152152

153-
/**
154-
* @see #Builder(Activity, int, String...)
155-
*/
156-
public Builder(@NonNull android.app.Fragment fragment, int requestCode,
157-
@NonNull @Size(min = 1) String... perms) {
158-
mHelper = PermissionHelper.newInstance(fragment);
159-
mRequestCode = requestCode;
160-
mPerms = perms;
161-
}
162-
163153
/**
164154
* Set the rationale to display to the user if they don't allow your permissions on the
165155
* first try. This rationale will be shown as long as the user has denied your permissions

‎easypermissions/src/main/java/pub/devrel/easypermissions/RationaleDialogClickListener.java‎

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
import android.app.Activity;
44
import android.app.Dialog;
55
import android.content.DialogInterface;
6-
import android.os.Build;
76
import android.support.v4.app.Fragment;
87

98
import java.util.Arrays;
@@ -40,13 +39,7 @@ class RationaleDialogClickListener implements Dialog.OnClickListener {
4039
EasyPermissions.PermissionCallbacks callbacks,
4140
EasyPermissions.RationaleCallbacks dialogCallback) {
4241

43-
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
44-
mHost = dialogFragment.getParentFragment() != null ?
45-
dialogFragment.getParentFragment() :
46-
dialogFragment.getActivity();
47-
} else {
48-
mHost = dialogFragment.getActivity();
49-
}
42+
mHost = dialogFragment.getActivity();
5043

5144
mConfig = config;
5245
mCallbacks = callbacks;
@@ -63,8 +56,6 @@ public void onClick(DialogInterface dialog, int which) {
6356
}
6457
if (mHost instanceof Fragment) {
6558
PermissionHelper.newInstance((Fragment) mHost).directRequestPermissions(requestCode, permissions);
66-
} else if (mHost instanceof android.app.Fragment) {
67-
PermissionHelper.newInstance((android.app.Fragment) mHost).directRequestPermissions(requestCode, permissions);
6859
} else if (mHost instanceof Activity) {
6960
PermissionHelper.newInstance((Activity) mHost).directRequestPermissions(requestCode, permissions);
7061
} else {

‎easypermissions/src/main/java/pub/devrel/easypermissions/helper/ActivityPermissionHelper.java‎

Lines changed: 28 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,26 @@
11
package pub.devrel.easypermissions.helper;
22

33
import android.app.Activity;
4+
import android.app.Fragment;
45
import android.app.FragmentManager;
56
import android.content.Context;
67
import android.support.annotation.NonNull;
8+
import android.support.annotation.StyleRes;
79
import android.support.v4.app.ActivityCompat;
10+
import android.util.Log;
11+
12+
import pub.devrel.easypermissions.RationaleDialogFragment;
813

914
/**
1015
* Permissions helper for {@link Activity}.
1116
*/
12-
class ActivityPermissionHelper extends BaseFrameworkPermissionsHelper<Activity> {
17+
class ActivityPermissionHelper extends PermissionHelper<Activity> {
18+
private static final String TAG = "ActPermissionHelper";
1319

1420
public ActivityPermissionHelper(Activity host) {
1521
super(host);
1622
}
1723

18-
@Override
19-
public FragmentManager getFragmentManager() {
20-
return getHost().getFragmentManager();
21-
}
22-
2324
@Override
2425
public void directRequestPermissions(int requestCode, @NonNull String... perms) {
2526
ActivityCompat.requestPermissions(getHost(), perms, requestCode);
@@ -34,4 +35,25 @@ public boolean shouldShowRequestPermissionRationale(@NonNull String perm) {
3435
public Context getContext() {
3536
return getHost();
3637
}
38+
39+
@Override
40+
public void showRequestPermissionRationale(@NonNull String rationale,
41+
@NonNull String positiveButton,
42+
@NonNull String negativeButton,
43+
@StyleRes int theme,
44+
int requestCode,
45+
@NonNull String... perms) {
46+
FragmentManager fm = getHost().getFragmentManager();
47+
48+
// Check if fragment is already showing
49+
Fragment fragment = fm.findFragmentByTag(RationaleDialogFragment.TAG);
50+
if (fragment instanceof RationaleDialogFragment) {
51+
Log.d(TAG, "Found existing fragment, not showing rationale.");
52+
return;
53+
}
54+
55+
RationaleDialogFragment
56+
.newInstance(positiveButton, negativeButton, rationale, theme, requestCode, perms)
57+
.showAllowingStateLoss(fm, RationaleDialogFragment.TAG);
58+
}
3759
}

‎easypermissions/src/main/java/pub/devrel/easypermissions/helper/BaseFrameworkPermissionsHelper.java‎

Lines changed: 0 additions & 44 deletions
This file was deleted.
Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,16 @@
33
import android.content.Context;
44
import android.support.annotation.NonNull;
55
import android.support.v4.app.ActivityCompat;
6+
import android.support.v4.app.FragmentActivity;
67
import android.support.v4.app.FragmentManager;
78
import android.support.v7.app.AppCompatActivity;
89

910
/**
1011
* Permissions helper for {@link AppCompatActivity}.
1112
*/
12-
class AppCompatActivityPermissionHelper extends BaseSupportPermissionsHelper<AppCompatActivity> {
13+
class FragmentActivityPermissionHelper extends BaseSupportPermissionsHelper<FragmentActivity> {
1314

14-
public AppCompatActivityPermissionHelper(AppCompatActivity host) {
15+
public FragmentActivityPermissionHelper(FragmentActivity host) {
1516
super(host);
1617
}
1718

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /