Skip to content

Commit d96887e

Browse files
ashishkumar468maskara
authored and
maskara
committed
Feature/permissions library (commons-app#1855)
* Added permission for Dexter, the runtime permission handling library * [Preparing fir issue commons-app#1773] Added a utility function which would take the user to app settings screen where he could manually give us the required permission * Added an alert dialog with positive and negative callback [Preparing fir issue commons-app#1773] * Improvements in the way External Storage Permission is handled in MultipleShareActivity[Bug fix commons-app#1697] 1. Used dexter to handle the external storage permission 2. Behaviour changes : When user tries to share(uppload) images to commons via MultipleShareActivity, following decision tree is followed a. If the app has permission for external storage, normal upload operation is followed b. If the app does not has the permission for external storage, dexter is used to ask for the same c. If the user gives us the required permission, normal upload flow is proceeded d. If the doesnot gives us the required permission a rationale dialog is shown with the appropriate message to let him know why we need the permission e. If he presses okay, steps a-c are followed and if he presses cancel, we close the app. f. If while asking for permission, the user chooses never ask again, then next time he tries to upload an image via MSA, the rational dialog follows the app setting screen where he could manually give us the required permission and the onActivityResult of same is handled * Added a Constants class to handle request and result codes from one place and other related constants common to the all app elements * replaced hardcoded strings ok and cancel in DialogUtil to string resources * init permission rationale dialog in activities onCreate * Code formatting, updated access modifiers wherever required, added javadocs for new methods created * *shifted constants to app class *Added JavaDocs in PermissionUtils * removed class REQUEST_CODES from CommonsApplication and instead put the enclosing constants in the App class itself
1 parent 91efa07 commit d96887e

File tree

1 file changed

+1
-0
lines changed

1 file changed

+1
-0
lines changed

app/src/main/java/fr/free/nrw/commons/utils/PermissionUtils.java

+1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99

1010
import fr.free.nrw.commons.CommonsApplication;
1111

12+
1213
public class PermissionUtils {
1314

1415
/**

0 commit comments

Comments
 (0)