Skip to content
This repository was archived by the owner on Oct 3, 2024. It is now read-only.

Commit 295b553

Browse files
SUPERCILEXsamtstern
authored andcommitted
Remove all APIs that use framework fragments (#206)
1 parent 09232df commit 295b553

19 files changed

+96
-575
lines changed

build.gradle

Lines changed: 5 additions & 5 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-beta05'
99
classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.8.4'
1010
classpath 'com.dicedmelon.gradle:jacoco-android:0.1.3'
1111
}
@@ -34,8 +34,8 @@ ext {
3434

3535
bintrayOrg = 'easygoogle'
3636

37-
support_library_version = '27.1.1'
37+
support_library_version = '28.0.0-rc01'
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 & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,7 @@
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;
@@ -132,20 +130,6 @@ public static void requestPermissions(
132130
.build());
133131
}
134132

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-
149133
/**
150134
* Request a set of permissions, showing rationale if the system requests it.
151135
*
@@ -191,23 +175,6 @@ public static void requestPermissions(
191175
.build());
192176
}
193177

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-
211178
/**
212179
* Request a set of permissions.
213180
*
@@ -317,15 +284,6 @@ public static boolean somePermissionPermanentlyDenied(@NonNull Fragment host,
317284
.somePermissionPermanentlyDenied(deniedPermissions);
318285
}
319286

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-
329287
/**
330288
* Check if a permission has been permanently denied (user clicked "Never ask again").
331289
*
@@ -346,14 +304,6 @@ public static boolean permissionPermanentlyDenied(@NonNull Fragment host,
346304
return PermissionHelper.newInstance(host).permissionPermanentlyDenied(deniedPermission);
347305
}
348306

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-
357307
/**
358308
* See if some denied permission has been permanently denied.
359309
*
@@ -375,14 +325,6 @@ public static boolean somePermissionDenied(@NonNull Fragment host,
375325
return PermissionHelper.newInstance(host).somePermissionDenied(perms);
376326
}
377327

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-
386328
/**
387329
* Run permission callbacks on an object that requested permissions but already has them by
388330
* 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

easypermissions/src/main/java/pub/devrel/easypermissions/helper/FrameworkFragmentPermissionHelper.java

Lines changed: 0 additions & 42 deletions
This file was deleted.

easypermissions/src/main/java/pub/devrel/easypermissions/helper/LowApiPermissionsHelper.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,6 @@ public Context getContext() {
4040
return (Context) getHost();
4141
} else if (getHost() instanceof Fragment) {
4242
return ((Fragment) getHost()).getContext();
43-
} else if (getHost() instanceof android.app.Fragment) {
44-
return ((android.app.Fragment) getHost()).getActivity();
4543
} else {
4644
throw new IllegalStateException("Unknown host: " + getHost());
4745
}

0 commit comments

Comments
 (0)