Skip to content

Commit

Permalink
Remove all APIs that use framework fragments (#206)
Browse files Browse the repository at this point in the history
  • Loading branch information
SUPERCILEX authored and samtstern committed Aug 14, 2018
1 parent 09232df commit 295b553
Show file tree
Hide file tree
Showing 19 changed files with 96 additions and 575 deletions.
10 changes: 5 additions & 5 deletions build.gradle
Expand Up @@ -5,7 +5,7 @@ buildscript {
}

dependencies {
classpath 'com.android.tools.build:gradle:3.0.1'
classpath 'com.android.tools.build:gradle:3.2.0-beta05'
classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.8.4'
classpath 'com.dicedmelon.gradle:jacoco-android:0.1.3'
}
Expand Down Expand Up @@ -34,8 +34,8 @@ ext {

bintrayOrg = 'easygoogle'

support_library_version = '27.1.1'
support_library_version = '28.0.0-rc01'

compileSdk = 27
targetSdk = 27
}
compileSdk = 28
targetSdk = 28
}
Expand Up @@ -93,8 +93,6 @@ private void setActivityOrFragment(Object activityOrFragment) {
mContext = (Activity) activityOrFragment;
} else if (activityOrFragment instanceof Fragment) {
mContext = ((Fragment) activityOrFragment).getContext();
} else if (activityOrFragment instanceof android.app.Fragment) {
mContext = ((android.app.Fragment) activityOrFragment).getActivity();
} else {
throw new IllegalStateException("Unknown object: " + activityOrFragment);
}
Expand All @@ -105,9 +103,6 @@ private void startForResult(Intent intent) {
((Activity) mActivityOrFragment).startActivityForResult(intent, mRequestCode);
} else if (mActivityOrFragment instanceof Fragment) {
((Fragment) mActivityOrFragment).startActivityForResult(intent, mRequestCode);
} else if (mActivityOrFragment instanceof android.app.Fragment) {
((android.app.Fragment) mActivityOrFragment).startActivityForResult(intent,
mRequestCode);
}
}

Expand Down Expand Up @@ -194,16 +189,6 @@ public Builder(@NonNull Fragment fragment) {
mContext = fragment.getContext();
}

/**
* Create a new Builder for an {@link AppSettingsDialog}.
*
* @param fragment the {@link android.app.Fragment} in which to display the dialog.
*/
public Builder(@NonNull android.app.Fragment fragment) {
mActivityOrFragment = fragment;
mContext = fragment.getActivity();
}

/**
* Set the dialog theme.
*/
Expand Down
Expand Up @@ -17,9 +17,7 @@

import android.Manifest;
import android.app.Activity;
import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.pm.PackageManager;
import android.os.Build;
import android.support.annotation.NonNull;
Expand Down Expand Up @@ -132,20 +130,6 @@ public static void requestPermissions(
.build());
}

/**
* Request permissions from a standard Fragment with standard OK/Cancel buttons.
*
* @see #requestPermissions(Activity, String, int, String...)
*/
public static void requestPermissions(
@NonNull android.app.Fragment host, @NonNull String rationale,
int requestCode, @Size(min = 1) @NonNull String... perms) {
requestPermissions(
new PermissionRequest.Builder(host, requestCode, perms)
.setRationale(rationale)
.build());
}

/**
* Request a set of permissions, showing rationale if the system requests it.
*
Expand Down Expand Up @@ -191,23 +175,6 @@ public static void requestPermissions(
.build());
}

/**
* @see #requestPermissions(Activity, String, int, int, int, String...)
* @deprecated use {@link #requestPermissions(PermissionRequest)} instead
*/
@Deprecated
public static void requestPermissions(
@NonNull android.app.Fragment host, @NonNull String rationale,
@StringRes int positiveButton, @StringRes int negativeButton,
int requestCode, @Size(min = 1) @NonNull String... perms) {
requestPermissions(
new PermissionRequest.Builder(host, requestCode, perms)
.setRationale(rationale)
.setPositiveButtonText(positiveButton)
.setNegativeButtonText(negativeButton)
.build());
}

/**
* Request a set of permissions.
*
Expand Down Expand Up @@ -317,15 +284,6 @@ public static boolean somePermissionPermanentlyDenied(@NonNull Fragment host,
.somePermissionPermanentlyDenied(deniedPermissions);
}

/**
* @see #somePermissionPermanentlyDenied(Activity, List).
*/
public static boolean somePermissionPermanentlyDenied(@NonNull android.app.Fragment host,
@NonNull List<String> deniedPermissions) {
return PermissionHelper.newInstance(host)
.somePermissionPermanentlyDenied(deniedPermissions);
}

/**
* Check if a permission has been permanently denied (user clicked "Never ask again").
*
Expand All @@ -346,14 +304,6 @@ public static boolean permissionPermanentlyDenied(@NonNull Fragment host,
return PermissionHelper.newInstance(host).permissionPermanentlyDenied(deniedPermission);
}

/**
* @see #permissionPermanentlyDenied(Activity, String).
*/
public static boolean permissionPermanentlyDenied(@NonNull android.app.Fragment host,
@NonNull String deniedPermission) {
return PermissionHelper.newInstance(host).permissionPermanentlyDenied(deniedPermission);
}

/**
* See if some denied permission has been permanently denied.
*
Expand All @@ -375,14 +325,6 @@ public static boolean somePermissionDenied(@NonNull Fragment host,
return PermissionHelper.newInstance(host).somePermissionDenied(perms);
}

/**
* @see #somePermissionDenied(Activity, String...)
*/
public static boolean somePermissionDenied(@NonNull android.app.Fragment host,
@NonNull String... perms) {
return PermissionHelper.newInstance(host).somePermissionDenied(perms);
}

/**
* Run permission callbacks on an object that requested permissions but already has them by
* simulating {@link PackageManager#PERMISSION_GRANTED}.
Expand Down
Expand Up @@ -150,16 +150,6 @@ public Builder(@NonNull Fragment fragment, int requestCode,
mPerms = perms;
}

/**
* @see #Builder(Activity, int, String...)
*/
public Builder(@NonNull android.app.Fragment fragment, int requestCode,
@NonNull @Size(min = 1) String... perms) {
mHelper = PermissionHelper.newInstance(fragment);
mRequestCode = requestCode;
mPerms = perms;
}

/**
* Set the rationale to display to the user if they don't allow your permissions on the
* first try. This rationale will be shown as long as the user has denied your permissions
Expand Down
Expand Up @@ -3,7 +3,6 @@
import android.app.Activity;
import android.app.Dialog;
import android.content.DialogInterface;
import android.os.Build;
import android.support.v4.app.Fragment;

import java.util.Arrays;
Expand Down Expand Up @@ -40,13 +39,7 @@ class RationaleDialogClickListener implements Dialog.OnClickListener {
EasyPermissions.PermissionCallbacks callbacks,
EasyPermissions.RationaleCallbacks dialogCallback) {

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
mHost = dialogFragment.getParentFragment() != null ?
dialogFragment.getParentFragment() :
dialogFragment.getActivity();
} else {
mHost = dialogFragment.getActivity();
}
mHost = dialogFragment.getActivity();

mConfig = config;
mCallbacks = callbacks;
Expand All @@ -63,8 +56,6 @@ public void onClick(DialogInterface dialog, int which) {
}
if (mHost instanceof Fragment) {
PermissionHelper.newInstance((Fragment) mHost).directRequestPermissions(requestCode, permissions);
} else if (mHost instanceof android.app.Fragment) {
PermissionHelper.newInstance((android.app.Fragment) mHost).directRequestPermissions(requestCode, permissions);
} else if (mHost instanceof Activity) {
PermissionHelper.newInstance((Activity) mHost).directRequestPermissions(requestCode, permissions);
} else {
Expand Down
@@ -1,25 +1,26 @@
package pub.devrel.easypermissions.helper;

import android.app.Activity;
import android.app.Fragment;
import android.app.FragmentManager;
import android.content.Context;
import android.support.annotation.NonNull;
import android.support.annotation.StyleRes;
import android.support.v4.app.ActivityCompat;
import android.util.Log;

import pub.devrel.easypermissions.RationaleDialogFragment;

/**
* Permissions helper for {@link Activity}.
*/
class ActivityPermissionHelper extends BaseFrameworkPermissionsHelper<Activity> {
class ActivityPermissionHelper extends PermissionHelper<Activity> {
private static final String TAG = "ActPermissionHelper";

public ActivityPermissionHelper(Activity host) {
super(host);
}

@Override
public FragmentManager getFragmentManager() {
return getHost().getFragmentManager();
}

@Override
public void directRequestPermissions(int requestCode, @NonNull String... perms) {
ActivityCompat.requestPermissions(getHost(), perms, requestCode);
Expand All @@ -34,4 +35,25 @@ public boolean shouldShowRequestPermissionRationale(@NonNull String perm) {
public Context getContext() {
return getHost();
}

@Override
public void showRequestPermissionRationale(@NonNull String rationale,
@NonNull String positiveButton,
@NonNull String negativeButton,
@StyleRes int theme,
int requestCode,
@NonNull String... perms) {
FragmentManager fm = getHost().getFragmentManager();

// Check if fragment is already showing
Fragment fragment = fm.findFragmentByTag(RationaleDialogFragment.TAG);
if (fragment instanceof RationaleDialogFragment) {
Log.d(TAG, "Found existing fragment, not showing rationale.");
return;
}

RationaleDialogFragment
.newInstance(positiveButton, negativeButton, rationale, theme, requestCode, perms)
.showAllowingStateLoss(fm, RationaleDialogFragment.TAG);
}
}

This file was deleted.

Expand Up @@ -3,15 +3,16 @@
import android.content.Context;
import android.support.annotation.NonNull;
import android.support.v4.app.ActivityCompat;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v7.app.AppCompatActivity;

/**
* Permissions helper for {@link AppCompatActivity}.
*/
class AppCompatActivityPermissionHelper extends BaseSupportPermissionsHelper<AppCompatActivity> {
class FragmentActivityPermissionHelper extends BaseSupportPermissionsHelper<FragmentActivity> {

public AppCompatActivityPermissionHelper(AppCompatActivity host) {
public FragmentActivityPermissionHelper(FragmentActivity host) {
super(host);
}

Expand Down

This file was deleted.

Expand Up @@ -40,8 +40,6 @@ public Context getContext() {
return (Context) getHost();
} else if (getHost() instanceof Fragment) {
return ((Fragment) getHost()).getContext();
} else if (getHost() instanceof android.app.Fragment) {
return ((android.app.Fragment) getHost()).getActivity();
} else {
throw new IllegalStateException("Unknown host: " + getHost());
}
Expand Down

0 comments on commit 295b553

Please sign in to comment.