2626
2727import android .content .pm .PackageManager ;
2828import android .os .Build ;
29- import android .support .annotation .NonNull ;
30- import android .support .v13 .app .FragmentCompat ;
31- import android .support .v4 .app .ActivityCompat ;
3229
3330import java .util .ArrayList ;
3431import java .util .Collections ;
3532
33+ import androidx .annotation .NonNull ;
34+ import androidx .core .app .ActivityCompat ;
35+ import androidx .legacy .app .FragmentCompat ;
36+
3637/**
3738 * Created by raphaelbussa on 22/06/16.
3839 */
40+ @ SuppressWarnings ("unused" )
3941public class PermissionManager {
4042
4143 private static PermissionManager instance ;
@@ -76,13 +78,13 @@ public static void handleResult(@NonNull android.app.Activity activity, int requ
7678 }
7779
7880 /**
79- * @param v4fragment target v4 fragment
81+ * @param fragmentX target v4 fragment
8082 * @param requestCode requestCode
8183 * @param permissions permissions
8284 * @param grantResults grantResults
8385 */
84- public static void handleResult (@ NonNull android . support . v4 . app .Fragment v4fragment , int requestCode , @ NonNull String [] permissions , @ NonNull int [] grantResults ) {
85- handleResult (null , v4fragment , null , requestCode , permissions , grantResults );
86+ public static void handleResult (@ NonNull androidx . fragment . app .Fragment fragmentX , int requestCode , @ NonNull String [] permissions , @ NonNull int [] grantResults ) {
87+ handleResult (null , fragmentX , null , requestCode , permissions , grantResults );
8688 }
8789
8890 /**
@@ -91,11 +93,13 @@ public static void handleResult(@NonNull android.support.v4.app.Fragment v4fragm
9193 * @param permissions permissions
9294 * @param grantResults grantResults
9395 */
96+ @ Deprecated
9497 public static void handleResult (@ NonNull android .app .Fragment fragment , int requestCode , @ NonNull String [] permissions , @ NonNull int [] grantResults ) {
9598 handleResult (null , null , fragment , requestCode , permissions , grantResults );
9699 }
97100
98- private static void handleResult (final android .app .Activity activity , final android .support .v4 .app .Fragment v4fragment , final android .app .Fragment fragment , int requestCode , @ NonNull String [] permissions , @ NonNull int [] grantResults ) {
101+ @ SuppressWarnings ("deprecation" )
102+ private static void handleResult (final android .app .Activity activity , final androidx .fragment .app .Fragment fragmentX , final android .app .Fragment fragment , int requestCode , @ NonNull String [] permissions , @ NonNull int [] grantResults ) {
99103 if (instance == null ) return ;
100104 if (requestCode == instance .key ) {
101105 for (int i = 0 ; i < permissions .length ; i ++) {
@@ -107,8 +111,8 @@ private static void handleResult(final android.app.Activity activity, final andr
107111 permissionsDeniedForever = ActivityCompat .shouldShowRequestPermissionRationale (activity , permissions [i ]);
108112 } else if (fragment != null ) {
109113 permissionsDeniedForever = FragmentCompat .shouldShowRequestPermissionRationale (fragment , permissions [i ]);
110- } else if (v4fragment != null ) {
111- permissionsDeniedForever = v4fragment .shouldShowRequestPermissionRationale (permissions [i ]);
114+ } else if (fragmentX != null ) {
115+ permissionsDeniedForever = fragmentX .shouldShowRequestPermissionRationale (permissions [i ]);
112116 }
113117 if (!permissionsDeniedForever ) {
114118 instance .permissionsDeniedForever .add (PermissionEnum .fromManifestPermission (permissions [i ]));
@@ -124,14 +128,14 @@ private static void handleResult(final android.app.Activity activity, final andr
124128 @ Override
125129 public void result (boolean askAgain ) {
126130 if (askAgain ) {
127- instance .ask (activity , v4fragment , fragment );
131+ instance .ask (activity , fragmentX , fragment );
128132 } else {
129133 instance .showResult ();
130134 }
131135 }
132136 });
133137 } else {
134- instance .ask (activity , v4fragment , fragment );
138+ instance .ask (activity , fragmentX , fragment );
135139 }
136140 } else {
137141 instance .showResult ();
@@ -238,34 +242,36 @@ public void ask(android.app.Activity activity) {
238242 }
239243
240244 /**
241- * @param v4fragment target v4 fragment
242- * just start all permission manager
245+ * @param fragmentX target v4 fragment
246+ * just start all permission manager
243247 */
244- public void ask (android . support . v4 . app .Fragment v4fragment ) {
245- ask (null , v4fragment , null );
248+ public void ask (androidx . fragment . app .Fragment fragmentX ) {
249+ ask (null , fragmentX , null );
246250 }
247251
248252 /**
249253 * @param fragment target fragment
250254 * just start all permission manager
251255 */
256+ @ Deprecated
252257 public void ask (android .app .Fragment fragment ) {
253258 ask (null , null , fragment );
254259 }
255260
256- private void ask (android .app .Activity activity , android .support .v4 .app .Fragment v4fragment , android .app .Fragment fragment ) {
261+ @ SuppressWarnings ("deprecation" )
262+ private void ask (android .app .Activity activity , androidx .fragment .app .Fragment fragmentX , android .app .Fragment fragment ) {
257263 initArray ();
258264 if (Build .VERSION .SDK_INT >= Build .VERSION_CODES .M ) {
259- String [] permissionToAsk = permissionToAsk (activity , v4fragment , fragment );
265+ String [] permissionToAsk = permissionToAsk (activity , fragmentX , fragment );
260266 if (permissionToAsk .length == 0 ) {
261267 showResult ();
262268 } else {
263269 if (activity != null ) {
264270 ActivityCompat .requestPermissions (activity , permissionToAsk , key );
265271 } else if (fragment != null ) {
266272 FragmentCompat .requestPermissions (fragment , permissionToAsk , key );
267- } else if (v4fragment != null ) {
268- v4fragment .requestPermissions (permissionToAsk , key );
273+ } else if (fragmentX != null ) {
274+ fragmentX .requestPermissions (permissionToAsk , key );
269275 }
270276 }
271277 } else {
@@ -277,17 +283,18 @@ private void ask(android.app.Activity activity, android.support.v4.app.Fragment
277283 /**
278284 * @return permission that you really need to ask
279285 */
286+ @ SuppressWarnings ("ToArrayCallWithZeroLengthArrayArgument" )
280287 @ NonNull
281- private String [] permissionToAsk (android .app .Activity activity , android . support . v4 . app .Fragment v4fragment , android .app .Fragment fragment ) {
288+ private String [] permissionToAsk (android .app .Activity activity , androidx . fragment . app .Fragment fragmentX , android .app .Fragment fragment ) {
282289 ArrayList <String > permissionToAsk = new ArrayList <>();
283290 for (PermissionEnum permission : permissions ) {
284291 boolean isGranted = false ;
285292 if (activity != null ) {
286293 isGranted = PermissionUtils .isGranted (activity , permission );
287294 } else if (fragment != null ) {
288295 isGranted = PermissionUtils .isGranted (fragment .getActivity (), permission );
289- } else if (v4fragment != null ) {
290- isGranted = PermissionUtils .isGranted (v4fragment .getActivity (), permission );
296+ } else if (fragmentX != null ) {
297+ isGranted = PermissionUtils .isGranted (fragmentX .getActivity (), permission );
291298 }
292299 if (!isGranted ) {
293300 permissionToAsk .add (permission .toString ());
0 commit comments