Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
48 changes: 31 additions & 17 deletions Loop Status Extension/Base.lproj/MainInterface.storyboard
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="11762" systemVersion="15G1217" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES" initialViewController="64E-I5-5c4">
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="12118" systemVersion="16E195" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES" initialViewController="64E-I5-5c4">
<device id="retina4_7" orientation="portrait">
<adaptation id="fullscreen"/>
</device>
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="11757"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="12086"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<scenes>
Expand All @@ -18,37 +18,51 @@
<viewControllerLayoutGuide type="bottom" id="Vi1-50-EGe"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="Vhu-kB-paW">
<rect key="frame" x="0.0" y="0.0" width="375" height="200"/>
<rect key="frame" x="0.0" y="0.0" width="375" height="220"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" translatesAutoresizingMaskIntoConstraints="NO" id="QEK-eF-fK6">
<rect key="frame" x="8" y="8" width="359" height="184"/>
<rect key="frame" x="8" y="0.0" width="359" height="220"/>
<subviews>
<stackView opaque="NO" contentMode="scaleToFill" distribution="fillEqually" translatesAutoresizingMaskIntoConstraints="NO" id="d8d-rW-z8J" customClass="HUDView" customModule="LoopUI">
<rect key="frame" x="0.0" y="0.0" width="359" height="70"/>
<constraints>
<constraint firstAttribute="height" constant="70" id="Pes-zW-tY0"/>
<constraint firstAttribute="height" constant="70" id="CMw-Lk-A0P"/>
</constraints>
</stackView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Eventually 92 mg/dL" textAlignment="right" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="9iF-xY-Bh4">
<rect key="frame" x="0.0" y="70" width="359" height="24"/>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="3n2-yC-jGi">
<rect key="frame" x="0.0" y="70" width="359" height="40"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" layoutMarginsFollowReadableWidth="YES" text="Eventually 92 mg/dL" textAlignment="right" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="9iF-xY-Bh4">
<rect key="frame" x="8" y="0.0" width="343" height="40"/>
<constraints>
<constraint firstAttribute="height" relation="greaterThanOrEqual" constant="40" id="aVA-Mg-CvQ"/>
</constraints>
<fontDescription key="fontDescription" type="boldSystem" pointSize="15"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
</subviews>
<constraints>
<constraint firstAttribute="height" constant="24" id="EgB-lz-6eX"/>
<constraint firstItem="9iF-xY-Bh4" firstAttribute="top" secondItem="3n2-yC-jGi" secondAttribute="top" id="HSD-ba-SBR"/>
<constraint firstAttribute="bottom" secondItem="9iF-xY-Bh4" secondAttribute="bottom" id="LtS-Ct-5Wl"/>
<constraint firstItem="9iF-xY-Bh4" firstAttribute="leading" secondItem="3n2-yC-jGi" secondAttribute="leading" constant="8" id="cIA-WI-DT4"/>
<constraint firstAttribute="trailing" secondItem="9iF-xY-Bh4" secondAttribute="trailing" constant="8" id="x9b-EB-fji"/>
</constraints>
<fontDescription key="fontDescription" type="boldSystem" pointSize="15"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
</view>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="GVu-hk-PBg" customClass="ChartContentView" customModule="LoopUI">
<rect key="frame" x="0.0" y="94" width="359" height="90"/>
<rect key="frame" x="0.0" y="110" width="359" height="110"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
<constraints>
<constraint firstAttribute="height" relation="greaterThanOrEqual" constant="100" id="rLK-f9-lLl"/>
</constraints>
</view>
</subviews>
</stackView>
</subviews>
<constraints>
<constraint firstItem="Vi1-50-EGe" firstAttribute="top" secondItem="QEK-eF-fK6" secondAttribute="bottom" constant="8" id="8CP-lo-FxM"/>
<constraint firstItem="QEK-eF-fK6" firstAttribute="top" secondItem="RlU-UG-7QV" secondAttribute="bottom" constant="8" id="Rna-hO-xkd"/>
<constraint firstItem="Vi1-50-EGe" firstAttribute="top" secondItem="QEK-eF-fK6" secondAttribute="bottom" id="8CP-lo-FxM"/>
<constraint firstItem="QEK-eF-fK6" firstAttribute="top" secondItem="RlU-UG-7QV" secondAttribute="bottom" id="Rna-hO-xkd"/>
<constraint firstItem="QEK-eF-fK6" firstAttribute="leading" secondItem="Vhu-kB-paW" secondAttribute="leading" constant="8" id="hDE-a8-dTa"/>
<constraint firstAttribute="trailing" secondItem="QEK-eF-fK6" secondAttribute="trailing" constant="8" id="rIV-pZ-0Ap"/>
</constraints>
Expand All @@ -58,7 +72,7 @@
<nil key="simulatedTopBarMetrics"/>
<nil key="simulatedBottomBarMetrics"/>
<freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/>
<size key="freeformSize" width="375" height="200"/>
<size key="freeformSize" width="375" height="220"/>
<connections>
<outlet property="glucoseChartContentView" destination="GVu-hk-PBg" id="gfZ-nx-P6V"/>
<outlet property="hudView" destination="d8d-rW-z8J" id="7Cp-BW-Kpc"/>
Expand Down
43 changes: 29 additions & 14 deletions Loop Status Extension/StatusViewController.swift
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,25 @@ class StatusViewController: UIViewController, NCWidgetProviding {
@IBOutlet weak var glucoseChartContentView: ChartContentView!

private lazy var charts: StatusChartsManager = {
let charts = StatusChartsManager(colors: ChartColorPalette(axisLine: .axisLineColor, axisLabel: .axisLabelColor, grid: .gridColor, glucoseTint: .glucoseTintColor, doseTint: .doseTintColor))
let charts = StatusChartsManager(
colors: ChartColorPalette(
axisLine: .axisLineColor,
axisLabel: .axisLabelColor,
grid: .gridColor,
glucoseTint: .glucoseTintColor,
doseTint: .doseTintColor
),
settings: {
var settings = ChartSettings()
settings.top = 4
settings.bottom = 8
settings.trailing = 8
settings.axisTitleLabelsToLabelsSpacing = 0
settings.labelsToAxisSpacingX = 6
settings.labelsWidthY = 30
return settings
}()
)

charts.glucoseDisplayRange = (
min: HKQuantity(unit: HKUnit.milligramsPerDeciliterUnit(), doubleValue: 100),
Expand Down Expand Up @@ -75,7 +93,7 @@ class StatusViewController: UIViewController, NCWidgetProviding {

override func viewDidLoad() {
super.viewDidLoad()
subtitleLabel.alpha = 0
subtitleLabel.isHidden = true
subtitleLabel.textColor = .subtitleLabelColor

let tapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(openLoopApp(_:)))
Expand All @@ -97,7 +115,7 @@ class StatusViewController: UIViewController, NCWidgetProviding {
}

self.extensionContext?.widgetLargestAvailableDisplayMode = NCWidgetDisplayMode.expanded
glucoseChartContentView.alpha = self.extensionContext?.widgetActiveDisplayMode == NCWidgetDisplayMode.compact ? 0 : 1
glucoseChartContentView.isHidden = self.extensionContext?.widgetActiveDisplayMode != .expanded
}

deinit {
Expand All @@ -107,10 +125,11 @@ class StatusViewController: UIViewController, NCWidgetProviding {
}

func widgetActiveDisplayModeDidChange(_ activeDisplayMode: NCWidgetDisplayMode, withMaximumSize maxSize: CGSize) {
if (activeDisplayMode == NCWidgetDisplayMode.compact) {
self.preferredContentSize = maxSize
} else {
self.preferredContentSize = CGSize(width: maxSize.width, height: 210)
switch activeDisplayMode {
case .compact:
preferredContentSize = maxSize
case .expanded:
preferredContentSize = CGSize(width: maxSize.width, height: 210)
}
}

Expand All @@ -119,11 +138,7 @@ class StatusViewController: UIViewController, NCWidgetProviding {

coordinator.animate(alongsideTransition: {
(UIViewControllerTransitionCoordinatorContext) -> Void in
if self.extensionContext?.widgetActiveDisplayMode == .compact {
self.glucoseChartContentView.alpha = 0
} else {
self.glucoseChartContentView.alpha = 1
}
self.glucoseChartContentView.isHidden = self.extensionContext?.widgetActiveDisplayMode != .expanded
})
}

Expand Down Expand Up @@ -178,7 +193,7 @@ class StatusViewController: UIViewController, NCWidgetProviding {
loopCompletionHUD.lastLoopCompleted = loop.lastCompleted
}

subtitleLabel.alpha = 0
subtitleLabel.isHidden = true

let dateFormatter: DateFormatter = {
let dateFormatter = DateFormatter()
Expand Down Expand Up @@ -225,7 +240,7 @@ class StatusViewController: UIViewController, NCWidgetProviding {
eventualGlucoseNumberString,
eventualGlucose.unit.glucoseUnitDisplayString
)
subtitleLabel.alpha = 1
subtitleLabel.isHidden = false
}
}
}
Expand Down
2 changes: 1 addition & 1 deletion Loop Status Extension/UIColor+Widget.swift
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ import LoopUI
extension UIColor {
@nonobjc static let axisLabelColor = subtitleLabelColor

@nonobjc static let axisLineColor = subtitleLabelColor
@nonobjc static let axisLineColor = UIColor.clear

@nonobjc static let doseTintColor = UIColor(red: 255 / 255, green: 109 / 255, blue: 0, alpha: 1)

Expand Down
Loading