-
Notifications
You must be signed in to change notification settings - Fork 1
Refactoring mlchtCamera's Views #15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Draft
crystall1nedev
wants to merge
40
commits into
dev/main
Choose a base branch
from
dev/view-refactors
base: dev/main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
- Removed various files from Copy Bundle Resources step - Added Embed Build Information to the watchOS target
- Add CFBuildBran to show what branch Malachite is built from - Add experimental DeveloperView from the DeveloperView/ folder - Refactor MalachiteSettingsView into SettingsView/ folder - Remove unnecessary code and comments
- Refactor SettingsView into multiple files - Refactor SettingsView+Help into QuickHelpView/
- Refactor SettingsView into multiple files - Refactor SettingsView+Help into QuickHelpView/ - Move internal settings to DeveloperView+Internal - Add Quick Help entries for Compatibility and Developer
… into dev/view-refactors
So the availability clause isn't working... what. (cherry picked from commit 4bf97b9)
- Added a few things to the DeveloperView - Rename some localizations and functions - Put CompatibilityView into sections for more clarity - Switch to isFlashAvailable from hasFlash - Remove some unnecessary code, formatting changes
Camera Control support for focus and zoom have been disabled for everyone as I work on keeping Camera Control + gestures synched.
Internal builds still have it force enabled
Took care of most of the setupView() function, updated PhotoPreviewView use the functions I created there as well. This commit also fixes generating iOS 18 and older app icons using an (obviously undocumented) asset catalog compiler flag, and switches NSLog a bit to show proper debug information.
6ce5d26 to
afb0b3b
Compare
These aren't stale, Xcode just can't find them anymore.
- Move initialization to its own class and out of viewDidLoad() - Move preview layer building into CameraView+Preview.swift - Move bringup to Camera+Bringup.swift - Move UI hide/show to MalachiteViewUtils.swift - Created a UIGestureRecognizer array for rewritten UI hide/show funcs - Move various functions out of CameraView into classes that they fit into - Move Camera Control init + delegate to CameraView+Controls - Move Darwin notification init to CameraView+Notifications - Moved overriden funcs to CameraView+Overrides Other changes included in this commit: - Create a .name property on UIGestureRecognizer to more easily manage them - Rewrite dimensions argument for button building to generate corner radius - Add option to block accidental gestures (swiping from the bottom), currently requires a restart - Add option to disable Camera Control, currently requires a restart - Add preference for Camera Control options + order, currently not customizable - Rename localizations for internal options - Fixed the game kit button logic in Preferences+Extension (intentionally broken elsewhere) - Fixed various force unwrapping in bringup code to fix iOS simulator support - Fixed crash on launch on (at least) iOS 17, probably fixes other versions too
Also some fixes in the Embed build information scripts
I'm committing this before what I am about to do breaks it. Currently, everything is still working fine. If you are installing Malachite for the first time, install the previous build first and then update. This build does not have working requests for camera access or photo library additions, so the app will die.
This should also fix any other permissions issues that I forgot to account for in the past.
- Moved deviceModel and deviceModelHasChanged into compatibilityPreferences - Removed prefsVersion key, it was unused after the migratePreferences() rewrite - Call compatibility.checkDeviceForHEICCompatibility() from Init
7529190 to
24d564f
Compare
f32477f to
0d11309
Compare
So this is awkward... I forgot that Apple's been using HEIC the entire time...
I was on autopilot
I guess it makes sense that isVideoHDREnabled = false fails...
- Buttons, sliders, and recognizers are now in the ControlLayer - TODO: Update DocC for them, rethink buttonBuilder.constraints... - Flashlight level adjustment is now available outside of Camera Control - Major changes to manual slider adjustments: - Only one slider can be active on the screen at a time - The lock button has been relocated to above the flashlight on/off toggle - This implementation fixes smaller displays having clipping issues
Will be moving these out later, just fixing up watermarking first...then will finish CameraView.swift refactor, and finally get to this file fully.
Well, bug. Fixed the issue on <=iOS 17 where the buttons would fail to switch
Also fix a crash that should theoretically have never been possible to reach but would still have crashed the app.
The name stays unique and serves as the final change to Malachite for App Store Connect.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
mlchtCamera's code is all over the place, and I'm dealing with the affects of this months after I've written it. I'd like to make it cleaner and more organized - and will need to in order to prepare for mlchtKit.
More details on mlchtKit and its purpose will be available once
dev/mlchtkitis pushed to this repository.