Do not observe shared entities if uninterested (#313)
`@ObservedObject` is unnecessary in cases where manager operation is unidirectional.
This commit is contained in:
parent
ddab76326d
commit
7030ad40c2
|
@ -30,10 +30,6 @@ extension OrganizerView {
|
||||||
struct SceneView: View {
|
struct SceneView: View {
|
||||||
@Environment(\.scenePhase) private var scenePhase
|
@Environment(\.scenePhase) private var scenePhase
|
||||||
|
|
||||||
@ObservedObject private var profileManager: ProfileManager
|
|
||||||
|
|
||||||
@ObservedObject private var vpnManager: VPNManager
|
|
||||||
|
|
||||||
@Binding private var alertType: AlertType?
|
@Binding private var alertType: AlertType?
|
||||||
|
|
||||||
@Binding private var didHandleSubreddit: Bool
|
@Binding private var didHandleSubreddit: Bool
|
||||||
|
@ -41,8 +37,6 @@ extension OrganizerView {
|
||||||
@State private var isFirstLaunch = true
|
@State private var isFirstLaunch = true
|
||||||
|
|
||||||
init(alertType: Binding<AlertType?>, didHandleSubreddit: Binding<Bool>) {
|
init(alertType: Binding<AlertType?>, didHandleSubreddit: Binding<Bool>) {
|
||||||
profileManager = .shared
|
|
||||||
vpnManager = .shared
|
|
||||||
_alertType = alertType
|
_alertType = alertType
|
||||||
_didHandleSubreddit = didHandleSubreddit
|
_didHandleSubreddit = didHandleSubreddit
|
||||||
}
|
}
|
||||||
|
@ -55,6 +49,7 @@ extension OrganizerView {
|
||||||
.onAppear(perform: onAppear)
|
.onAppear(perform: onAppear)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@MainActor
|
||||||
private func onAppear() {
|
private func onAppear() {
|
||||||
guard didHandleSubreddit else {
|
guard didHandleSubreddit else {
|
||||||
alertType = .subscribeReddit
|
alertType = .subscribeReddit
|
||||||
|
@ -74,8 +69,8 @@ extension OrganizerView {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
isFirstLaunch = false
|
isFirstLaunch = false
|
||||||
if themeIdiom != .phone && !themeIsiPadPortrait, let activeProfileId = profileManager.activeProfileId {
|
if themeIdiom != .phone && !themeIsiPadPortrait, let activeProfileId = ProfileManager.shared.activeProfileId {
|
||||||
profileManager.currentProfileId = activeProfileId
|
ProfileManager.shared.currentProfileId = activeProfileId
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue