diff --git a/Classes/LinphoneUI/Base.lproj/StatusBarView.xib b/Classes/LinphoneUI/Base.lproj/StatusBarView.xib index 4c2ea4544..b4738d425 100644 --- a/Classes/LinphoneUI/Base.lproj/StatusBarView.xib +++ b/Classes/LinphoneUI/Base.lproj/StatusBarView.xib @@ -1,9 +1,9 @@ - + - + @@ -57,7 +57,7 @@ - + diff --git a/Classes/LinphoneUI/StatusBarView.h b/Classes/LinphoneUI/StatusBarView.h index a6104082e..698b172e8 100644 --- a/Classes/LinphoneUI/StatusBarView.h +++ b/Classes/LinphoneUI/StatusBarView.h @@ -35,6 +35,7 @@ @property(weak, nonatomic) IBOutlet UIView *outcallView; - (IBAction)onSecurityClick:(id)sender; +- (IBAction)onQualityClick:(id)sender; - (IBAction)onSideMenuClick:(id)sender; - (IBAction)onRegistrationStateClick:(id)sender; + (UIImage *)imageForState:(LinphoneRegistrationState)state; diff --git a/Classes/LinphoneUI/StatusBarView.m b/Classes/LinphoneUI/StatusBarView.m index c291da827..5c3d557f8 100644 --- a/Classes/LinphoneUI/StatusBarView.m +++ b/Classes/LinphoneUI/StatusBarView.m @@ -21,6 +21,7 @@ #import "LinphoneManager.h" #import "PhoneMainView.h" #import +#import "linphoneapp-Swift.h" @implementation StatusBarView { @@ -400,6 +401,11 @@ } } +- (IBAction)onQualityClick:(id)sender { + CallStatsViewModel* stats = [[CallStatsViewModel alloc]init]; + [stats toggleVisibility]; +} + - (IBAction)onSideMenuClick:(id)sender { UICompositeView *cvc = PhoneMainView.instance.mainViewController; [cvc hideSideMenu:(cvc.sideMenuView.frame.origin.x == 0)]; diff --git a/Classes/Swift/Voip/ViewModels/ControlsViewModel.swift b/Classes/Swift/Voip/ViewModels/ControlsViewModel.swift index 691e4461d..cee46e724 100644 --- a/Classes/Swift/Voip/ViewModels/ControlsViewModel.swift +++ b/Classes/Swift/Voip/ViewModels/ControlsViewModel.swift @@ -271,3 +271,19 @@ class ControlsViewModel { } } + +@objc class CallStatsViewModel: NSObject { + + override init() { + super.init() + } + + @objc + func toggleVisibility() -> Void { + if (ControlsViewModel.shared.callStatsVisible.value == true) { + ControlsViewModel.shared.callStatsVisible.value = false + } else { + ControlsViewModel.shared.callStatsVisible.value = true + } + } +} diff --git a/Classes/Swift/Voip/Views/CompositeViewControllers/ActiveCallOrConferenceView.swift b/Classes/Swift/Voip/Views/CompositeViewControllers/ActiveCallOrConferenceView.swift index 8eb9e70cf..4808f2fe5 100644 --- a/Classes/Swift/Voip/Views/CompositeViewControllers/ActiveCallOrConferenceView.swift +++ b/Classes/Swift/Voip/Views/CompositeViewControllers/ActiveCallOrConferenceView.swift @@ -256,8 +256,7 @@ import linphonesw self.numpadView?.removeFromSuperview() self.shadingMask.isHidden = false self.numpadView = NumpadView(superView: self.view,callData: CallsViewModel.shared.currentCallData.value!!,marginTop:self.currentCallView?.centerSection.frame.origin.y ?? 0.0, onDismissAction: { - self.numpadView?.removeFromSuperview() - self.shadingMask.isHidden = true + ControlsViewModel.shared.numpadVisible.value = false }) } else { self.numpadView?.removeFromSuperview() @@ -272,8 +271,7 @@ import linphonesw self.currentCallStatsVew?.removeFromSuperview() self.shadingMask.isHidden = false self.currentCallStatsVew = CallStatsView(superView: self.view,callData: CallsViewModel.shared.currentCallData.value!!,marginTop:self.currentCallView?.centerSection.frame.origin.y ?? 0.0, onDismissAction: { - self.currentCallStatsVew?.removeFromSuperview() - self.shadingMask.isHidden = true + ControlsViewModel.shared.callStatsVisible.value = false }) } else { self.currentCallStatsVew?.removeFromSuperview() diff --git a/Classes/Swift/Voip/Views/Fragments/VoipExtraButtonsView.swift b/Classes/Swift/Voip/Views/Fragments/VoipExtraButtonsView.swift index 80338e480..5b70663d7 100644 --- a/Classes/Swift/Voip/Views/Fragments/VoipExtraButtonsView.swift +++ b/Classes/Swift/Voip/Views/Fragments/VoipExtraButtonsView.swift @@ -60,12 +60,12 @@ class VoipExtraButtonsView: UIStackView { // First row let numpad = VoipExtraButton(text: VoipTexts.call_action_numpad, buttonTheme: VoipTheme.call_action("voip_call_numpad"),onClickAction: { - ControlsViewModel.shared.numpadVisible.notifyAllObservers(with: true) + ControlsViewModel.shared.numpadVisible.value = true }) row1.addArrangedSubview(numpad) let stats = VoipExtraButton(text: VoipTexts.call_action_statistics, buttonTheme: VoipTheme.call_action("voip_call_stats"),onClickAction: { - ControlsViewModel.shared.callStatsVisible.notifyAllObservers(with: true) + ControlsViewModel.shared.callStatsVisible.value = true }) row1.addArrangedSubview(stats)