Merge branch 'feature/radio_fixes' of gitlab.verizon.com:BPHV_MIPS/mvm_core_ui into feature/radio_fixes

This commit is contained in:
Suresh, Kamlesh 2020-04-09 10:36:37 -04:00
commit a5d5df6ceb
7 changed files with 36 additions and 45 deletions

View File

@ -47,11 +47,11 @@ open class ExternalLink: Link {
trailingAnchor.constraint(greaterThanOrEqualTo: exportIcon.trailingAnchor).isActive = true
if let titleLabel = titleLabel {
let dimension = round(0.6 * titleLabel.font.pointSize)
let dimension = titleLabel.font.pointSize
exportIcon.heightAnchor.constraint(equalToConstant: dimension).isActive = true
exportIcon.widthAnchor.constraint(equalToConstant: dimension).isActive = true
exportIcon.leadingAnchor.constraint(equalTo: titleLabel.trailingAnchor, constant: PaddingOne).isActive = true
exportIcon.bottomAnchor.constraint(equalTo: titleLabel.lastBaselineAnchor).isActive = true
exportIcon.leadingAnchor.constraint(equalTo: titleLabel.trailingAnchor, constant: 4).isActive = true
exportIcon.bottomAnchor.constraint(equalTo: titleLabel.lastBaselineAnchor, constant: 3).isActive = true
}
}
}

View File

@ -760,8 +760,6 @@ public typealias ActionBlock = () -> ()
*/
static func getTextAttachmentImage(name: String = "externalLink", dimension: CGFloat) -> NSTextAttachment {
let dimension = round(dimension * 0.8)
let imageAttachment = NSTextAttachment()
imageAttachment.image = MVMCoreUIUtility.imageNamed(name)
imageAttachment.bounds = CGRect(x: 0, y: 0, width: dimension, height: dimension)
@ -771,23 +769,18 @@ public typealias ActionBlock = () -> ()
static func getTextAttachmentFrom(url: String, dimension: CGFloat, label: Label) -> NSTextAttachment {
let dimension = round(dimension * 0.8)
let imageAttachment = NSTextAttachment()
imageAttachment.bounds = CGRect(x: 0, y: 0, width: dimension, height: dimension)
DispatchQueue.global(qos: .default).async {
guard let url = URL(string: url),
let data = try? Data(contentsOf: url)
else { return }
DispatchQueue.main.sync {
imageAttachment.image = UIImage(data: data)
label.setNeedsDisplay()
MVMCoreCache.shared()?.getImage(url, useWidth: false, widthForS7: 0, useHeight: false, heightForS7: 0, localFallbackImageName: nil) { image, data, _ in
DispatchQueue.main.sync {
imageAttachment.image = image
label.setNeedsDisplay()
}
}
}
return imageAttachment
}

View File

@ -92,12 +92,8 @@ import UIKit
MVMCoreDispatchUtility.performBlock(onMainThread: {
self.handleNewDataAndUpdateUI()
// If the screen is showing, can update the navigation controller.
if let navigationController = self.manager?.navigationController,
self.manager!.getCurrentViewController() == self {
self.set(navigationController: navigationController)
} else if let navigationController = self.navigationController,
self == MVMCoreUIUtility.getCurrentVisibleController() {
self.set(navigationController: navigationController)
if MVMCoreUIUtility.getCurrentVisibleController() == self.manager ?? self {
self.setNavigationController()
}
})
} catch {
@ -177,18 +173,19 @@ import UIKit
}
// MARK: - Navigation Item (Move to model base)
open func set(navigationController: UINavigationController?) {
open func setNavigationController() {
guard let navigationItemModel = pageModel?.navigationItem,
let navigationController = navigationController else {
let navigationController = manager?.navigationController ?? navigationController else {
MVMCoreUISession.sharedGlobal()?.splitViewController?.parent?.setNeedsStatusBarAppearanceUpdate()
return
}
let viewController = manager ?? self
if navigationController == MVMCoreUISplitViewController.main()?.navigationController,
navigationController.topViewController == self {
navigationController.topViewController == viewController {
MVMCoreUISession.sharedGlobal()?.splitViewController?.setupPanels()
showBottomProgressBar()
}
NavigationController.set(navigationController: navigationController, navigationItemModel: navigationItemModel, viewController: self)
NavigationController.set(navigationController: navigationController, navigationItemModel: navigationItemModel, viewController: viewController)
}
// Eventually will be moved to server
@ -294,10 +291,8 @@ import UIKit
open override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
// Update the navigation bar ui when view is appearing unless in a manager. The manager is expected to handle.
if manager == nil {
set(navigationController: navigationController)
}
// Update the navigation bar ui when view is appearing
setNavigationController()
}
open override func viewDidAppear(_ animated: Bool) {
@ -330,9 +325,6 @@ import UIKit
// MARK: - MVMCoreViewManagerViewControllerProtocol
open func viewControllerReady(inManager manager: UIViewController & MVMCoreViewManagerProtocol) {
if initialLoadFinished {
set(navigationController: manager.navigationController)
}
// Janky way to track current page.
MVMCoreUISession.sharedGlobal()?.currentPageType = pageType
MVMCoreUILoggingHandler.shared()?.defaultLogPageState(forController: self)

View File

@ -24,6 +24,7 @@
+ (nonnull UIColor *)mvmOrange;
+ (nonnull UIColor *)mfPumpkinColor;
+ (nonnull UIColor *)mfShamrock;
+ (nonnull UIColor *)mvmGreen;
+ (nonnull UIColor *)mfCerulean;
+ (nonnull UIColor *)mfWhiteTwo;

View File

@ -61,6 +61,10 @@
return [UIColor mfColor8bitsWithRed:0 green:134 blue:49 alpha:1.0];
}
+ (nonnull UIColor *)mvmGreen {
return [UIColor mfColor8bitsWithRed:0 green:134 blue:48 alpha:1.0];
}
+ (nonnull UIColor *)mfCerulean {
return [UIColor mfColor8bitsWithRed:0 green:122 blue:184 alpha:1.0];
}

View File

@ -40,7 +40,7 @@ import UIKit
return navigationController
}
public static func set(navigationController: UINavigationController, navigationItemModel: NavigationItemModelProtocol, viewController: (UIViewController & MVMCoreViewControllerProtocol)) {
public static func set(navigationController: UINavigationController, navigationItemModel: NavigationItemModelProtocol, viewController: UIViewController) {
viewController.navigationItem.title = navigationItemModel.title
viewController.navigationItem.accessibilityLabel = navigationItemModel.title
viewController.navigationItem.hidesBackButton = !navigationItemModel.systemBackButton
@ -58,7 +58,7 @@ import UIKit
if navigationController == MVMCoreUISession.sharedGlobal()?.navigationController,
navigationController.topViewController == viewController {
// Update line.
MVMCoreUISession.sharedGlobal()?.navigationController?.separatorView?.set(with: navigationItemModel.line ?? LineModel(type: .standard), viewController.delegateObject?() as? MVMCoreUIDelegateObject, nil)
MVMCoreUISession.sharedGlobal()?.navigationController?.separatorView?.setStyle(navigationItemModel.line?.type ?? .standard)
}
if navigationController == MVMCoreUISplitViewController.main()?.navigationController,

View File

@ -153,11 +153,11 @@ CGFloat const PanelAnimationDuration = 0.2;
- (IBAction)leftPanelButtonPressed:(id)sender {
[MVMCoreDispatchUtility performBlockOnMainThread:^{
UIViewController *viewController = self.navigationController.topViewController;
UIViewController *detailViewController = [self getCurrentDetailViewController];
// If Viewcontroller confirms to protocol and implements the the method leftPanelButtonPressed
if ([viewController conformsToProtocol:@protocol(MVMCoreUIDetailViewProtocol)]
&& [viewController respondsToSelector:@selector(isOverridingLeftButton)]
&& [((UIViewController <MVMCoreUIDetailViewProtocol> *)viewController) isOverridingLeftButton]) {
if ([detailViewController conformsToProtocol:@protocol(MVMCoreUIDetailViewProtocol)]
&& [detailViewController respondsToSelector:@selector(isOverridingLeftButton)]
&& [((UIViewController <MVMCoreUIDetailViewProtocol> *)detailViewController) isOverridingLeftButton]) {
return;
}
@ -175,9 +175,9 @@ CGFloat const PanelAnimationDuration = 0.2;
- (IBAction)backButtonPressed:(id)sender {
[MVMCoreDispatchUtility performBlockOnMainThread:^{
UIViewController *viewController = self.navigationController.topViewController;
if ([viewController conformsToProtocol:@protocol(MVMCoreUIDetailViewProtocol)] && [viewController respondsToSelector:@selector(backButtonPressed)]) {
[((UIViewController <MVMCoreUIDetailViewProtocol> *)viewController) backButtonPressed];
UIViewController *detailViewController = [self getCurrentDetailViewController];
if ([detailViewController conformsToProtocol:@protocol(MVMCoreUIDetailViewProtocol)] && [detailViewController respondsToSelector:@selector(backButtonPressed)]) {
[((UIViewController <MVMCoreUIDetailViewProtocol> *)detailViewController) backButtonPressed];
} else {
[[MVMCoreNavigationHandler sharedNavigationHandler] popTopViewControllerAnimated:YES];
}
@ -187,11 +187,12 @@ CGFloat const PanelAnimationDuration = 0.2;
- (IBAction)rightPanelButtonPressed:(id)sender {
[MVMCoreDispatchUtility performBlockOnMainThread:^{
UIViewController *viewController = self.navigationController.topViewController;
UIViewController *detailViewController = [self getCurrentDetailViewController];
// If Viewcontroller confirms to protocol and implements the the method rightPanelButtonPressed
if ([viewController conformsToProtocol:@protocol(MVMCoreUIDetailViewProtocol)]
&& [viewController respondsToSelector:@selector(isOverridingRightButton)]
&& [((UIViewController <MVMCoreUIDetailViewProtocol> *)viewController) isOverridingRightButton]) {
if ([detailViewController conformsToProtocol:@protocol(MVMCoreUIDetailViewProtocol)]
&& [detailViewController respondsToSelector:@selector(isOverridingRightButton)]
&& [((UIViewController <MVMCoreUIDetailViewProtocol> *)detailViewController) isOverridingRightButton]) {
return;
}