Commit Graph

881 Commits

Author SHA1 Message Date
Riley Testut
6322104276 Fixes deadlock when getting/setting progress for an app 2024-12-26 21:15:29 +05:30
Riley Testut
9c8c785a18 Updates placeholder text for SourcesViewController 2024-12-26 21:15:29 +05:30
Riley Testut
f23635b483 Uses constant 5pt corner radius for non-rounded screenshots
Fixes iPad corners appearing too rounded.
2024-12-26 21:15:29 +05:30
Riley Testut
8e98142740 Fixes incorrectly centering screenshot thumbnail when there’s only one visible initially 2024-12-26 21:15:29 +05:30
Riley Testut
fdb19ef06d Shrinks AppCardCollectionViewCell height if there are no screenshots 2024-12-26 21:15:29 +05:30
Riley Testut
39e593e799 Fixes AppBannerView sticking to safe area when scrolling 2024-12-26 21:15:29 +05:30
Riley Testut
e8936c6fff Reduces spacing between apps in BrowseViewController 2024-12-26 21:15:29 +05:30
Riley Testut
d21c746920 Replaces BrowseCollectionViewCell with AppCardCollectionViewCell
* Handles dynamic screenshot sizes
* Allows swiping through screenshots
* Supports iPhone + iPad screenshots
2024-12-26 21:15:29 +05:30
Riley Testut
a790bbf691 Supports both iPhone + iPad screenshots
Prefers showing screenshots for current device, but falls back to all screenshots if there are no relevant ones.
2024-12-26 21:15:29 +05:30
Riley Testut
ffa672f6b2 Improves paging screenshots with different aspect ratios
We now page by the smallest screenshot width to ensure we never overshoot an item.
2024-12-26 21:15:29 +05:30
Riley Testut
14bd1716d1 Supports viewing full screen app screenshots from AppViewController
[Missed] Uses layout config for PreviewAppScreenshots
2024-12-26 21:15:29 +05:30
Riley Testut
422cde9706 Accurately displays dynamically-sized screenshots in AppViewController 2024-12-26 21:15:29 +05:30
Riley Testut
5a8aab3f07 [AltStoreCore] Fixes ALTAppPrivacyPermission.synthesizedName for legacy permissions 2024-12-26 21:15:29 +05:30
Riley Testut
357103944d [Shared] Includes CodingPath in Source errors’ debug description (if available) 2024-12-26 21:15:29 +05:30
Riley Testut
00bcdec0dc Revises appPermissions JSON format
• Split into `entitlements` and `privacy` sections
• `entitlements` is an array of entitlement keys
• `privacy` is a dictionary mapping UsageDescription keys to their descriptions
2024-12-26 21:15:29 +05:30
Riley Testut
9589baff46 Fixes “Add/Remove Source” button title not updating after removing source 2024-12-26 21:15:29 +05:30
Riley Testut
dee5a89501 Fixes incorrect Sources tab background color in dark mode 2024-12-26 21:15:29 +05:30
Riley Testut
3ee393be56 Fixes misplaced back button 2024-12-26 21:15:29 +05:30
Riley Testut
5f93ee387f Adds AddSourceViewController to add sources by URL or from list of recommended sources 2024-12-26 21:15:29 +05:30
Riley Testut
8c42d267e2 Updates Browse tab icon 2024-12-26 21:15:29 +05:30
Riley Testut
93b01cd701 Fixes “Unable to satisfy constraints” warnings for SourcesViewController 2024-12-26 21:15:29 +05:30
Riley Testut
95c920fd3a Updates incorrect Main.storyboard frames 2024-12-26 21:15:29 +05:30
Riley Testut
b2258f32cb Refactors SourceViewController into dedicated tab
* Updates UI to use source icons + tint colors
* Adds Edit button + swipe actions
2024-12-26 21:15:29 +05:30
Riley Testut
bb5f73b37d Uses uniform height for SourceDetailContentViewController News items (iOS 17+) 2024-12-26 21:15:29 +05:30
Riley Testut
c07e5f5361 Adjusts illegible Source tint colors for SourceDetailViewController 2024-12-26 21:15:29 +05:30
Riley Testut
2707710483 Adds AppBannerView.style to switch between app and source styles
`app` banners have rounded rect icons and use a lighter version of tint color as background, while `source` banners have circular icons and use the original tint color as background.
2024-12-26 21:15:29 +05:30
Riley Testut
b61b48f0bf Adds UIColor.adjustedForDisplay() to display illegible tint colors
Adjusts illegible tint colors so that they can be displayed in the UI, e.g. by making them brighter or darker.
2024-12-26 21:15:29 +05:30
Riley Testut
3669df9d75 Adds PillButton.style to switch between pill and custom styles
`pill` style enforces minimum size + content insets, while `custom` doesn’t.
2024-12-26 21:15:29 +05:30
Riley Testut
f0e35a9b6d Adds AppIconImageView.style to switch between icon and circular styles
`icon` approximates the rounded corners of an app icon, while `circular` makes the icon a circle.
2024-12-26 21:15:29 +05:30
Riley Testut
16e6aa8e17 Posts Notification when Source is added or removed 2024-12-26 21:15:29 +05:30
Riley Testut
58ad916dc3 Limits relative date strings to “Yesterday” and “Today”
Any relative date older than “Yesterday” will be displayed as absolute date instead.
2024-12-26 21:15:29 +05:30
Riley Testut
79c7e994e8 [AltStoreCore] Adds Source.isRecommended
Also replaces legacy “Trusted Sources” references with “Recommended Sources”
2024-12-26 21:15:29 +05:30
Riley Testut
7e67ab7b35 Supports exporting OSLogs from ErrorLogViewController 2024-12-26 21:15:29 +05:30
Riley Testut
99df4a1a01 Logs misc. events with OSLog
* Discovering AltServers
* Clearing app cache
* Updating Friend Zone Patrons
2024-12-26 21:15:29 +05:30
Riley Testut
3e5e03c4d3 Logs Fugu14-related events with OSLog 2024-12-26 21:15:29 +05:30
Riley Testut
fed587954d Logs sideloading-related events with OSLog 2024-12-26 21:15:29 +05:30
Riley Testut
b8d67accb5 [Apps] Moves source JSON files to separate repo 2024-12-26 21:15:29 +05:30
Riley Testut
55e086ffea Fixes misplaced Info.plist entries 2024-12-26 21:15:29 +05:30
Riley Testut
e9b315ff71 Updates ALTDeviceID to iPhone 14 Pro 2024-12-26 21:15:29 +05:30
Riley Testut
fcb0616bd0 Conforms RefreshAllAppsWidgetIntent to ForegroundContinuableIntent 2024-12-26 21:15:29 +05:30
Riley Testut
f169d48c9a Returns nothing from RefreshAllAppsWidgetIntent 2024-12-26 21:15:29 +05:30
Riley Testut
af7f929703 Actually fixes interactive widget animation continuing indefinitely 2024-12-26 21:15:29 +05:30
Riley Testut
af9c44d2bc Fixes interactive widget animation continuing indefinitely if error is thrown 2024-12-26 21:15:29 +05:30
Riley Testut
834a8a6506 Fixes not showing “AltServer Not Found” error when refreshing via widget 2024-12-26 21:15:29 +05:30
Riley Testut
77aed91703 Reloads widget timelines on app launch 2024-12-26 21:15:29 +05:30
Riley Testut
e45a76f990 Fixes ErrorDetailsViewController not displaying text below fold 2024-12-26 21:15:29 +05:30
Riley Testut
08f669a8c3 [AltWidget] Supports refreshing apps directly from home screen 2024-12-26 21:15:29 +05:30
Riley Testut
392affe027 Converts legacy RefreshAllIntent into App Shortcut (iOS 17+) 2024-12-26 21:15:29 +05:30
Riley Testut
92d0f1a3c0 Fixes race condition causing duplicate background refresh notifications (or none) 2024-12-26 21:15:29 +05:30
Riley Testut
23efc6a163 Fixes not refreshing AltStore last when refreshing via Shortcut
Could potentially be an issue if AltStore needs to resign itself, e.g. with AltDaemon.
2024-12-26 21:15:29 +05:30