Implement stop() to close CAMERA or PHOTOLIBRARY
Platforms affected
Android and iOS
Motivation and Context
I have an usecase where user opens camera and if there's an high priority push notification is received, when user clicks, it doesn't close the camera, User has to manually close the camera. Now using the navigator.camera.stop(). I can achieve this behavior. And there are other instances which needs closing of camera or photo library from the code.
Description
Added a new method stop() which handles the closing of CAMERA or PHOTOLIBRARY for both Android and iOS.
Testing
I have verified the usecase I have mentioned above, when a push notification is clicked that closes the camera and takes to the destination page in the module by calling the stop() method.
Checklist
- [ ] I've run the tests to see all new and existing tests pass
- [ ] I added automated test coverage as appropriate for this change
- [ ] Commit is prefixed with
(platform)if this change only applies to one platform (e.g.(android)) - [ ] If this Pull Request resolves an issue, I linked to the issue in the text above (and used the correct keyword to close issues using keywords)
- [ ] I've updated the documentation if necessary
This PR doesn't compile on android:
> Task :app:compileDebugJavaWithJavac FAILED
/private/var/folders/3s/vfzpb5r51gs6y328rmlgzm7c0000gn/T/tmp-6830-P1sEoh8XyXcJ/platforms/android/app/src/main/java/org/apache/cordova/camera/CameraLauncher.java:361: error: cannot find symbol
this.cordova.getActivity().finishActivity((CAMERA + 1) * 16 + returnType + 1);
^
symbol: variable returnType
location: class CameraLauncher
/private/var/folders/3s/vfzpb5r51gs6y328rmlgzm7c0000gn/T/tmp-6830-P1sEoh8XyXcJ/platforms/android/app/src/main/java/org/apache/cordova/camera/CameraLauncher.java:[362](https://github.com/apache/cordova-plugin-camera/actions/runs/7110255438/job/19459961261?pr=873#step:9:366): error: cannot find symbol
this.cordova.getActivity().finishActivity((PHOTOLIBRARY + 1) * 16 + returnType + 1);
^
symbol: variable returnType
location: class CameraLauncher
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
2 errors
Additionally there are lint issues present in this PR:
/home/runner/work/cordova-plugin-camera/cordova-plugin-camera/www/Camera.js
Error: 158:1 error Unexpected tab character no-tabs
Error: 158:1 error Expected indentation of 4 spaces but found 1 tab indent
@breautek, My bad. I had an incomplete commit. Let me update my commit. Can you review the PR. It's complete now.