/*
 *  Copyright (c) 2018-present, Facebook, Inc.
 *
 *  This source code is licensed under the MIT license found in the LICENSE
 *  file in the root directory of this source tree.
 *
 */
#if FB_SONARKIT_ENABLED

#import "SKHighlightOverlay.h"

@implementation SKHighlightOverlay
{
  CALayer *_overlayLayer;
}

+ (instancetype)sharedInstance {
  static SKHighlightOverlay *sharedInstance = nil;
  static dispatch_once_t onceToken;
  dispatch_once(&onceToken, ^{
      sharedInstance = [self new];
  });
  return sharedInstance;
}

- (instancetype)init {
  if (self = [super init]) {
    _overlayLayer = [CALayer layer];
    _overlayLayer.backgroundColor = [SKHighlightOverlay overlayColor].CGColor;
  }

  return self;
}

- (void)mountInView:(UIView *)view withFrame:(CGRect)frame {
  [CATransaction begin];
  [CATransaction setValue:(id)kCFBooleanTrue
                   forKey:kCATransactionDisableActions];
  _overlayLayer.frame = frame;
  [view.layer addSublayer: _overlayLayer];
  [CATransaction commit];
}

- (void)unmount {
  [_overlayLayer removeFromSuperlayer];
}

+ (UIColor*)overlayColor {
  return [UIColor colorWithRed:136.0 / 255.0 green:117.0 / 255.0 blue:197.0 / 255.0 alpha:0.6];
}

@end

#endif
