mirror of
https://github.com/AU-COVIDSafe/mobile-ios.git
synced 2025-01-18 16:56:33 +00:00
COVIDSafe code from version 1.5 (#5)
This commit is contained in:
parent
6b262be150
commit
149daee2e9
21 changed files with 825 additions and 652 deletions
|
@ -30,7 +30,6 @@
|
|||
1B86119B24303FA200EA4B6B /* Question3ErrorViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1B86119A24303FA200EA4B6B /* Question3ErrorViewController.swift */; };
|
||||
1B86119D24303FC000EA4B6B /* QuestionUploadDataViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1B86119C24303FC000EA4B6B /* QuestionUploadDataViewController.swift */; };
|
||||
30BE1CAA23F108BA005DCE4F /* UploadFileData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30BE1CA923F108BA005DCE4F /* UploadFileData.swift */; };
|
||||
30BE1CAD23F119FD005DCE4F /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 30BE1CAC23F119FD005DCE4F /* Localizable.strings */; };
|
||||
30BE1CAF23F1349F005DCE4F /* EncounterRecord.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30BE1CAE23F1349F005DCE4F /* EncounterRecord.swift */; };
|
||||
30BE1CB123F134D0005DCE4F /* Encounter+EncounterRecord.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30BE1CB023F134D0005DCE4F /* Encounter+EncounterRecord.swift */; };
|
||||
30BE1CB523F15D47005DCE4F /* OTPViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30BE1CB423F15D47005DCE4F /* OTPViewController.swift */; };
|
||||
|
@ -108,6 +107,8 @@
|
|||
5B7ABF25244D3BC600BB249B /* IsolationSuccessViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B7ABF24244D3BC600BB249B /* IsolationSuccessViewController.swift */; };
|
||||
5B7ABF26244D3BC600BB249B /* IsolationSuccessViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B7ABF24244D3BC600BB249B /* IsolationSuccessViewController.swift */; };
|
||||
5B7ABF28244D6BE100BB249B /* UnderSixteenViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B7ABF27244D6BE100BB249B /* UnderSixteenViewController.swift */; };
|
||||
5B82435E2480DC2100705CB1 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 5B8243612480DC2100705CB1 /* Localizable.strings */; };
|
||||
5B82435F2480DC2100705CB1 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 5B8243612480DC2100705CB1 /* Localizable.strings */; };
|
||||
5B92D663243011B40049877B /* CovidSafe-config.plist in Resources */ = {isa = PBXBuildFile; fileRef = 5B92D662243011B30049877B /* CovidSafe-config.plist */; };
|
||||
5B92D66B243018040049877B /* UIProgressView + Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = B615C5A623F8EB1700345969 /* UIProgressView + Extension.swift */; };
|
||||
5B92D66D243018040049877B /* tracer.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = 5DD41D7723DE141700FD4AB0 /* tracer.xcdatamodeld */; };
|
||||
|
@ -181,7 +182,6 @@
|
|||
5B92D6BB243018040049877B /* UploadData.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = B6932CE624260E2B003D1810 /* UploadData.storyboard */; };
|
||||
5B92D6BD243018040049877B /* JMCTarget.json in Resources */ = {isa = PBXBuildFile; fileRef = A767D2DA242DF1B000DC9E2A /* JMCTarget.json */; };
|
||||
5B92D6BF243018040049877B /* NewFeedbackFlow.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = A767D2D0242DF1B000DC9E2A /* NewFeedbackFlow.storyboard */; };
|
||||
5B92D6C2243018040049877B /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 30BE1CAC23F119FD005DCE4F /* Localizable.strings */; };
|
||||
5B92D6C7243018040049877B /* CovidSafe-config.plist in Resources */ = {isa = PBXBuildFile; fileRef = 5B92D666243012330049877B /* CovidSafe-config.plist */; };
|
||||
5B92D6C8243018040049877B /* NewFeedbackFlow.strings in Resources */ = {isa = PBXBuildFile; fileRef = A767D2B2242DF1B000DC9E2A /* NewFeedbackFlow.strings */; };
|
||||
5B92D6C9243018040049877B /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 5DD41D4523DCB03D00FD4AB0 /* LaunchScreen.storyboard */; };
|
||||
|
@ -287,7 +287,6 @@
|
|||
20A0AADA27329C83CFAB5A7C /* Pods-CovidSafe.covid-staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-CovidSafe.covid-staging.xcconfig"; path = "Target Support Files/Pods-CovidSafe/Pods-CovidSafe.covid-staging.xcconfig"; sourceTree = "<group>"; };
|
||||
2B916D8946F8A94E32E569C7 /* Pods-CovidSafe.covid-staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-CovidSafe.covid-staging.xcconfig"; path = "Target Support Files/Pods-CovidSafe/Pods-CovidSafe.covid-staging.xcconfig"; sourceTree = "<group>"; };
|
||||
30BE1CA923F108BA005DCE4F /* UploadFileData.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UploadFileData.swift; sourceTree = "<group>"; };
|
||||
30BE1CAC23F119FD005DCE4F /* Localizable.strings */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; path = Localizable.strings; sourceTree = "<group>"; };
|
||||
30BE1CAE23F1349F005DCE4F /* EncounterRecord.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EncounterRecord.swift; sourceTree = "<group>"; };
|
||||
30BE1CB023F134D0005DCE4F /* Encounter+EncounterRecord.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Encounter+EncounterRecord.swift"; sourceTree = "<group>"; };
|
||||
30BE1CB423F15D47005DCE4F /* OTPViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OTPViewController.swift; sourceTree = "<group>"; };
|
||||
|
@ -333,6 +332,7 @@
|
|||
5B577814245A584C0088F111 /* UploadDataPrefaceViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UploadDataPrefaceViewController.swift; sourceTree = "<group>"; };
|
||||
5B7ABF24244D3BC600BB249B /* IsolationSuccessViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IsolationSuccessViewController.swift; sourceTree = "<group>"; };
|
||||
5B7ABF27244D6BE100BB249B /* UnderSixteenViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UnderSixteenViewController.swift; sourceTree = "<group>"; };
|
||||
5B8243602480DC2100705CB1 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = "<group>"; };
|
||||
5B92D662243011B30049877B /* CovidSafe-config.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "CovidSafe-config.plist"; path = "Resources/PROD/CovidSafe-config.plist"; sourceTree = "<group>"; };
|
||||
5B92D666243012330049877B /* CovidSafe-config.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = "CovidSafe-config.plist"; path = "Resources/STG/CovidSafe-config.plist"; sourceTree = "<group>"; };
|
||||
5B92D6D9243018040049877B /* COVIDSafe-staging.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "COVIDSafe-staging.app"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
|
@ -602,9 +602,18 @@
|
|||
path = RootCAs;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
5B82435D2480DAB100705CB1 /* Internationalization */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
5B8243612480DC2100705CB1 /* Localizable.strings */,
|
||||
);
|
||||
name = Internationalization;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
5B92D661243005B10049877B /* Resources */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
5B82435D2480DAB100705CB1 /* Internationalization */,
|
||||
5B92D665243011D90049877B /* PROD */,
|
||||
5B92D664243011CB0049877B /* STG */,
|
||||
);
|
||||
|
@ -689,7 +698,6 @@
|
|||
5DD41D4323DCB03D00FD4AB0 /* Assets.xcassets */,
|
||||
5DD41D4523DCB03D00FD4AB0 /* LaunchScreen.storyboard */,
|
||||
5DD41D4823DCB03D00FD4AB0 /* Info.plist */,
|
||||
30BE1CAC23F119FD005DCE4F /* Localizable.strings */,
|
||||
5D269C0A23E22CC400ADF2DE /* DeviceIdentifier.swift */,
|
||||
DC24373E23F51531007BDBDF /* covid-Bridging-Header.h */,
|
||||
);
|
||||
|
@ -893,7 +901,6 @@
|
|||
ja,
|
||||
nb,
|
||||
"en-GB",
|
||||
es,
|
||||
is,
|
||||
da,
|
||||
et,
|
||||
|
@ -913,6 +920,7 @@
|
|||
"pt-PT",
|
||||
ro,
|
||||
zh,
|
||||
es,
|
||||
);
|
||||
mainGroup = 5DD41D2E23DCB03B00FD4AB0;
|
||||
productRefGroup = 5DD41D3823DCB03B00FD4AB0 /* Products */;
|
||||
|
@ -937,7 +945,7 @@
|
|||
59AF2EA92435801400ACCAF2 /* SFSRootCAG2.cer in Resources */,
|
||||
0BDE12302431DCE6003BC44C /* Questions.storyboard in Resources */,
|
||||
59F25D6A245B917A002A7ED8 /* Spinner_home.json in Resources */,
|
||||
5B92D6C2243018040049877B /* Localizable.strings in Resources */,
|
||||
5B82435F2480DC2100705CB1 /* Localizable.strings in Resources */,
|
||||
5B92D6C7243018040049877B /* CovidSafe-config.plist in Resources */,
|
||||
59AF2EA0243560FD00ACCAF2 /* AmazonRootCA1.cer in Resources */,
|
||||
5B92D6C8243018040049877B /* NewFeedbackFlow.strings in Resources */,
|
||||
|
@ -965,7 +973,7 @@
|
|||
59AF2EA82435801400ACCAF2 /* SFSRootCAG2.cer in Resources */,
|
||||
A767D312242DF1B000DC9E2A /* NewFeedbackFlow.storyboard in Resources */,
|
||||
59F25D69245B917A002A7ED8 /* Spinner_home.json in Resources */,
|
||||
30BE1CAD23F119FD005DCE4F /* Localizable.strings in Resources */,
|
||||
5B82435E2480DC2100705CB1 /* Localizable.strings in Resources */,
|
||||
5B92D663243011B40049877B /* CovidSafe-config.plist in Resources */,
|
||||
59AF2E9F243560FD00ACCAF2 /* AmazonRootCA1.cer in Resources */,
|
||||
A767D30F242DF1B000DC9E2A /* NewFeedbackFlow.strings in Resources */,
|
||||
|
@ -1293,6 +1301,14 @@
|
|||
/* End PBXSourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXVariantGroup section */
|
||||
5B8243612480DC2100705CB1 /* Localizable.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
5B8243602480DC2100705CB1 /* en */,
|
||||
);
|
||||
name = Localizable.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
5DD41D4023DCB03B00FD4AB0 /* Main.storyboard */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
|
@ -1405,7 +1421,7 @@
|
|||
CODE_SIGN_ENTITLEMENTS = "CovidSafe/Project Bluetrace.entitlements";
|
||||
CODE_SIGN_IDENTITY = "Apple Development";
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 25;
|
||||
CURRENT_PROJECT_VERSION = 31;
|
||||
DEVELOPMENT_TEAM = 45792XH5L8;
|
||||
INFOPLIST_FILE = "$(SRCROOT)/CovidSafe/Info.plist";
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 10.0;
|
||||
|
@ -1413,7 +1429,7 @@
|
|||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
);
|
||||
MARKETING_VERSION = 1.4;
|
||||
MARKETING_VERSION = 1.5;
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = au.gov.health.covidsafe;
|
||||
PRODUCT_NAME = COVIDSafe;
|
||||
|
@ -1488,7 +1504,7 @@
|
|||
CODE_SIGN_ENTITLEMENTS = "CovidSafe/Project Bluetrace.entitlements";
|
||||
CODE_SIGN_IDENTITY = "Apple Development";
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 25;
|
||||
CURRENT_PROJECT_VERSION = 31;
|
||||
DEVELOPMENT_TEAM = 45792XH5L8;
|
||||
INFOPLIST_FILE = "$(SRCROOT)/CovidSafe/Info.plist";
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 10.0;
|
||||
|
@ -1496,7 +1512,7 @@
|
|||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
);
|
||||
MARKETING_VERSION = 1.4;
|
||||
MARKETING_VERSION = 1.5;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = au.gov.health.covidsafe;
|
||||
PRODUCT_NAME = COVIDSafe;
|
||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||
|
@ -1516,7 +1532,7 @@
|
|||
CODE_SIGN_ENTITLEMENTS = "CovidSafe/Project Bluetrace.entitlements";
|
||||
CODE_SIGN_IDENTITY = "Apple Development";
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 25;
|
||||
CURRENT_PROJECT_VERSION = 31;
|
||||
DEVELOPMENT_TEAM = 45792XH5L8;
|
||||
INFOPLIST_FILE = "$(SRCROOT)/CovidSafe/Info.plist";
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 10.0;
|
||||
|
@ -1524,7 +1540,7 @@
|
|||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
);
|
||||
MARKETING_VERSION = 1.4;
|
||||
MARKETING_VERSION = 1.5;
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
OTHER_SWIFT_FLAGS = "$(inherited) -D COCOAPODS -D DEBUG";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = au.gov.health.covidsafe;
|
||||
|
@ -1546,7 +1562,7 @@
|
|||
CODE_SIGN_ENTITLEMENTS = "CovidSafe/Project Bluetrace.entitlements";
|
||||
CODE_SIGN_IDENTITY = "Apple Development";
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 25;
|
||||
CURRENT_PROJECT_VERSION = 31;
|
||||
DEVELOPMENT_TEAM = 45792XH5L8;
|
||||
INFOPLIST_FILE = "$(SRCROOT)/CovidSafe/Info.plist";
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 10.0;
|
||||
|
@ -1554,7 +1570,7 @@
|
|||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
);
|
||||
MARKETING_VERSION = 1.4;
|
||||
MARKETING_VERSION = 1.5;
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
OTHER_SWIFT_FLAGS = "$(inherited) -D COCOAPODS -D DEBUG";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = au.gov.health.covidsafe;
|
||||
|
@ -1576,7 +1592,7 @@
|
|||
CODE_SIGN_ENTITLEMENTS = "CovidSafe/Project Bluetrace.entitlements";
|
||||
CODE_SIGN_IDENTITY = "Apple Development";
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 25;
|
||||
CURRENT_PROJECT_VERSION = 31;
|
||||
DEVELOPMENT_TEAM = 45792XH5L8;
|
||||
INFOPLIST_FILE = "$(SRCROOT)/CovidSafe/Info.plist";
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 10.0;
|
||||
|
@ -1584,7 +1600,7 @@
|
|||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
);
|
||||
MARKETING_VERSION = 1.4;
|
||||
MARKETING_VERSION = 1.5;
|
||||
OTHER_SWIFT_FLAGS = "$(inherited) -D COCOAPODS -D DEBUG";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = au.gov.health.covidsafe;
|
||||
PRODUCT_MODULE_NAME = COVIDSafe;
|
||||
|
@ -1606,7 +1622,7 @@
|
|||
CODE_SIGN_ENTITLEMENTS = "CovidSafe/Project Bluetrace.entitlements";
|
||||
CODE_SIGN_IDENTITY = "Apple Development";
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 25;
|
||||
CURRENT_PROJECT_VERSION = 31;
|
||||
DEVELOPMENT_TEAM = 45792XH5L8;
|
||||
INFOPLIST_FILE = "$(SRCROOT)/CovidSafe/Info.plist";
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 10.0;
|
||||
|
@ -1614,7 +1630,7 @@
|
|||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
);
|
||||
MARKETING_VERSION = 1.4;
|
||||
MARKETING_VERSION = 1.5;
|
||||
OTHER_SWIFT_FLAGS = "$(inherited) -D COCOAPODS -D DEBUG";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = au.gov.health.covidsafe;
|
||||
PRODUCT_MODULE_NAME = COVIDSafe;
|
||||
|
@ -1752,7 +1768,7 @@
|
|||
CODE_SIGN_ENTITLEMENTS = "CovidSafe/Project Bluetrace.entitlements";
|
||||
CODE_SIGN_IDENTITY = "Apple Development";
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 25;
|
||||
CURRENT_PROJECT_VERSION = 31;
|
||||
DEVELOPMENT_TEAM = 45792XH5L8;
|
||||
INFOPLIST_FILE = "$(SRCROOT)/CovidSafe/Info.plist";
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 10.0;
|
||||
|
@ -1760,7 +1776,7 @@
|
|||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
);
|
||||
MARKETING_VERSION = 1.4;
|
||||
MARKETING_VERSION = 1.5;
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = au.gov.health.covidsafe;
|
||||
PRODUCT_NAME = COVIDSafe;
|
||||
|
@ -1780,7 +1796,7 @@
|
|||
CODE_SIGN_ENTITLEMENTS = "CovidSafe/Project Bluetrace.entitlements";
|
||||
CODE_SIGN_IDENTITY = "Apple Development";
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 25;
|
||||
CURRENT_PROJECT_VERSION = 31;
|
||||
DEVELOPMENT_TEAM = 45792XH5L8;
|
||||
INFOPLIST_FILE = "$(SRCROOT)/CovidSafe/Info.plist";
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 10.0;
|
||||
|
@ -1788,7 +1804,7 @@
|
|||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
);
|
||||
MARKETING_VERSION = 1.4;
|
||||
MARKETING_VERSION = 1.5;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = au.gov.health.covidsafe;
|
||||
PRODUCT_NAME = COVIDSafe;
|
||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||
|
|
|
@ -31,11 +31,11 @@
|
|||
<constraint firstAttribute="width" secondItem="ktg-vZ-UiA" secondAttribute="height" multiplier="1:1" id="wJ3-Vy-1rk"/>
|
||||
</constraints>
|
||||
</imageView>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Cme-9F-deB">
|
||||
<rect key="frame" x="75" y="288.5" width="170.5" height="41"/>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontForContentSizeCategory="YES" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Cme-9F-deB">
|
||||
<rect key="frame" x="77" y="288.5" width="166.5" height="42.5"/>
|
||||
<string key="text">Help stop the spread
|
||||
and save lives.</string>
|
||||
<fontDescription key="fontDescription" type="boldSystem" pointSize="17"/>
|
||||
<fontDescription key="fontDescription" style="UICTFontTextStyleHeadline"/>
|
||||
<nil key="textColor"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -62,12 +62,12 @@ class Crypto {
|
|||
}
|
||||
|
||||
// CREATE A LOCAL EPHEMERAL P-256 KEYPAIR
|
||||
let ephereralPublicKeyAttributes: [CFString: Any] = [
|
||||
let ephemeralPublicKeyAttributes: [CFString: Any] = [
|
||||
kSecAttrKeyType: kSecAttrKeyTypeECSECPrimeRandom,
|
||||
kSecAttrKeySizeInBits: 256,
|
||||
]
|
||||
|
||||
guard let ephemeralPrivateKey = SecKeyCreateRandomKey(ephereralPublicKeyAttributes as CFDictionary, &err) else {
|
||||
guard let ephemeralPrivateKey = SecKeyCreateRandomKey(ephemeralPublicKeyAttributes as CFDictionary, &err) else {
|
||||
throw err!.takeRetainedValue() as Error
|
||||
}
|
||||
guard let ephemeralPublicKey = SecKeyCopyPublicKey(ephemeralPrivateKey) else {
|
||||
|
|
Binary file not shown.
|
@ -29,13 +29,16 @@ final class FeedbackViewController: UIViewController {
|
|||
}
|
||||
|
||||
private lazy var sendBarButtonItem: UIBarButtonItem = {
|
||||
let item = UIBarButtonItem(title: "Send", style: .done, target: self, action: #selector(sendButtonTapped))
|
||||
item.tintColor = .covidSafeColor
|
||||
let item = UIBarButtonItem(title: NSLocalizedString("global_send_button_title",
|
||||
tableName: "Feedback",
|
||||
bundle: Bundle.main,
|
||||
comment: "Send"), style: .done, target: self, action: #selector(sendButtonTapped))
|
||||
item.tintColor = .covidCareColor
|
||||
return item
|
||||
}()
|
||||
|
||||
private lazy var doneButtonItem: UIBarButtonItem = {
|
||||
let item = UIBarButtonItem(title: "Done", style: .done, target: self, action: #selector(doneButtonTapped))
|
||||
let item = UIBarButtonItem(title: NSLocalizedString("Done", comment: "Done"), style: .done, target: self, action: #selector(doneButtonTapped))
|
||||
item.tintColor = .covidSafeColor
|
||||
return item
|
||||
}()
|
||||
|
@ -145,7 +148,8 @@ final class FeedbackViewController: UIViewController {
|
|||
|
||||
@objc private func sendButtonTapped(_ sender: Any) {
|
||||
guard emailTextField.isValid else {
|
||||
let errorMessage = "Please enter a valid email address!"
|
||||
let errorMessage = NSLocalizedString("newFeedback_invalidEmail_errorMessage",tableName: "Feedback",
|
||||
bundle: Bundle.main, comment: "Please enter a valid email address!")
|
||||
showErrorMessage(errorMessage)
|
||||
return
|
||||
}
|
||||
|
|
|
@ -32,7 +32,8 @@ class HelpNavController: UINavigationController {
|
|||
let feedbackButton = UIButton(type: .system)
|
||||
feedbackButton.translatesAutoresizingMaskIntoConstraints = false
|
||||
feedbackButton.addTarget(self, action: #selector(feedbackButtonPressed(_:)), for: .touchUpInside)
|
||||
feedbackButton.setTitle("Report an issue", for: .normal)
|
||||
feedbackButton.setTitle(NSLocalizedString("ReportAnIssue", comment: "Report an issue"),
|
||||
for: .normal)
|
||||
feedbackButton.titleLabel?.font = .systemFont(ofSize: 18)
|
||||
feedbackButton.tintColor = .covidSafeColor
|
||||
|
||||
|
|
|
@ -25,6 +25,7 @@ class HomeViewController: UIViewController {
|
|||
@IBOutlet weak var pushNotificationStatusIcon: UIImageView!
|
||||
@IBOutlet weak var pushNotificationStatusLabel: UILabel!
|
||||
@IBOutlet weak var uploadDateLabel: UILabel!
|
||||
@IBOutlet weak var pairingRequestsLabel: UILabel!
|
||||
|
||||
var lottieBluetoothView: AnimationView!
|
||||
|
||||
|
@ -44,7 +45,11 @@ class HomeViewController: UIViewController {
|
|||
let dateFormatterPrint = DateFormatter()
|
||||
dateFormatterPrint.dateFormat = "dd MMM yyyy"
|
||||
let formattedDate = dateFormatterPrint.string(from: lastUpload)
|
||||
let newAttributedString = NSMutableAttributedString(string: "Your information was uploaded on \(formattedDate).")
|
||||
let newAttributedString = NSMutableAttributedString(
|
||||
string: String.localizedStringWithFormat(
|
||||
NSLocalizedString("InformationUploaded", comment: "Information uploaded template"),
|
||||
formattedDate)
|
||||
)
|
||||
|
||||
guard let dateRange = newAttributedString.string.range(of: formattedDate) else { return nil }
|
||||
let nsRange = NSRange(dateRange, in: newAttributedString.string)
|
||||
|
@ -87,10 +92,21 @@ class HomeViewController: UIViewController {
|
|||
NotificationCenter.default.addObserver(self, selector: #selector(appWillEnterForeground(_:)), name: UIApplication.willEnterForegroundNotification, object: nil)
|
||||
|
||||
if let versionNumber = Bundle.main.versionShort, let buildNumber = Bundle.main.version {
|
||||
self.versionNumberLabel.text = "Version number: \(versionNumber) Build: \(buildNumber)"
|
||||
self.versionNumberLabel.text = String.localizedStringWithFormat(
|
||||
NSLocalizedString("VersionNumber", comment: "Version number template"),
|
||||
versionNumber,buildNumber
|
||||
)
|
||||
} else {
|
||||
toggleViewVisibility(view: versionView, isVisible: false)
|
||||
}
|
||||
let pairingRequestString = NSLocalizedString("PairingRequestsInfo", comment: "Text explaining COVIDSafe does not send pairing requests")
|
||||
let pairingRequestText = NSMutableAttributedString(string: pairingRequestString,
|
||||
attributes: [.font: UIFont.preferredFont(forTextStyle: .body)])
|
||||
let pairingRequestUnderlinedString = NSLocalizedString("PairingRequestsInfoUnderline", comment: "section of text that should be underlined from the PairingRequestsInfo text")
|
||||
let requestsRange = pairingRequestText.string.range(of: pairingRequestUnderlinedString)!
|
||||
let nsRange = NSRange(requestsRange, in: pairingRequestText.string)
|
||||
pairingRequestText.addAttribute(.underlineStyle, value: NSUnderlineStyle.single.rawValue, range: nsRange)
|
||||
pairingRequestsLabel.attributedText = pairingRequestText
|
||||
}
|
||||
|
||||
deinit {
|
||||
|
@ -200,11 +216,10 @@ class HomeViewController: UIViewController {
|
|||
self.helpButton.setImage(UIImage(named: "ic-help-selected"), for: .normal)
|
||||
self.helpButton.setTitleColor(UIColor.black, for: .normal)
|
||||
|
||||
self.homeHeaderInfoText.font = UIFont.systemFont(ofSize: 18, weight: .regular)
|
||||
self.homeHeaderInfoText.text = "COVIDSafe is active.\nNo further action is required."
|
||||
self.homeHeaderInfoText.text = NSLocalizedString("HomeHeaderNoAction", comment: "Header with no action req")
|
||||
|
||||
if (!self.allPermissionOn) {
|
||||
self.homeHeaderInfoText.text = "COVIDSafe is not active.\nCheck your permissions."
|
||||
self.homeHeaderInfoText.text = NSLocalizedString("HomeHeaderPermissions", comment: "Header with check permisisons text")
|
||||
self.homeHeaderView.backgroundColor = UIColor.covidHomePermissionErrorColor
|
||||
} else {
|
||||
self.homeHeaderView.backgroundColor = UIColor.covidHomeActiveColor
|
||||
|
@ -230,11 +245,11 @@ class HomeViewController: UIViewController {
|
|||
switch self.pushNotificationOn {
|
||||
case true:
|
||||
pushNotificationStatusIcon.isHighlighted = false
|
||||
pushNotificationStatusTitle.text = "Notifications are enabled"
|
||||
let newAttributedLabel = NSMutableAttributedString(string: "You will receive a notification if COVIDSafe is not active.
Change notification settings")
|
||||
pushNotificationStatusTitle.text = NSLocalizedString("NotificationsEnabled", comment: "Notifications Enabled")
|
||||
let newAttributedLabel = NSMutableAttributedString(string: NSLocalizedString("NotificationsEnabledBlurb", comment: "Notifications Enabled content blurb"), attributes: [.font: UIFont.preferredFont(forTextStyle: .caption1)])
|
||||
|
||||
//set some attributes
|
||||
guard let linkRange = newAttributedLabel.string.range(of: "Change notification settings") else { return }
|
||||
guard let linkRange = newAttributedLabel.string.range(of: NSLocalizedString("NotificationsBlurbLink", comment: "Notifications blurb link")) else { return }
|
||||
let nsRange = NSRange(linkRange, in: newAttributedLabel.string)
|
||||
newAttributedLabel.addAttribute(.foregroundColor,
|
||||
value: UIColor.covidSafeColor,
|
||||
|
@ -244,11 +259,13 @@ class HomeViewController: UIViewController {
|
|||
|
||||
default:
|
||||
pushNotificationStatusIcon.isHighlighted = true
|
||||
pushNotificationStatusTitle.text = "Notifications are disabled"
|
||||
let newAttributedLabel = NSMutableAttributedString(string: "You will not receive a notification if COVIDSafe is not active.
Change notification settings")
|
||||
pushNotificationStatusTitle.text = NSLocalizedString("NotificationsDisabled", comment: "Notifications Enabled")
|
||||
let newAttributedLabel = NSMutableAttributedString(string:
|
||||
NSLocalizedString("NotificationsDisabledBlurb", comment: "Notifications Enabled content blurb"), attributes: [.font: UIFont.preferredFont(forTextStyle: .caption1)])
|
||||
|
||||
//set some attributes
|
||||
guard let linkRange = newAttributedLabel.string.range(of: "Change notification settings") else { return }
|
||||
guard let linkRange = newAttributedLabel.string.range(of:
|
||||
NSLocalizedString("NotificationsBlurbLink", comment: "Notifications blurb link")) else { return }
|
||||
let nsRange = NSRange(linkRange, in: newAttributedLabel.string)
|
||||
newAttributedLabel.addAttribute(.foregroundColor,
|
||||
value: UIColor.covidSafeColor,
|
||||
|
@ -363,7 +380,7 @@ class HomeViewController: UIViewController {
|
|||
|
||||
struct TracerRemoteConfig {
|
||||
static let defaultShareText = """
|
||||
Join me in stopping the spread of COVID-19! Download COVIDSafe, an app from the Australian Government. #COVID19
|
||||
\(NSLocalizedString("ShareText", comment: "Share app with friends text")) #COVID19
|
||||
#coronavirusaustralia #stayhomesavelives https://covidsafe.gov.au
|
||||
"""
|
||||
}
|
||||
|
|
|
@ -1,21 +0,0 @@
|
|||
/*
|
||||
Localizable.strings
|
||||
CovidSafe
|
||||
|
||||
Copyright © 2020 Australian Government. All rights reserved.
|
||||
*/
|
||||
|
||||
// OTP
|
||||
"EnterOTPSent" = "Enter PIN that was sent to %@";
|
||||
"WrongNumber" = "Wrong number?";
|
||||
"ResendCode" = "Resend PIN";
|
||||
|
||||
"InvalidOTP" = "Must be a 6-digit code";
|
||||
"WrongOTP" = "Wrong PIN entered";
|
||||
|
||||
"CodeWillExpired" = "Your code will expire in %@";
|
||||
"CodeHasExpired" = "Your code has expired.";
|
||||
|
||||
"NotAValidCode" = "Not a valid code";
|
||||
"DataUploaded" = "Data uploaded";
|
||||
"DataNotUploaded" = "Data not uploaded";
|
|
@ -25,6 +25,7 @@ class OTPViewController: UIViewController, RegistrationHandler {
|
|||
|
||||
@IBOutlet weak var wrongNumberButton: UIButton?
|
||||
@IBOutlet weak var resendCodeButton: UIButton?
|
||||
@IBOutlet weak var pinIssuesButton: UIButton?
|
||||
|
||||
@IBOutlet weak var verifyButton: UIButton?
|
||||
|
||||
|
@ -57,6 +58,27 @@ class OTPViewController: UIViewController, RegistrationHandler {
|
|||
|
||||
dismissKeyboardOnTap()
|
||||
codeInputView?.isOneTimeCode = true
|
||||
let linkAtt: [NSAttributedString.Key : Any] = [
|
||||
.font: UIFont.preferredFont(forTextStyle: .callout),
|
||||
.foregroundColor: UIColor.covidSafeColor,
|
||||
.underlineStyle: NSUnderlineStyle.single.rawValue
|
||||
]
|
||||
let wrongNumberText = NSAttributedString(string: NSLocalizedString("IsThisNumberWrong",
|
||||
comment: "Is the entered mobile number incorrect"),
|
||||
attributes: linkAtt)
|
||||
self.wrongNumberButton?.setAttributedTitle(wrongNumberText, for: .normal)
|
||||
let buttonAtt: [NSAttributedString.Key : Any] = [
|
||||
.font: UIFont.preferredFont(forTextStyle: .body),
|
||||
.foregroundColor: UIColor.covidSafeColor,
|
||||
.underlineStyle: NSUnderlineStyle.single.rawValue
|
||||
]
|
||||
let resendPin = NSLocalizedString("ResendPin", comment: "Text for resend pin button")
|
||||
let resendCodeText = NSAttributedString(string: resendPin, attributes: buttonAtt)
|
||||
self.resendCodeButton?.setAttributedTitle(resendCodeText, for: .normal)
|
||||
|
||||
let pinIssuesString = NSLocalizedString("ReceivePinIssue", comment: "Text for pin receive issues button")
|
||||
let pinIssuesText = NSAttributedString(string: pinIssuesString, attributes: buttonAtt)
|
||||
self.pinIssuesButton?.setAttributedTitle(pinIssuesText, for: .normal)
|
||||
|
||||
}
|
||||
|
||||
|
@ -67,7 +89,9 @@ class OTPViewController: UIViewController, RegistrationHandler {
|
|||
if let regInfo = registrationInfo {
|
||||
numberWithCountryCode = "+61 \(regInfo.phoneNumber)"
|
||||
}
|
||||
self.titleLabel.text = "Enter the PIN sent to \(numberWithCountryCode)"
|
||||
self.titleLabel.text = String.localizedStringWithFormat(
|
||||
NSLocalizedString("EnterPINSent", comment: "Enter the PIN sent template"), numberWithCountryCode
|
||||
)
|
||||
startTimer()
|
||||
}
|
||||
|
||||
|
@ -105,7 +129,9 @@ class OTPViewController: UIViewController, RegistrationHandler {
|
|||
if (countdown.range(of: #"\d{2}:"#, options: .regularExpression) != nil) {
|
||||
countdownFormatted = String(countdown.suffix(from: countdown.index(after: countdown.startIndex)))
|
||||
}
|
||||
expiredMessageLabel?.text = "Your PIN will expire in \(countdownFormatted)"
|
||||
expiredMessageLabel?.text = String.localizedStringWithFormat(
|
||||
NSLocalizedString("PINWillExpire", comment: "PIN will expire template"), countdownFormatted
|
||||
)
|
||||
expiredMessageLabel?.isHidden = false
|
||||
if let OTP = codeInputView?.text {
|
||||
verifyButton?.isEnabled = OTP.count > 0
|
||||
|
@ -137,7 +163,9 @@ class OTPViewController: UIViewController, RegistrationHandler {
|
|||
}
|
||||
PhoneValidationAPI.verifyPhoneNumber(regInfo: self.registrationInfo!) {[weak self] (session, error) in
|
||||
if let error = error {
|
||||
let errorAlert = UIAlertController(title: "Error verifying phone number", message: "Please try again later.", preferredStyle: .alert)
|
||||
let errorAlert = UIAlertController(title: NSLocalizedString("PhoneVerificationErrorTitle", comment: "Phone verification error title"),
|
||||
message: NSLocalizedString("PhoneVerificationErrorMessage", comment: "Phone verification error message"),
|
||||
preferredStyle: .alert)
|
||||
errorAlert.addAction(UIAlertAction(title: NSLocalizedString("OK", comment: "Default action"), style: .default, handler: { _ in
|
||||
NSLog("Unable to verify phone number")
|
||||
}))
|
||||
|
@ -174,7 +202,9 @@ class OTPViewController: UIViewController, RegistrationHandler {
|
|||
verifyPhoneNumber(parsedNumber)
|
||||
|
||||
case .failure(let error):
|
||||
let errorAlert = UIAlertController(title: "Wrong number format", message: "Please enter a mobile phone number", preferredStyle: .alert)
|
||||
let errorAlert = UIAlertController(title: NSLocalizedString("PhoneNumberFormatErrorTitle", comment: "Wrong phone format error title"),
|
||||
message: NSLocalizedString("PhoneNumberFormatErrorMessage", comment: "Wrong phone format error message"),
|
||||
preferredStyle: .alert)
|
||||
errorAlert.addAction(UIAlertAction(title: NSLocalizedString("OK", comment: "Default action"), style: .default, handler: { _ in
|
||||
self.navigationController?.popViewController(animated: true)
|
||||
NSLog("Unable to verify phone number")
|
||||
|
|
|
@ -6,11 +6,39 @@
|
|||
//
|
||||
|
||||
import UIKit
|
||||
import CoreBluetooth
|
||||
import UserNotifications
|
||||
|
||||
class OnboardingStep2ViewController: UIViewController {
|
||||
private var bluetoothDidUpdateStateCallback: ((CBManagerState) -> Void)?
|
||||
|
||||
@IBAction func onBackTapped(_ sender: UIButton) {
|
||||
self.navigationController?.popViewController(animated: true)
|
||||
}
|
||||
|
||||
@IBAction func proceedTapped(_ sender: UIButton) {
|
||||
self.bluetoothDidUpdateStateCallback = BluetraceManager.shared.bluetoothDidUpdateStateCallback
|
||||
BluetraceManager.shared.bluetoothDidUpdateStateCallback = centralDidUpdateStateCallback
|
||||
BluetraceManager.shared.turnOn()
|
||||
UserDefaults.standard.set(true, forKey: "turnedOnBluetooth")
|
||||
}
|
||||
|
||||
func centralDidUpdateStateCallback(_ state: CBManagerState) {
|
||||
DLog("state changed in permission request to \(BluetraceUtils.centralStateToString(state))")
|
||||
requestPushPermissions()
|
||||
}
|
||||
|
||||
func requestPushPermissions() {
|
||||
BluetraceManager.shared.bluetoothDidUpdateStateCallback = self.bluetoothDidUpdateStateCallback
|
||||
UNUserNotificationCenter.current()
|
||||
.requestAuthorization(options: [.alert, .sound, .badge]) {
|
||||
granted, error in
|
||||
UserDefaults.standard.set(true, forKey: "allowedPermissions")
|
||||
print("Permissions granted: \(granted)")
|
||||
|
||||
DispatchQueue.main.async {
|
||||
self.performSegue(withIdentifier: "showSuccessSegue", sender: self)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -9,11 +9,32 @@ import UIKit
|
|||
import SafariServices
|
||||
|
||||
class OnboardingStep2bViewController: UIViewController {
|
||||
@IBOutlet weak var pointOneLabel: UILabel!
|
||||
@IBOutlet weak var pointTwoLabel: UILabel!
|
||||
@IBOutlet weak var pointThreeLabel: UILabel!
|
||||
|
||||
override func viewDidAppear(_ animated: Bool) {
|
||||
super.viewDidAppear(animated)
|
||||
BluetraceManager.shared.turnOn()
|
||||
UserDefaults.standard.set(true, forKey: "turnedOnBluetooth")
|
||||
override func viewDidLoad() {
|
||||
super.viewDidLoad()
|
||||
let paragraphStyle = NSMutableParagraphStyle()
|
||||
paragraphStyle.headIndent = 18.0
|
||||
let labelAtt: [NSAttributedString.Key : Any] = [
|
||||
.paragraphStyle: paragraphStyle,
|
||||
.font: UIFont.preferredFont(forTextStyle: .body)
|
||||
]
|
||||
let pointOneText = NSAttributedString(string: NSLocalizedString("PointOne", comment: "Keep phone on you when you leave home"),
|
||||
attributes: labelAtt)
|
||||
pointOneLabel.attributedText = pointOneText
|
||||
|
||||
let pointTwoText = NSAttributedString(string: NSLocalizedString("PointTwo", comment: "Keep bluetooth turned on"),
|
||||
attributes: labelAtt)
|
||||
pointTwoLabel.attributedText = pointTwoText
|
||||
|
||||
let pointThreeText = NSMutableAttributedString(string: NSLocalizedString("PointThree", comment: "COVIDSafe does NOT send pairing requests"),
|
||||
attributes: labelAtt)
|
||||
let learnMoreRange = pointThreeText.string.range(of: NSLocalizedString("PointThreeUnderline", comment: "Text that should be underlined from PointThree"))!
|
||||
let nsRange = NSRange(learnMoreRange, in: pointThreeText.string)
|
||||
pointThreeText.addAttributes([.underlineStyle: NSUnderlineStyle.single.rawValue, .foregroundColor: UIColor.covidSafeColor], range: nsRange)
|
||||
pointThreeLabel.attributedText = pointThreeText
|
||||
}
|
||||
|
||||
@IBAction func learnMoreTapped(_ sender: Any) {
|
||||
|
@ -26,21 +47,6 @@ class OnboardingStep2bViewController: UIViewController {
|
|||
}
|
||||
|
||||
@IBAction func continueBtnTapped(_ sender: UIButton) {
|
||||
requestAllPermissions()
|
||||
}
|
||||
|
||||
func requestAllPermissions() {
|
||||
|
||||
UNUserNotificationCenter.current() // 1
|
||||
.requestAuthorization(options: [.alert, .sound, .badge]) { // 2
|
||||
granted, error in
|
||||
|
||||
UserDefaults.standard.set(true, forKey: "allowedPermissions")
|
||||
print("Permissions granted: \(granted)") // 3
|
||||
|
||||
DispatchQueue.main.async {
|
||||
self.performSegue(withIdentifier: "showHomeSegue", sender: self)
|
||||
}
|
||||
}
|
||||
self.performSegue(withIdentifier: "showHomeSegue", sender: self)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -17,12 +17,21 @@ class PersonalDetailsViewController: UIViewController, UITextFieldDelegate, UIPi
|
|||
@IBOutlet weak var scrollview: UIScrollView!
|
||||
@IBOutlet weak var dimView: UIView!
|
||||
@IBOutlet weak var backButton: UIButton!
|
||||
@IBOutlet weak var fullNameErrorLabel: UILabel!
|
||||
@IBOutlet weak var ageErrorLabel: UILabel!
|
||||
@IBOutlet weak var postcodeErrorLabel: UILabel!
|
||||
@IBOutlet weak var fullnameLabel: UILabel!
|
||||
@IBOutlet weak var postcodeLabel: UILabel!
|
||||
@IBOutlet weak var enterYourDetailsLabel: UILabel!
|
||||
@IBOutlet weak var ageRangeLabel: UILabel!
|
||||
|
||||
var agePicker: UIPickerView?
|
||||
var pickerBarButtonItem: UIBarButtonItem?
|
||||
var currentKeyboardFrame: CGRect?
|
||||
var nextBarButtonItem: UIBarButtonItem?
|
||||
var selectedAge: Int = -1
|
||||
let ages = ["0 - 15", "16 - 29", "30 - 39", "40 - 49", "50 - 59", "60 - 69", "70 - 79", "80 - 89", "90+"]
|
||||
var initialLabelTextColour: UIColor?
|
||||
|
||||
override func viewDidLoad() {
|
||||
super.viewDidLoad()
|
||||
|
@ -37,20 +46,26 @@ class PersonalDetailsViewController: UIViewController, UITextFieldDelegate, UIPi
|
|||
let toolBar = UIToolbar()
|
||||
toolBar.sizeToFit()
|
||||
|
||||
self.nextBarButtonItem = UIBarButtonItem(title: "Done", style: .plain, target: self, action: #selector(self.nextButtonTapped))
|
||||
self.nextBarButtonItem = UIBarButtonItem(title: NSLocalizedString("Done", comment: "Done"),
|
||||
style: .plain,
|
||||
target: self,
|
||||
action: #selector(self.nextButtonTapped))
|
||||
let spacer = UIBarButtonItem(barButtonSystemItem: .flexibleSpace, target: nil, action: nil)
|
||||
toolBar.setItems([spacer, self.nextBarButtonItem!], animated: true)
|
||||
toolBar.isUserInteractionEnabled = true
|
||||
self.postcodeTextField.inputAccessoryView = toolBar
|
||||
self.ageTextField.inputAccessoryView = toolBar
|
||||
self.firstnameTextField.inputAccessoryView = toolBar
|
||||
initialLabelTextColour = fullnameLabel.textColor
|
||||
}
|
||||
|
||||
override func viewDidAppear(_ animated: Bool) {
|
||||
super.viewDidAppear(animated)
|
||||
NotificationCenter.default.addObserver(self, selector: #selector(keyboardWillHide(notif:)), name: UIResponder.keyboardWillHideNotification, object: nil)
|
||||
NotificationCenter.default.addObserver(self, selector: #selector(keyboardWillChangeFrame(notif:)), name: UIResponder.keyboardWillChangeFrameNotification, object: nil)
|
||||
self.firstnameTextField.becomeFirstResponder()
|
||||
if(UIAccessibility.isVoiceOverRunning){
|
||||
UIAccessibility.post(notification: .screenChanged, argument: enterYourDetailsLabel)
|
||||
}
|
||||
}
|
||||
|
||||
override func viewDidDisappear(_ animated: Bool) {
|
||||
|
@ -187,11 +202,19 @@ class PersonalDetailsViewController: UIViewController, UITextFieldDelegate, UIPi
|
|||
|
||||
func textFieldDidBeginEditing(_ textField: UITextField) {
|
||||
if (textField == firstnameTextField || textField == postcodeTextField) {
|
||||
nextBarButtonItem?.title = "Done"
|
||||
nextBarButtonItem?.title = NSLocalizedString("Done", comment: "Done")
|
||||
if(UIAccessibility.isVoiceOverRunning) {
|
||||
firstnameTextField.isAccessibilityElement = true
|
||||
postcodeTextField.isAccessibilityElement = true
|
||||
backButton.isAccessibilityElement = true
|
||||
enterYourDetailsLabel.isAccessibilityElement = true
|
||||
fullnameLabel.isAccessibilityElement = true
|
||||
ageRangeLabel.isAccessibilityElement = true
|
||||
postcodeLabel.isAccessibilityElement = true
|
||||
fullNameErrorLabel.isAccessibilityElement = true
|
||||
ageErrorLabel.isAccessibilityElement = true
|
||||
postcodeErrorLabel.isAccessibilityElement = true
|
||||
ageTextField.isAccessibilityElement = true
|
||||
}
|
||||
} else if (textField == ageTextField) {
|
||||
dimView.isHidden = false
|
||||
|
@ -199,8 +222,17 @@ class PersonalDetailsViewController: UIViewController, UITextFieldDelegate, UIPi
|
|||
firstnameTextField.isAccessibilityElement = false
|
||||
postcodeTextField.isAccessibilityElement = false
|
||||
backButton.isAccessibilityElement = false
|
||||
enterYourDetailsLabel.isAccessibilityElement = false
|
||||
fullnameLabel.isAccessibilityElement = false
|
||||
ageRangeLabel.isAccessibilityElement = false
|
||||
postcodeLabel.isAccessibilityElement = false
|
||||
fullNameErrorLabel.isAccessibilityElement = false
|
||||
ageErrorLabel.isAccessibilityElement = false
|
||||
postcodeErrorLabel.isAccessibilityElement = false
|
||||
ageTextField.isAccessibilityElement = false
|
||||
UIAccessibility.post(notification: .screenChanged, argument: agePicker)
|
||||
}
|
||||
nextBarButtonItem?.title = "Next"
|
||||
nextBarButtonItem?.title = NSLocalizedString("Next", comment: "Next")
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -213,15 +245,37 @@ class PersonalDetailsViewController: UIViewController, UITextFieldDelegate, UIPi
|
|||
}
|
||||
textField.text = ages[currentRow]
|
||||
selectedAge = currentRow
|
||||
} else if textField == postcodeTextField {
|
||||
if textField.text?.count != 4 {
|
||||
postcodeErrorLabel.isHidden = false
|
||||
postcodeLabel.textColor = UIColor.covidSafeErrorColor
|
||||
postcodeTextField.borderWidth = 1
|
||||
} else {
|
||||
postcodeErrorLabel.isHidden = true
|
||||
postcodeLabel.textColor = initialLabelTextColour
|
||||
postcodeTextField.borderWidth = 0
|
||||
}
|
||||
} else if textField == firstnameTextField {
|
||||
if textField.text == "" {
|
||||
fullNameErrorLabel.isHidden = false
|
||||
fullnameLabel.textColor = UIColor.covidSafeErrorColor
|
||||
firstnameTextField.borderWidth = 1
|
||||
} else {
|
||||
fullNameErrorLabel.isHidden = true
|
||||
fullnameLabel.textColor = initialLabelTextColour
|
||||
firstnameTextField.borderWidth = 0
|
||||
}
|
||||
}
|
||||
updateContinueButton()
|
||||
}
|
||||
|
||||
func presentValidationError(error: String, fieldToFocus: UITextField) {
|
||||
let errorAlert = UIAlertController(title: "Validation error",
|
||||
let errorAlert = UIAlertController(title: NSLocalizedString("ValidationError", comment: "Validation error"),
|
||||
message: error,
|
||||
preferredStyle: .alert)
|
||||
errorAlert.addAction(UIAlertAction(title: "OK", style: .default, handler: { _ in
|
||||
errorAlert.addAction(UIAlertAction(title: NSLocalizedString("OK", comment: "OK"),
|
||||
style: .default,
|
||||
handler: { _ in
|
||||
fieldToFocus.becomeFirstResponder()
|
||||
}))
|
||||
self.present(errorAlert, animated: true)
|
||||
|
@ -249,7 +303,7 @@ class PersonalDetailsViewController: UIViewController, UITextFieldDelegate, UIPi
|
|||
return
|
||||
}
|
||||
guard postCode.range(of: #"^(0[2|8|9]|[1-9][0-9])\d{2}$"#, options: .regularExpression) != nil else {
|
||||
presentValidationError(error: "Please enter a valid postcode",
|
||||
presentValidationError(error: NSLocalizedString("PostcodeValidationErrorMessage", comment: "Please enter a valid postcode"),
|
||||
fieldToFocus: postcodeTextField)
|
||||
return
|
||||
}
|
||||
|
|
|
@ -9,6 +9,7 @@ class PhoneNumberViewController: UIViewController, UITextFieldDelegate, Registra
|
|||
@IBOutlet weak var titleLabel: UILabel!
|
||||
let PHONE_NUMBER_LENGTH = 17 // e.g. "+61 4 12 345 678 " if text is auto-pasted from text message
|
||||
@IBOutlet weak var activityIndicator: UIActivityIndicatorView!
|
||||
@IBOutlet weak var ausPhoneNumberButton: UIButton!
|
||||
var selectedCountry: String? = "Australia"
|
||||
var countryList: [String] = CountriesData.countryArray
|
||||
// If this view is part of the reauthentiation flow of an expired JWT
|
||||
|
@ -22,8 +23,17 @@ class PhoneNumberViewController: UIViewController, UITextFieldDelegate, Registra
|
|||
phoneNumberField.delegate = self
|
||||
dismissKeyboardOnTap()
|
||||
if (reauthenticating) {
|
||||
self.titleLabel.text = "Enter your mobile number to re-verify"
|
||||
self.titleLabel.text = NSLocalizedString("EnterPhoneReVerify", comment: "Enter your mobile number to re-verify")
|
||||
}
|
||||
let ausNumberAtt: [NSAttributedString.Key : Any] = [
|
||||
.font: UIFont.preferredFont(forTextStyle: .body),
|
||||
.foregroundColor: UIColor.covidSafeColor,
|
||||
.underlineStyle: NSUnderlineStyle.single.rawValue
|
||||
]
|
||||
let ausNumberButtonText = NSAttributedString(string: NSLocalizedString("AusPhoneNumberButton", comment: "Link to help page about using an australian phone number"),
|
||||
attributes: ausNumberAtt)
|
||||
self.ausPhoneNumberButton.setAttributedTitle(ausNumberButtonText, for: .normal)
|
||||
|
||||
}
|
||||
|
||||
override func viewWillAppear(_ animated: Bool) {
|
||||
|
@ -73,7 +83,9 @@ class PhoneNumberViewController: UIViewController, UITextFieldDelegate, Registra
|
|||
verifyPhoneNumber(parsedNumber)
|
||||
|
||||
case .failure(let error):
|
||||
let errorAlert = UIAlertController(title: "Wrong number format", message: "Please enter a mobile phone number", preferredStyle: .alert)
|
||||
let errorAlert = UIAlertController(title: NSLocalizedString("PhoneNumberFormatErrorTitle", comment: "Wrong phone format error title"),
|
||||
message: NSLocalizedString("PhoneNumberFormatErrorMessage", comment: "Wrong phone format error message"),
|
||||
preferredStyle: .alert)
|
||||
errorAlert.addAction(UIAlertAction(title: NSLocalizedString("OK", comment: "Default action"), style: .default, handler: { _ in
|
||||
NSLog("Unable to verify phone number")
|
||||
}))
|
||||
|
@ -92,7 +104,8 @@ class PhoneNumberViewController: UIViewController, UITextFieldDelegate, Registra
|
|||
self?.activityIndicator.stopAnimating()
|
||||
self?.getOTPButton.isEnabled = true
|
||||
if let error = error {
|
||||
let errorAlert = UIAlertController(title: "Error verifying phone number", message: "Please check your details and try again.", preferredStyle: .alert)
|
||||
let errorAlert = UIAlertController(title: NSLocalizedString("PhoneVerificationErrorTitle", comment: "Phone verification error title"),
|
||||
message: NSLocalizedString("PhoneVerificationErrorMessage", comment: "Phone verification error message"), preferredStyle: .alert)
|
||||
errorAlert.addAction(UIAlertAction(title: NSLocalizedString("OK", comment: "Default action"), style: .default, handler: { _ in
|
||||
DLog("Unable to verify phone number")
|
||||
}))
|
||||
|
|
|
@ -9,27 +9,6 @@ import UIKit
|
|||
|
||||
class RegistrationConsentViewController: UIViewController {
|
||||
|
||||
@IBOutlet weak var consentCheckBox: UIButton!
|
||||
@IBOutlet weak var agreeButton: UIButton!
|
||||
|
||||
override func viewDidLoad() {
|
||||
super.viewDidLoad()
|
||||
agreeButton.isEnabled = false
|
||||
consentCheckBox.setImage(UIImage(named: "emptyCheckbox"), for: .normal)
|
||||
consentCheckBox.setImage(UIImage(named: "selectedCheckbox"), for: .selected)
|
||||
updateContinueButton()
|
||||
|
||||
// Do any additional setup after loading the view.
|
||||
}
|
||||
|
||||
@IBAction func onCheckboxTapped(sender: UIButton) {
|
||||
sender.isSelected = !sender.isSelected
|
||||
self.agreeButton.isEnabled = sender.isSelected
|
||||
updateContinueButton()
|
||||
|
||||
consentCheckBox.accessibilityLabel = sender.isSelected ? "I consent checkbox, checked" : "I consent checkbox, unchecked"
|
||||
}
|
||||
|
||||
@IBAction func onBackTapped(_ sender: UIButton) {
|
||||
self.navigationController?.popViewController(animated: true)
|
||||
}
|
||||
|
@ -38,24 +17,4 @@ class RegistrationConsentViewController: UIViewController {
|
|||
UserDefaults.standard.set(true, forKey: "hasConsented")
|
||||
performSegue(withIdentifier: "iConsentSegue", sender: nil)
|
||||
}
|
||||
|
||||
func updateContinueButton() {
|
||||
if (agreeButton.isEnabled) {
|
||||
agreeButton.backgroundColor = UIColor.covidSafeButtonDarkerColor
|
||||
} else {
|
||||
agreeButton.backgroundColor = UIColor(0xDBDDDD)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
// MARK: - Navigation
|
||||
|
||||
// In a storyboard-based application, you will often want to do a little preparation before navigation
|
||||
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
|
||||
// Get the new view controller using segue.destination.
|
||||
// Pass the selected object to the new view controller.
|
||||
}
|
||||
*/
|
||||
|
||||
}
|
||||
|
|
|
@ -8,6 +8,7 @@ extension UIColor {
|
|||
static let covidSafeColor = UIColor(0x00661B)
|
||||
static let covidSafeLighterColor = UIColor(0x008A23)
|
||||
static let covidSafeButtonDarkerColor = UIColor(0x00661B)
|
||||
static let covidSafeErrorColor = UIColor(0xA31919)
|
||||
|
||||
var asSolidBackgroundImage: UIImage {
|
||||
let rect = CGRect(x: 0, y: 0, width: 20, height: 20)
|
||||
|
|
|
@ -11,43 +11,18 @@ import SafariServices
|
|||
|
||||
class UnderSixteenViewController: UIViewController, RegistrationHandler {
|
||||
|
||||
@IBOutlet weak var consentCheckBox: UIButton!
|
||||
@IBOutlet weak var agreeButton: UIButton!
|
||||
public var registrationInfo: RegistrationRequest?
|
||||
|
||||
override func viewDidLoad() {
|
||||
super.viewDidLoad()
|
||||
|
||||
consentCheckBox.setImage(UIImage(named: "emptyCheckbox"), for: .normal)
|
||||
consentCheckBox.setImage(UIImage(named: "selectedCheckbox"), for: .selected)
|
||||
updateContinueButton()
|
||||
}
|
||||
|
||||
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
|
||||
if var vc = segue.destination as? RegistrationHandler {
|
||||
vc.registrationInfo = self.registrationInfo
|
||||
}
|
||||
}
|
||||
|
||||
func updateContinueButton() {
|
||||
if (agreeButton.isEnabled) {
|
||||
agreeButton.backgroundColor = UIColor.covidSafeButtonDarkerColor
|
||||
} else {
|
||||
agreeButton.backgroundColor = UIColor(0xDBDDDD)
|
||||
}
|
||||
}
|
||||
|
||||
@IBAction func onBackTapped(_ sender: UIButton) {
|
||||
self.navigationController?.popViewController(animated: true)
|
||||
}
|
||||
|
||||
@IBAction func onCheckboxTapped(sender: UIButton) {
|
||||
sender.isSelected = !sender.isSelected
|
||||
self.agreeButton.isEnabled = sender.isSelected
|
||||
updateContinueButton()
|
||||
consentCheckBox.accessibilityLabel = sender.isSelected ? "I consent checkbox, checked" : "I consent checkbox, unchecked"
|
||||
}
|
||||
|
||||
@IBAction func doneOntap(_ sender: Any) {
|
||||
performSegue(withIdentifier: "under16Consent", sender: nil)
|
||||
}
|
||||
|
|
|
@ -45,7 +45,7 @@
|
|||
<rect key="frame" x="0.0" y="0.0" width="375" height="593"/>
|
||||
<subviews>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="135-V4-pIA" userLabel="ContentView">
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="324"/>
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="328.5"/>
|
||||
<subviews>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="AQj-UW-fvt" userLabel="BackBtn">
|
||||
<rect key="frame" x="16" y="16" width="44" height="44"/>
|
||||
|
@ -59,32 +59,32 @@
|
|||
<action selector="backBtnTapped:" destination="a6e-KY-ZKO" eventType="touchUpInside" id="5hu-by-Bp7"/>
|
||||
</connections>
|
||||
</button>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Upload your information" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="3zY-su-fK0">
|
||||
<rect key="frame" x="32" y="56" width="311" height="29"/>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Upload your information" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontForContentSizeCategory="YES" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="3zY-su-fK0">
|
||||
<rect key="frame" x="32" y="56" width="311" height="33.5"/>
|
||||
<accessibility key="accessibilityConfiguration">
|
||||
<accessibilityTraits key="traits" staticText="YES" header="YES"/>
|
||||
</accessibility>
|
||||
<fontDescription key="fontDescription" type="system" weight="medium" pointSize="24"/>
|
||||
<fontDescription key="fontDescription" style="UICTFontTextStyleTitle1"/>
|
||||
<nil key="textColor"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Ft1-PF-Epb">
|
||||
<rect key="frame" x="32" y="101" width="295.5" height="86"/>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontForContentSizeCategory="YES" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Ft1-PF-Epb">
|
||||
<rect key="frame" x="32" y="105.5" width="301" height="86.5"/>
|
||||
<string key="text">A state or territory health official will send a PIN to your device via text message. Enter it below to upload your information.</string>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="18"/>
|
||||
<fontDescription key="fontDescription" style="UICTFontTextStyleBody"/>
|
||||
<nil key="textColor"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="mKA-1q-WgQ" customClass="CodeInputView" customModule="COVIDSafe" customModuleProvider="target">
|
||||
<rect key="frame" x="26" y="203" width="317" height="54"/>
|
||||
<rect key="frame" x="26" y="208" width="317" height="54"/>
|
||||
<color key="backgroundColor" systemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="54" id="GTp-b5-upv"/>
|
||||
</constraints>
|
||||
</view>
|
||||
<label hidden="YES" opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Invalid PIN, please ask the health official to send you another PIN." textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="zkm-8z-rno">
|
||||
<rect key="frame" x="32" y="265" width="311" height="43"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="18"/>
|
||||
<label hidden="YES" opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Invalid PIN, please ask the health official to send you another PIN." textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontForContentSizeCategory="YES" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="zkm-8z-rno">
|
||||
<rect key="frame" x="32" y="270" width="311" height="42.5"/>
|
||||
<fontDescription key="fontDescription" style="UICTFontTextStyleBody"/>
|
||||
<color key="textColor" red="0.63921568627450975" green="0.098039215686274508" blue="0.098039215686274508" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
|
@ -123,7 +123,7 @@
|
|||
<constraints>
|
||||
<constraint firstAttribute="height" constant="48" id="aN0-ip-CM7"/>
|
||||
</constraints>
|
||||
<fontDescription key="fontDescription" type="boldSystem" pointSize="16"/>
|
||||
<fontDescription key="fontDescription" style="UICTFontTextStyleHeadline"/>
|
||||
<color key="tintColor" red="0.0" green="0.54117647059999996" blue="0.13725490200000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<state key="normal" title="Upload my information">
|
||||
<color key="titleColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
|
@ -136,14 +136,14 @@
|
|||
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
|
||||
<subviews>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="vMG-6j-hyZ">
|
||||
<rect key="frame" x="32" y="145" width="311" height="377"/>
|
||||
<rect key="frame" x="32" y="145" width="311" height="377.5"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="uKh-zc-OXM">
|
||||
<rect key="frame" x="0.0" y="291" width="311" height="86"/>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontForContentSizeCategory="YES" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="uKh-zc-OXM">
|
||||
<rect key="frame" x="0.0" y="291" width="311" height="86.5"/>
|
||||
<string key="text">Your COVIDSafe information is currently being uploaded.
|
||||
|
||||
Please do not close the app.</string>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="18"/>
|
||||
<fontDescription key="fontDescription" style="UICTFontTextStyleBody"/>
|
||||
<nil key="textColor"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
|
@ -242,7 +242,7 @@ Please do not close the app.</string>
|
|||
</connections>
|
||||
</button>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="hkA-4k-if8">
|
||||
<rect key="frame" x="32" y="102.5" width="311" height="462"/>
|
||||
<rect key="frame" x="32" y="103" width="311" height="461.5"/>
|
||||
<subviews>
|
||||
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="CovidSafe-Circle-Black" translatesAutoresizingMaskIntoConstraints="NO" id="cih-JQ-a0F">
|
||||
<rect key="frame" x="40" y="0.0" width="231" height="231"/>
|
||||
|
@ -250,19 +250,19 @@ Please do not close the app.</string>
|
|||
<constraint firstAttribute="width" secondItem="cih-JQ-a0F" secondAttribute="height" multiplier="1:1" id="Kfm-4r-ACZ"/>
|
||||
</constraints>
|
||||
</imageView>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="An error occurred while uploading your information, please try again." textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="JgG-df-SWA">
|
||||
<rect key="frame" x="0.0" y="291" width="311" height="43"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="18"/>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="An error occurred while uploading your information, please try again." textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontForContentSizeCategory="YES" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="JgG-df-SWA">
|
||||
<rect key="frame" x="0.0" y="291" width="311" height="42.5"/>
|
||||
<fontDescription key="fontDescription" style="UICTFontTextStyleBody"/>
|
||||
<nil key="textColor"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="sEL-Fh-3RO" customClass="GradientButton" customModule="COVIDSafe" customModuleProvider="target">
|
||||
<rect key="frame" x="0.0" y="358" width="311" height="48"/>
|
||||
<rect key="frame" x="0.0" y="357.5" width="311" height="48"/>
|
||||
<color key="backgroundColor" red="0.0" green="0.40000000000000002" blue="0.1058823529" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="48" id="8ao-HW-u9m"/>
|
||||
</constraints>
|
||||
<fontDescription key="fontDescription" type="boldSystem" pointSize="16"/>
|
||||
<fontDescription key="fontDescription" style="UICTFontTextStyleHeadline"/>
|
||||
<color key="tintColor" red="0.0" green="0.54117647059999996" blue="0.13725490200000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<state key="normal" title="Try again">
|
||||
<color key="titleColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
|
@ -273,12 +273,12 @@ Please do not close the app.</string>
|
|||
</connections>
|
||||
</button>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="d3A-71-AFA" customClass="GradientButton" customModule="COVIDSafe" customModuleProvider="target">
|
||||
<rect key="frame" x="0.0" y="414" width="311" height="48"/>
|
||||
<rect key="frame" x="0.0" y="413.5" width="311" height="48"/>
|
||||
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="48" id="A91-Cr-mRZ"/>
|
||||
</constraints>
|
||||
<fontDescription key="fontDescription" type="system" weight="medium" pointSize="16"/>
|
||||
<fontDescription key="fontDescription" style="UICTFontTextStyleHeadline"/>
|
||||
<color key="tintColor" red="0.0" green="0.54117647059999996" blue="0.13725490200000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<state key="normal" title="Cancel">
|
||||
<color key="titleColor" red="0.0" green="0.54117647059999996" blue="0.13725490200000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
|
@ -356,23 +356,23 @@ Please do not close the app.</string>
|
|||
<constraint firstAttribute="width" secondItem="E3m-3P-jjw" secondAttribute="height" multiplier="311:188" id="5OB-nO-g1C"/>
|
||||
</constraints>
|
||||
</imageView>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Is a health official asking you to upload your information?" lineBreakMode="wordWrap" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="YGP-gN-IjT">
|
||||
<rect key="frame" x="32" y="268" width="311" height="57.5"/>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Is a health official asking you to upload your information?" lineBreakMode="wordWrap" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontForContentSizeCategory="YES" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="YGP-gN-IjT">
|
||||
<rect key="frame" x="32" y="268" width="311" height="101.5"/>
|
||||
<accessibility key="accessibilityConfiguration">
|
||||
<accessibilityTraits key="traits" staticText="YES" header="YES"/>
|
||||
</accessibility>
|
||||
<fontDescription key="fontDescription" type="system" weight="medium" pointSize="24"/>
|
||||
<fontDescription key="fontDescription" style="UICTFontTextStyleTitle1"/>
|
||||
<nil key="textColor"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" scrollEnabled="NO" delaysContentTouches="NO" editable="NO" textAlignment="natural" translatesAutoresizingMaskIntoConstraints="NO" id="tqv-D9-PS3">
|
||||
<rect key="frame" x="32" y="341.5" width="311" height="188"/>
|
||||
<textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" scrollEnabled="NO" delaysContentTouches="NO" editable="NO" textAlignment="natural" adjustsFontForContentSizeCategory="YES" translatesAutoresizingMaskIntoConstraints="NO" id="tqv-D9-PS3">
|
||||
<rect key="frame" x="32" y="385.5" width="311" height="192"/>
|
||||
<color key="backgroundColor" systemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/>
|
||||
<string key="text">Only if you test positive to COVID-19 will a state or territory health official contact you to assist with voluntary upload of your information.
|
||||
|
||||
Once you press ‘Yes’ you’ll need to provide consent to upload your information. </string>
|
||||
<color key="textColor" systemColor="labelColor" cocoaTouchSystemColor="darkTextColor"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="18"/>
|
||||
<fontDescription key="fontDescription" style="UICTFontTextStyleBody"/>
|
||||
<textInputTraits key="textInputTraits" autocapitalizationType="sentences"/>
|
||||
</textView>
|
||||
</subviews>
|
||||
|
@ -407,7 +407,7 @@ Once you press ‘Yes’ you’ll need to provide consent to upload your informa
|
|||
<constraints>
|
||||
<constraint firstAttribute="height" constant="48" id="66Z-n2-IEN"/>
|
||||
</constraints>
|
||||
<fontDescription key="fontDescription" type="boldSystem" pointSize="16"/>
|
||||
<fontDescription key="fontDescription" style="UICTFontTextStyleHeadline"/>
|
||||
<color key="tintColor" red="0.0" green="0.54117647058823526" blue="0.13725490196078433" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<state key="normal" title="No">
|
||||
<color key="titleColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
|
@ -427,7 +427,7 @@ Once you press ‘Yes’ you’ll need to provide consent to upload your informa
|
|||
<constraints>
|
||||
<constraint firstAttribute="height" constant="48" id="WjV-Sg-A9T"/>
|
||||
</constraints>
|
||||
<fontDescription key="fontDescription" type="boldSystem" pointSize="16"/>
|
||||
<fontDescription key="fontDescription" style="UICTFontTextStyleHeadline"/>
|
||||
<color key="tintColor" red="0.0" green="0.54117647059999996" blue="0.13725490200000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<state key="normal" title="Yes">
|
||||
<color key="titleColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
|
@ -475,49 +475,29 @@ Once you press ‘Yes’ you’ll need to provide consent to upload your informa
|
|||
<rect key="frame" x="0.0" y="0.0" width="375" height="587"/>
|
||||
<subviews>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="qdE-ta-9is" userLabel="ContentView">
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="475"/>
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="485.5"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Upload Consent" lineBreakMode="wordWrap" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="ecY-RE-ssa">
|
||||
<rect key="frame" x="32" y="56" width="311" height="29"/>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Upload Consent" lineBreakMode="wordWrap" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontForContentSizeCategory="YES" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="ecY-RE-ssa">
|
||||
<rect key="frame" x="32" y="56" width="311" height="33.5"/>
|
||||
<accessibility key="accessibilityConfiguration">
|
||||
<accessibilityTraits key="traits" staticText="YES" header="YES"/>
|
||||
</accessibility>
|
||||
<fontDescription key="fontDescription" type="system" weight="medium" pointSize="24"/>
|
||||
<fontDescription key="fontDescription" style="UICTFontTextStyleTitle1"/>
|
||||
<nil key="textColor"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" scrollEnabled="NO" delaysContentTouches="NO" editable="NO" textAlignment="natural" translatesAutoresizingMaskIntoConstraints="NO" id="ryL-BN-XeS">
|
||||
<rect key="frame" x="32" y="101" width="311" height="274"/>
|
||||
<textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" scrollEnabled="NO" delaysContentTouches="NO" editable="NO" textAlignment="natural" adjustsFontForContentSizeCategory="YES" translatesAutoresizingMaskIntoConstraints="NO" id="ryL-BN-XeS">
|
||||
<rect key="frame" x="32" y="105.5" width="311" height="280"/>
|
||||
<color key="backgroundColor" systemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/>
|
||||
<string key="text">Unless you consent, your close contact information will not be uploaded.
|
||||
|
||||
If you consent, your close contact information will be uploaded and shared with state or territory health officials for contact tracing purposes.
|
||||
|
||||
Read the COVIDSafe *privacy policy* for further details.</string>
|
||||
Read the COVIDSafe *privacy policy* for further details.
Select 'I agree' to confirm consent.</string>
|
||||
<color key="textColor" systemColor="labelColor" cocoaTouchSystemColor="darkTextColor"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="18"/>
|
||||
<fontDescription key="fontDescription" style="UICTFontTextStyleBody"/>
|
||||
<textInputTraits key="textInputTraits" autocapitalizationType="sentences"/>
|
||||
</textView>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="mzh-IB-Sem" userLabel="ConsentButton">
|
||||
<rect key="frame" x="32" y="391" width="24" height="24"/>
|
||||
<accessibility key="accessibilityConfiguration" hint="Check to consent" label="I consent checkbox, unchecked">
|
||||
<accessibilityTraits key="traits" none="YES"/>
|
||||
</accessibility>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="24" id="FJs-ZV-f7s"/>
|
||||
<constraint firstAttribute="width" constant="24" id="rSd-43-LYy"/>
|
||||
</constraints>
|
||||
<state key="normal" image="emptyCheckbox"/>
|
||||
<connections>
|
||||
<action selector="onCheckboxTappedWithSender:" destination="GKP-u6-wgj" eventType="touchUpInside" id="XLU-ww-42R"/>
|
||||
</connections>
|
||||
</button>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="I consent to upload my information." textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="oFl-H4-sBC">
|
||||
<rect key="frame" x="64" y="392.5" width="291" height="21.5"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="18"/>
|
||||
<nil key="textColor"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="c1v-Px-kY5">
|
||||
<rect key="frame" x="16" y="16" width="44" height="44"/>
|
||||
<accessibility key="accessibilityConfiguration" label="back"/>
|
||||
|
@ -535,17 +515,12 @@ Read the COVIDSafe *privacy policy* for further details.</string>
|
|||
<accessibility key="accessibilityConfiguration" label="ContentView"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="bottom" secondItem="ryL-BN-XeS" secondAttribute="bottom" constant="100" id="4JN-hN-SHZ"/>
|
||||
<constraint firstItem="oFl-H4-sBC" firstAttribute="centerY" secondItem="mzh-IB-Sem" secondAttribute="centerY" id="8rb-lu-PZe"/>
|
||||
<constraint firstItem="ecY-RE-ssa" firstAttribute="top" secondItem="qdE-ta-9is" secondAttribute="top" constant="56" id="9pa-0O-gf7"/>
|
||||
<constraint firstItem="mzh-IB-Sem" firstAttribute="leading" secondItem="qdE-ta-9is" secondAttribute="leading" constant="32" id="E0b-LR-GgB"/>
|
||||
<constraint firstAttribute="trailing" secondItem="ecY-RE-ssa" secondAttribute="trailing" constant="32" id="O5O-Q5-L92"/>
|
||||
<constraint firstItem="ecY-RE-ssa" firstAttribute="leading" secondItem="qdE-ta-9is" secondAttribute="leading" constant="32" id="RA6-hI-Six"/>
|
||||
<constraint firstItem="c1v-Px-kY5" firstAttribute="leading" secondItem="qdE-ta-9is" secondAttribute="leading" constant="16" id="Utd-IG-kxz"/>
|
||||
<constraint firstItem="ryL-BN-XeS" firstAttribute="top" secondItem="ecY-RE-ssa" secondAttribute="bottom" constant="16" id="am7-Xb-QHu"/>
|
||||
<constraint firstAttribute="trailing" secondItem="oFl-H4-sBC" secondAttribute="trailing" constant="20" id="ct0-bb-7J5"/>
|
||||
<constraint firstItem="mzh-IB-Sem" firstAttribute="top" secondItem="ryL-BN-XeS" secondAttribute="bottom" constant="16" id="epY-4R-ShR"/>
|
||||
<constraint firstItem="ecY-RE-ssa" firstAttribute="trailing" secondItem="ryL-BN-XeS" secondAttribute="trailing" id="mnw-ZK-UUm"/>
|
||||
<constraint firstItem="oFl-H4-sBC" firstAttribute="leading" secondItem="mzh-IB-Sem" secondAttribute="trailing" constant="8" id="oKJ-7K-JtO"/>
|
||||
<constraint firstItem="c1v-Px-kY5" firstAttribute="top" secondItem="qdE-ta-9is" secondAttribute="top" constant="16" id="x19-vw-sBZ"/>
|
||||
<constraint firstItem="ryL-BN-XeS" firstAttribute="leading" secondItem="ecY-RE-ssa" secondAttribute="leading" id="xD8-sP-05a"/>
|
||||
</constraints>
|
||||
|
@ -559,16 +534,16 @@ Read the COVIDSafe *privacy policy* for further details.</string>
|
|||
<constraint firstAttribute="bottom" secondItem="qdE-ta-9is" secondAttribute="bottom" id="zqI-pE-geo"/>
|
||||
</constraints>
|
||||
</scrollView>
|
||||
<button opaque="NO" contentMode="scaleToFill" enabled="NO" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="huH-hW-8ZB" customClass="GradientButton" customModule="COVIDSafe" customModuleProvider="target">
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="huH-hW-8ZB" customClass="GradientButton" customModule="COVIDSafe" customModuleProvider="target">
|
||||
<rect key="frame" x="32" y="587" width="311" height="48"/>
|
||||
<color key="backgroundColor" red="0.0" green="0.40000000000000002" blue="0.1058823529" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<accessibility key="accessibilityConfiguration" hint="please consent to proceed"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="48" id="1pW-Jb-2mj"/>
|
||||
</constraints>
|
||||
<fontDescription key="fontDescription" type="boldSystem" pointSize="16"/>
|
||||
<fontDescription key="fontDescription" style="UICTFontTextStyleHeadline"/>
|
||||
<color key="tintColor" red="0.0" green="0.54117647059999996" blue="0.13725490200000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<state key="normal" title="Continue">
|
||||
<state key="normal" title="I agree">
|
||||
<color key="titleColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
</state>
|
||||
<userDefinedRuntimeAttributes>
|
||||
|
@ -596,8 +571,6 @@ Read the COVIDSafe *privacy policy* for further details.</string>
|
|||
<navigationItem key="navigationItem" id="uNC-rC-MF2"/>
|
||||
<nil key="simulatedBottomBarMetrics"/>
|
||||
<connections>
|
||||
<outlet property="agreeButton" destination="huH-hW-8ZB" id="BWW-PT-FxQ"/>
|
||||
<outlet property="consentCheckBox" destination="mzh-IB-Sem" id="9z7-AI-snh"/>
|
||||
<outlet property="messageTextView" destination="ryL-BN-XeS" id="Ypb-kY-GQH"/>
|
||||
</connections>
|
||||
</viewController>
|
||||
|
@ -627,7 +600,7 @@ Read the COVIDSafe *privacy policy* for further details.</string>
|
|||
<rect key="frame" x="0.0" y="0.0" width="375" height="586"/>
|
||||
<subviews>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="0tB-vW-7YF" userLabel="ContentView">
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="483"/>
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="531.5"/>
|
||||
<subviews>
|
||||
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="Upload_Success" translatesAutoresizingMaskIntoConstraints="NO" id="TcN-eU-PuH">
|
||||
<rect key="frame" x="32" y="0.0" width="311" height="160"/>
|
||||
|
@ -636,29 +609,22 @@ Read the COVIDSafe *privacy policy* for further details.</string>
|
|||
</constraints>
|
||||
</imageView>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Thank you for helping to stop the spread of COVID-19!" lineBreakMode="wordWrap" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="C1n-tc-aEy">
|
||||
<rect key="frame" x="32" y="192" width="311" height="57.5"/>
|
||||
<rect key="frame" x="32" y="192" width="311" height="101.5"/>
|
||||
<accessibility key="accessibilityConfiguration">
|
||||
<accessibilityTraits key="traits" staticText="YES" header="YES"/>
|
||||
</accessibility>
|
||||
<fontDescription key="fontDescription" type="system" weight="medium" pointSize="24"/>
|
||||
<fontDescription key="fontDescription" style="UICTFontTextStyleTitle1"/>
|
||||
<nil key="textColor"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" scrollEnabled="NO" delaysContentTouches="NO" editable="NO" usesAttributedText="YES" translatesAutoresizingMaskIntoConstraints="NO" id="bP5-GQ-GQk">
|
||||
<rect key="frame" x="32" y="265.5" width="311" height="209.5"/>
|
||||
<textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" scrollEnabled="NO" delaysContentTouches="NO" editable="NO" textAlignment="natural" adjustsFontForContentSizeCategory="YES" translatesAutoresizingMaskIntoConstraints="NO" id="bP5-GQ-GQk">
|
||||
<rect key="frame" x="32" y="309.5" width="311" height="214"/>
|
||||
<color key="backgroundColor" systemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/>
|
||||
<attributedString key="attributedText">
|
||||
<fragment>
|
||||
<string key="content">You have successfully uploaded your information to the COVIDSafe highly secure storage system.
|
||||
<string key="text">You have successfully uploaded your information to the COVIDSafe highly secure storage system.
|
||||
|
||||
State or territory health officials will notify other COVIDSafe users that have recorded instances of close contact with you. Your identity will remain anonymous to other users.</string>
|
||||
<attributes>
|
||||
<color key="NSColor" systemColor="labelColor" cocoaTouchSystemColor="darkTextColor"/>
|
||||
<font key="NSFont" metaFont="system" size="18"/>
|
||||
<paragraphStyle key="NSParagraphStyle" alignment="natural" lineBreakMode="wordWrapping" baseWritingDirection="natural" tighteningFactorForTruncation="0.0"/>
|
||||
</attributes>
|
||||
</fragment>
|
||||
</attributedString>
|
||||
<color key="textColor" systemColor="labelColor" cocoaTouchSystemColor="darkTextColor"/>
|
||||
<fontDescription key="fontDescription" style="UICTFontTextStyleBody"/>
|
||||
<textInputTraits key="textInputTraits" autocapitalizationType="sentences"/>
|
||||
</textView>
|
||||
</subviews>
|
||||
|
@ -691,7 +657,7 @@ State or territory health officials will notify other COVIDSafe users that have
|
|||
<constraints>
|
||||
<constraint firstAttribute="height" constant="49" id="gDg-cR-S0i"/>
|
||||
</constraints>
|
||||
<fontDescription key="fontDescription" type="boldSystem" pointSize="16"/>
|
||||
<fontDescription key="fontDescription" style="UICTFontTextStyleHeadline"/>
|
||||
<color key="tintColor" red="0.0" green="0.54117647059999996" blue="0.13725490200000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<state key="normal" title="Continue">
|
||||
<color key="titleColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
|
@ -731,6 +697,5 @@ State or territory health officials will notify other COVIDSafe users that have
|
|||
<image name="Upload_Success" width="311" height="188"/>
|
||||
<image name="arrow-left" width="24" height="24"/>
|
||||
<image name="closeButton" width="24" height="24"/>
|
||||
<image name="emptyCheckbox" width="24" height="24"/>
|
||||
</resources>
|
||||
</document>
|
||||
|
|
|
@ -5,15 +5,10 @@ import UIKit
|
|||
final class UploadDataHomeViewController: UIViewController {
|
||||
|
||||
@IBOutlet var messageTextView: UITextView!
|
||||
@IBOutlet weak var consentCheckBox: UIButton!
|
||||
@IBOutlet weak var agreeButton: UIButton!
|
||||
|
||||
override func viewDidLoad() {
|
||||
super.viewDidLoad()
|
||||
consentCheckBox.setImage(UIImage(named: "emptyCheckbox"), for: .normal)
|
||||
consentCheckBox.setImage(UIImage(named: "selectedCheckbox"), for: .selected)
|
||||
setupMessageTextView()
|
||||
updateContinueButton()
|
||||
}
|
||||
|
||||
private func setupMessageTextView() {
|
||||
|
@ -21,22 +16,7 @@ final class UploadDataHomeViewController: UIViewController {
|
|||
messageTextView.addLink("https://www.health.gov.au/using-our-websites/privacy/privacy-notice-for-covidsafe-app", enclosedIn: "*")
|
||||
}
|
||||
|
||||
@IBAction func onCheckboxTapped(sender: UIButton) {
|
||||
sender.isSelected = !sender.isSelected
|
||||
self.agreeButton.isEnabled = sender.isSelected
|
||||
updateContinueButton()
|
||||
consentCheckBox.accessibilityLabel = sender.isSelected ? "I consent checkbox, checked" : "I consent checkbox, unchecked"
|
||||
}
|
||||
|
||||
@IBAction func onBackTapped(_ sender: UIButton) {
|
||||
navigationController?.popViewController(animated: true)
|
||||
}
|
||||
|
||||
func updateContinueButton() {
|
||||
if (agreeButton.isEnabled) {
|
||||
agreeButton.backgroundColor = UIColor.covidSafeButtonDarkerColor
|
||||
} else {
|
||||
agreeButton.backgroundColor = UIColor(0xDBDDDD)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -32,8 +32,8 @@ class UploadDataStep2VC: UIViewController, CodeInputViewDelegate {
|
|||
var currentKeyboardFrame: CGRect?
|
||||
var uploadAnimatedView: AnimationView?
|
||||
|
||||
let uploadFailErrMsg = "Upload failed. Please try again later."
|
||||
let invalidPinErrMsg = "Invalid PIN, please ask the health official to send you another PIN."
|
||||
let uploadFailErrMsg = NSLocalizedString("UploadFailed", comment: "Upload failed. Please try again later.")
|
||||
let invalidPinErrMsg = NSLocalizedString("InvalidPIN", comment: "Invalid PIN, please ask health official to send another PIN.")
|
||||
|
||||
let verifyEnabledColor = UIColor.covidSafeButtonDarkerColor
|
||||
let verifyDisabledColor = UIColor(red: 219/255.0, green: 221/255.0, blue: 221.0/255.0, alpha: 1.0)
|
||||
|
@ -165,10 +165,10 @@ class UploadDataStep2VC: UIViewController, CodeInputViewDelegate {
|
|||
}
|
||||
|
||||
func displayUploadDataError() {
|
||||
let errorAlert = UIAlertController(title: "Upload failed",
|
||||
message: "Please try again later.",
|
||||
let errorAlert = UIAlertController(title: NSLocalizedString("UploadFailedErrorTitle", comment: "Upload Failed"),
|
||||
message: NSLocalizedString("UploadFailedErrorMessage", comment: "Please try again later."),
|
||||
preferredStyle: .alert)
|
||||
errorAlert.addAction(UIAlertAction(title: "OK", style: .default, handler: nil))
|
||||
errorAlert.addAction(UIAlertAction(title: NSLocalizedString("OK", comment: "OK"), style: .default, handler: nil))
|
||||
self.present(errorAlert, animated: true)
|
||||
}
|
||||
|
||||
|
|
71
CovidSafe/en.lproj/Localizable.strings
Normal file
71
CovidSafe/en.lproj/Localizable.strings
Normal file
|
@ -0,0 +1,71 @@
|
|||
/*
|
||||
Localizable.strings
|
||||
CovidSafe
|
||||
|
||||
Copyright © 2020 Australian Government. All rights reserved.
|
||||
*/
|
||||
//Global
|
||||
"OK" = "OK";
|
||||
|
||||
// OTP View Controller
|
||||
"EnterPINSent" = "Enter the PIN sent to %@";
|
||||
"PINWillExpire" = "Your PIN will expire in %@";
|
||||
"CodeHasExpired" = "Your code has expired.";
|
||||
"InvalidOTP" = "Must be a 6-digit code";
|
||||
"WrongOTP" = "Wrong PIN entered";
|
||||
"IsThisNumberWrong" = "Is this mobile number wrong?";
|
||||
"ResendPin" = "Resend PIN";
|
||||
"ReceivePinIssue" = "Issues receiving your PIN?";
|
||||
|
||||
"PhoneVerificationErrorTitle" = "Error verifying phone number";
|
||||
"PhoneVerificationErrorMessage" = "Please check your details and try again.";
|
||||
"PhoneNumberFormatErrorTitle" = "Wrong number format";
|
||||
"PhoneNumberFormatErrorMessage" = "Please enter a mobile phone number.";
|
||||
|
||||
|
||||
//Phone Number View Controller
|
||||
"EnterPhoneReVerify" = "Enter your mobile number to re-verify";
|
||||
"AusPhoneNumberButton" = "Use an Australian phone number";
|
||||
|
||||
|
||||
// Home View Controller
|
||||
"PairingRequestsInfo" = "COVIDSafe does not send pairing requests.";
|
||||
"PairingRequestsInfoUnderline" = "pairing requests";
|
||||
"InformationUploaded" = "Your information was uploaded on %@";
|
||||
"VersionNumber" = "Version number: %@ Build: %@";
|
||||
"HomeHeaderNoAction" = "COVIDSafe is active.\nNo further action is required.";
|
||||
"HomeHeaderPermissions" = "COVIDSafe is not active.\nCheck your permissions.";
|
||||
"NotificationsEnabled" = "Notifications are enabled";
|
||||
"NotificationsDisabled" = "Notifications are disabled";
|
||||
"NotificationsEnabledBlurb" = "You will receive a notification if COVIDSafe is not active.
Change notification settings";
|
||||
"NotificationsDisabledBlurb" = "You will not receive a notification if COVIDSafe is not active.
Change notification settings";
|
||||
"NotificationsBlurbLink" = "Change notification settings";
|
||||
"ShareText" = "Join me in stopping the spread of COVID-19! Download COVIDSafe, an app from the Australian Government.";
|
||||
|
||||
//Successful registration (OnboardingStep2B)
|
||||
"PointOne" = "1. When you leave home, keep your phone with you and make sure COVIDSafe is active.";
|
||||
"PointTwo" = "2. Bluetooth® should be kept ON.";
|
||||
"PointThree" = "3. COVIDSafe does not send pairing requests. Learn more.";
|
||||
"PointThreeUnderline" = "Learn more";
|
||||
|
||||
// Help Nav Controller
|
||||
"ReportAnIssue" = "Report an issue";
|
||||
|
||||
// Personal Details View Controller
|
||||
"Done" = "Done";
|
||||
"Next" = "Next";
|
||||
"ValidationError" = "Validation error";
|
||||
"PostcodeValidationErrorMessage" = "Please enter a valid postcode";
|
||||
|
||||
//Upload Data Step 2 View Controller
|
||||
"UploadFailed" = "Upload failed. Please try again later.";
|
||||
"InvalidPIN" = "Invalid PIN, please ask the health official to send you another PIN.";
|
||||
"UploadFailedErrorTitle" = "Upload Failed";
|
||||
"UploadFailedErrorMessage" = "Please try again later.";
|
||||
|
||||
// Unused
|
||||
"WrongNumber" = "Wrong number?";
|
||||
"ResendCode" = "Resend PIN";
|
||||
"NotAValidCode" = "Not a valid code";
|
||||
"DataUploaded" = "Data uploaded";
|
||||
"DataNotUploaded" = "Data not uploaded";
|
Loading…
Reference in a new issue