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

Commit 209a517

Browse files
SUPERCILEXsamtstern
authored andcommitted
Short circuit perms request at root method (#76)
1 parent f54dd20 commit 209a517

File tree

7 files changed

+309
-279
lines changed

7 files changed

+309
-279
lines changed

app/src/main/java/pub/devrel/easypermissions/sample/MainActivity.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,7 @@
3030
import pub.devrel.easypermissions.AppSettingsDialog;
3131
import pub.devrel.easypermissions.EasyPermissions;
3232

33-
public class MainActivity extends AppCompatActivity implements
34-
EasyPermissions.PermissionCallbacks {
33+
public class MainActivity extends AppCompatActivity implements EasyPermissions.PermissionCallbacks {
3534

3635
private static final String TAG = "MainActivity";
3736

app/src/main/java/pub/devrel/easypermissions/sample/MainFragment.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,13 @@
1515
import pub.devrel.easypermissions.AfterPermissionGranted;
1616
import pub.devrel.easypermissions.EasyPermissions;
1717

18+
/**
19+
* Created in {@link R.layout#activity_main}
20+
*/
1821
public class MainFragment extends Fragment implements EasyPermissions.PermissionCallbacks {
1922

2023
private static final String TAG = "MainFragment";
2124
private static final int RC_SMS_PERM = 122;
22-
private static final int RC_SETTINGS = 123;
2325

2426
@Override
2527
public View onCreateView (LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

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

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,16 @@
11
package pub.devrel.easypermissions;
22

3-
import android.annotation.TargetApi;
43
import android.app.Activity;
54
import android.app.AlertDialog;
65
import android.content.Context;
76
import android.content.DialogInterface;
87
import android.content.Intent;
98
import android.net.Uri;
9+
import android.os.Build;
1010
import android.provider.Settings;
1111
import android.support.annotation.NonNull;
1212
import android.support.annotation.Nullable;
13+
import android.support.annotation.RequiresApi;
1314
import android.support.v4.app.Fragment;
1415
import android.text.TextUtils;
1516

@@ -65,6 +66,7 @@ public void onClick(DialogInterface dialog, int which) {
6566
intent.setData(uri);
6667

6768
// Start for result
69+
//noinspection NewApi The Builder constructor prevents this
6870
startForResult(activityOrFragment, intent, settingsRequestCode);
6971
}
7072
});
@@ -76,7 +78,7 @@ public void onClick(DialogInterface dialog, int which) {
7678
mAlertDialog = dialogBuilder.create();
7779
}
7880

79-
@TargetApi(11)
81+
@RequiresApi(api = Build.VERSION_CODES.HONEYCOMB)
8082
private void startForResult(Object object, Intent intent, int requestCode) {
8183
if (object instanceof Activity) {
8284
((Activity) object).startActivityForResult(intent, requestCode);
@@ -135,7 +137,7 @@ public Builder(@NonNull android.support.v4.app.Fragment fragment, @NonNull Strin
135137
* @param fragment the Fragment in which to display the dialog.
136138
* @param rationale text explaining why the user should launch the app settings screen.
137139
*/
138-
@TargetApi(11)
140+
@RequiresApi(api = Build.VERSION_CODES.HONEYCOMB)
139141
public Builder(@NonNull android.app.Fragment fragment, @NonNull String rationale) {
140142
mActivityOrFragment = fragment;
141143
mContext = fragment.getActivity();

0 commit comments

Comments
 (0)