mirror of
https://github.com/zzanehip/The-OldOS-Project.git
synced 2025-01-22 17:23:58 -05:00
Build 1.0 (9)
- Fixes crashing with 100k+ photo libraries - Fixes TabView scrolling issues - Improves Home Screen animations - Fixes Camera not stopping after exiting app - Fixes Home Screen for iPhone 8 sized devices - Fixes game center - Improves shadows - Adds unlock sound
This commit is contained in:
parent
e142a62f94
commit
85de87089d
7 changed files with 37 additions and 5 deletions
|
@ -82,6 +82,7 @@
|
|||
0D818C802600500B00824F8E /* AppStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0D818C7F2600500B00824F8E /* AppStore.swift */; };
|
||||
0D818C862603FCDA00824F8E /* FeedKit in Frameworks */ = {isa = PBXBuildFile; productRef = 0D818C852603FCDA00824F8E /* FeedKit */; };
|
||||
0D818C8C26059B4500824F8E /* SDWebImageSwiftUI in Frameworks */ = {isa = PBXBuildFile; productRef = 0D818C8B26059B4500824F8E /* SDWebImageSwiftUI */; };
|
||||
0DD19EEF2675418600A3EEF8 /* unlock.aiff in Resources */ = {isa = PBXBuildFile; fileRef = 0DD19EEE2675418600A3EEF8 /* unlock.aiff */; };
|
||||
0DDBD2142624FF6600106345 /* cities.json in Resources */ = {isa = PBXBuildFile; fileRef = 0DDBD2132624FF6600106345 /* cities.json */; };
|
||||
0DEF66F6260CFBF800341037 /* iTunes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0DEF66F5260CFBF800341037 /* iTunes.swift */; };
|
||||
0DEF66FB2610240F00341037 /* style.css in Resources */ = {isa = PBXBuildFile; fileRef = 0DEF66FA2610240F00341037 /* style.css */; };
|
||||
|
@ -191,6 +192,7 @@
|
|||
0D818C2D25F7308300824F8E /* Hackensack.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = Hackensack.ttf; sourceTree = "<group>"; };
|
||||
0D818C3525F92A9200824F8E /* GameKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GameKit.framework; path = System/Library/Frameworks/GameKit.framework; sourceTree = SDKROOT; };
|
||||
0D818C7F2600500B00824F8E /* AppStore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppStore.swift; sourceTree = "<group>"; };
|
||||
0DD19EEE2675418600A3EEF8 /* unlock.aiff */ = {isa = PBXFileReference; lastKnownFileType = audio.aiff; path = unlock.aiff; sourceTree = "<group>"; };
|
||||
0DDBD2132624FF6600106345 /* cities.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = cities.json; sourceTree = "<group>"; };
|
||||
0DE37D4B267058C9001196E3 /* Camera-SwiftUI-main */ = {isa = PBXFileReference; lastKnownFileType = folder; path = "Camera-SwiftUI-main"; sourceTree = "<group>"; };
|
||||
0DEF66F5260CFBF800341037 /* iTunes.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = iTunes.swift; sourceTree = "<group>"; };
|
||||
|
@ -385,6 +387,7 @@
|
|||
0D818BD225EDF89100824F8E /* Tones */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
0DD19EEE2675418600A3EEF8 /* unlock.aiff */,
|
||||
0D80447B26628BF000000171 /* begin_video_record.caf */,
|
||||
0D80447C26628BF100000171 /* end_video_record.caf */,
|
||||
0D818BCA25EDDF0700824F8E /* dtmf-0.caf */,
|
||||
|
@ -575,6 +578,7 @@
|
|||
0D818C2925F7307F00824F8E /* Superclarendon Bold.ttf in Resources */,
|
||||
0D39B3F625AA9EB700B42A84 /* Assets.xcassets in Resources */,
|
||||
0D0FB50B262A75F4008AE4C5 /* NextPageNoTextureFragmentShader.glsl in Resources */,
|
||||
0DD19EEF2675418600A3EEF8 /* unlock.aiff in Resources */,
|
||||
0DDBD2142624FF6600106345 /* cities.json in Resources */,
|
||||
0D818BE725EDF98300824F8E /* dtmf-4.caf in Resources */,
|
||||
0D818BE325EDF98300824F8E /* dtmf-star.caf in Resources */,
|
||||
|
|
|
@ -31,6 +31,8 @@ struct Camera: View {
|
|||
}
|
||||
|
||||
}
|
||||
}.onDisappear() {
|
||||
model.end_session()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -320,4 +322,7 @@ final class CameraModel: ObservableObject {
|
|||
func record() {
|
||||
service.record()
|
||||
}
|
||||
func end_session() {
|
||||
service.session.stopRunning()
|
||||
}
|
||||
}
|
||||
|
|
|
@ -167,9 +167,7 @@ struct HomeScreen: View {
|
|||
LinearGradient(gradient:Gradient(colors: [Color(red: 34/255, green: 34/255, blue: 34/255).opacity(0.0), Color(red: 24/255, green: 24/255, blue: 24/255).opacity(0.85)]), startPoint: .top, endPoint: .bottom).frame(minWidth: geometry.size.width, maxWidth:geometry.size.width, minHeight: geometry.size.height/4.25, maxHeight: geometry.size.height/4.25, alignment: .center).clipped()
|
||||
}
|
||||
}
|
||||
if selectedPage == 0 {
|
||||
Color.black.opacity(0.65).padding(.top, 24)
|
||||
}
|
||||
Color.black.opacity(selectedPage == 0 ? 0.65 : 0).padding(.top, 24)
|
||||
VStack {
|
||||
status_bar().frame(minHeight: 24, maxHeight:24).zIndex(1)
|
||||
Spacer().frame(height: 30)
|
||||
|
@ -231,6 +229,11 @@ struct HomeScreen: View {
|
|||
}.padding(.bottom, 110).offset(y:dock_offset).offset(y:bottom_indicator_offset)
|
||||
}
|
||||
}.onAppear() {
|
||||
//MARK — iPhone 8
|
||||
if UIScreen.main.bounds.width == 375 && UIScreen.main.bounds.height == 667 {
|
||||
bottom_indicator_offset = 17.5
|
||||
icon_scaler = 0.55
|
||||
}
|
||||
//MARK — iPhone 8 Plus
|
||||
if UIScreen.main.bounds.width == 414 && UIScreen.main.bounds.height == 736 {
|
||||
bottom_indicator_offset = 10
|
||||
|
@ -319,7 +322,7 @@ struct search_results_view: View {
|
|||
}.frame(height: geometry.size.height).background(Color(red: 228/255, green: 229/255, blue: 230/255)).cornerRadius(12)
|
||||
}
|
||||
}.onAppear() {
|
||||
UIScrollView.appearance().bounces = true
|
||||
//UIScrollView.appearance().bounces = true -> There's something weird going on where we can't readily modify the bounce value of our scrollviews in the TabView. Therefore, our app pages bounce, when they shouldn't. For now, we'll compromise and have the search not bounce, instead of the apps bouncing.
|
||||
}.onDisappear() {
|
||||
UIScrollView.appearance().bounces = false
|
||||
}
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
import SwiftUI
|
||||
import CoreTelephony
|
||||
import PureSwiftUITools
|
||||
import AVKit
|
||||
|
||||
struct LockScreen: View {
|
||||
@Binding var current_view: String
|
||||
|
@ -208,6 +209,7 @@ extension View {
|
|||
}
|
||||
}
|
||||
struct DraggableView: ViewModifier {
|
||||
@State var audioPlayer: AVAudioPlayer!
|
||||
@Binding var offset: CGPoint
|
||||
@Binding var current_view: String
|
||||
@Binding var out_slides: CGFloat
|
||||
|
@ -232,6 +234,7 @@ struct DraggableView: ViewModifier {
|
|||
}.onEnded { value in
|
||||
if self.offset.x >= width - (50+81) {
|
||||
//unlock
|
||||
playSounds("unlock.aiff")
|
||||
self.offset.x = width - (50+81)
|
||||
withAnimation(.easeIn(duration: 0.15)) {
|
||||
out_slides = 120
|
||||
|
@ -255,4 +258,20 @@ struct DraggableView: ViewModifier {
|
|||
})
|
||||
.offset(x: offset.x > 0 ? offset.x : 0, y: 0)
|
||||
}
|
||||
|
||||
func playSounds(_ soundFileName : String) {
|
||||
DispatchQueue.global(qos: .background).async {
|
||||
guard let soundURL = Bundle.main.url(forResource: soundFileName, withExtension: nil) else {
|
||||
return
|
||||
}
|
||||
|
||||
do {
|
||||
audioPlayer = try AVAudioPlayer(contentsOf: soundURL)
|
||||
} catch {
|
||||
print(error.localizedDescription)
|
||||
}
|
||||
audioPlayer.setVolume(0.05, fadeDuration: 1.0)
|
||||
audioPlayer.play()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -554,6 +554,7 @@ class PhotosObserver: ObservableObject {
|
|||
fetchOptions.predicate = NSPredicate(format: "mediaType == %d || mediaType == %d",
|
||||
PHAssetMediaType.image.rawValue,
|
||||
PHAssetMediaType.video.rawValue)
|
||||
fetchOptions.fetchLimit = 50000 //Let's try limiting to 50k to avoid crashing...some people have libraries over 100k and that is just somthing we can't handle.
|
||||
let assets = PHAsset.fetchAssets(with: fetchOptions)
|
||||
assets.enumerateObjects({ (object, count, stop) in
|
||||
DispatchQueue.main.async() {
|
||||
|
|
|
@ -1724,7 +1724,7 @@ struct photos_view: View {
|
|||
}
|
||||
Spacer().frame(height:15)
|
||||
HStack {
|
||||
Text("HDR blens the best parts of three\nseparate exposures into a single photo.").multilineTextAlignment(.leading).lineLimit(nil).fixedSize(horizontal: false, vertical: true).foregroundColor(Color(red: 76/255, green: 86/255, blue: 108/255)).font(.custom("Helvetica Neue Regular", size: 15)).shadow(color: Color.white.opacity(0.9), radius: 0, x: 0.0, y: 0.9).padding([.leading, .trailing], 24).frame(maxHeight: .infinity)
|
||||
Text("HDR blends the best parts of three\nseparate exposures into a single photo.").multilineTextAlignment(.leading).lineLimit(nil).fixedSize(horizontal: false, vertical: true).foregroundColor(Color(red: 76/255, green: 86/255, blue: 108/255)).font(.custom("Helvetica Neue Regular", size: 15)).shadow(color: Color.white.opacity(0.9), radius: 0, x: 0.0, y: 0.9).padding([.leading, .trailing], 24).frame(maxHeight: .infinity)
|
||||
Spacer()
|
||||
}
|
||||
Spacer().frame(height: 15)
|
||||
|
|
BIN
OldOS/OldOS/Tones/unlock.aiff
Normal file
BIN
OldOS/OldOS/Tones/unlock.aiff
Normal file
Binary file not shown.
Loading…
Reference in a new issue