- The ExamplePlugin is designed to provide additional functionality to the app by allowing users to customize their profile picture.
- User opens the app.
- User navigates to the "Profile" section.
- User selects the "Change Profile Picture" option.
- Plugin prompts user to choose a source for the new profile picture (e.g., camera, gallery).
- If user selects "Camera" or "Gallery" as the source:
- Plugin requests necessary permissions from the user.
- If permissions are granted:
- Plugin displays the selected source for image selection.
- User selects an image from the source.
- Plugin displays a preview of the selected image with options to crop, rotate, or apply filters.
- User can adjust the image as desired.
- User clicks on "Save" to confirm the changes.
- Plugin saves the new profile picture and updates the app's UI accordingly.
- Plugin provides a success notification to the user.
- If permissions are not granted:
- Plugin displays an error message asking the user to grant the required permissions.
- If user selects "Cancel" or closes the source selection screen:
- Plugin cancels the profile picture change process and returns to the app's main interface.
- "Change Profile Picture" button in the "Profile" section of the app.
- Source selection screen with options to choose from "Camera" or "Gallery".
- Image preview screen with options to crop, rotate, and apply filters.
- Confirmation screen with options to save, discard, or undo changes.
- Success notification for successful profile picture update.
- Error message for permission denial.
- Provide clear instructions and feedback to guide the user throughout the process.
- Ensure that the plugin's UI elements are visually consistent with the app's UI for a seamless user experience.
- Handle errors and edge cases gracefully, such as when the user denies permission or closes the source selection screen.
- Allow users to easily cancel or exit the profile picture change process without making changes.
- Provide notifications or feedback to confirm successful profile picture updates and build user trust in the plugin's functionality.