From 708b66765e62a79c816d58ae54bbeeb99ebca39f Mon Sep 17 00:00:00 2001 From: Federico Maccaroni Date: Mon, 26 Aug 2024 12:11:51 -0300 Subject: [PATCH] [PM-10562] Added the complication to the watchOS app (#836) --- .github/workflows/build.yml | 10 ++ .../AutofillCredentialServiceTests.swift | 7 +- .../Circular.imageset/Circular38mm2x.png | Bin 969 -> 0 bytes .../Circular.imageset/Circular44mm2x.png | Bin 1106 -> 0 bytes .../Circular.imageset/Contents.json | 27 ------ .../Contents.json | 53 ----------- .../Extra Large.imageset/Contents.json | 27 ------ .../Extra Large.imageset/ExtraLarge38mm2x.png | Bin 4202 -> 0 bytes .../Extra Large.imageset/ExtraLarge44mm2x.png | Bin 5346 -> 0 bytes .../Graphic Bezel.imageset/Contents.json | 21 ---- .../GraphicBezel44mm2x.png | Bin 2240 -> 0 bytes .../Graphic Circular.imageset/Contents.json | 21 ---- .../GraphicCircular44mm2x.png | Bin 2240 -> 0 bytes .../Graphic Corner.imageset/Contents.json | 21 ---- .../GraphicCorner44mm2x.png | Bin 1181 -> 0 bytes .../Contents.json | 27 ------ .../GraphicExtraLarge38mm2x.png | Bin 4904 -> 0 bytes .../GraphicExtraLarge44mm2x.png | Bin 6533 -> 0 bytes .../Contents.json | 20 ---- .../Modular.imageset/Contents.json | 27 ------ .../Modular.imageset/GraphicModular38mm2x.png | Bin 1311 -> 0 bytes .../Modular.imageset/GraphicModular44mm2x.png | Bin 1594 -> 0 bytes .../Utilitarian.imageset/Contents.json | 27 ------ .../GraphicUtilitarian38mm2x.png | Bin 1106 -> 0 bytes .../GraphicUtilitarian44mm2x.png | Bin 1299 -> 0 bytes .../ComplicationIcon.imageset/Contents.json | 12 +++ .../ComplicationIcon.imageset/bw-logo.pdf | Bin 0 -> 4167 bytes .../ComplicationController.swift | 90 ++++++++++++------ BitwardenWatchApp/Info.plist | 2 + .../Application/Support/Info.plist | 29 ++++++ .../AccentColor.colorset/Contents.json | 11 +++ .../Contents.json | 12 +++ .../bw-logo.pdf | Bin 0 -> 4167 bytes .../AppIcon.appiconset/Contents.json | 14 +++ .../AppIcon.appiconset/Icon-1024.png | Bin 0 -> 30793 bytes .../ComplicationIcon.imageset/Contents.json | 12 +++ .../ComplicationIcon.imageset/Icon-100.png | Bin 0 -> 2552 bytes .../Assets.xcassets/Contents.json | 6 ++ .../WidgetBackground.colorset/Contents.json | 11 +++ .../BitwardenWatchWidgetExtension.swift | 80 ++++++++++++++++ BitwardenWatchWidgetExtension/Icon-50.png | Bin 0 -> 2552 bytes Configs/BitwardenWatchApp-Debug.xcconfig | 3 +- Configs/BitwardenWatchApp-Release.xcconfig | 3 +- .../BitwardenWatchWidgetExtension.xcconfig | 6 ++ Configs/Common.xcconfig | 1 + Configs/WatchCommon.xcconfig | 4 + Scripts/select_variant.sh | 3 + project.yml | 18 ++++ 48 files changed, 300 insertions(+), 305 deletions(-) delete mode 100644 BitwardenWatchApp/Assets.xcassets/Complication.complicationset/Circular.imageset/Circular38mm2x.png delete mode 100644 BitwardenWatchApp/Assets.xcassets/Complication.complicationset/Circular.imageset/Circular44mm2x.png delete mode 100644 BitwardenWatchApp/Assets.xcassets/Complication.complicationset/Circular.imageset/Contents.json delete mode 100644 BitwardenWatchApp/Assets.xcassets/Complication.complicationset/Contents.json delete mode 100644 BitwardenWatchApp/Assets.xcassets/Complication.complicationset/Extra Large.imageset/Contents.json delete mode 100644 BitwardenWatchApp/Assets.xcassets/Complication.complicationset/Extra Large.imageset/ExtraLarge38mm2x.png delete mode 100644 BitwardenWatchApp/Assets.xcassets/Complication.complicationset/Extra Large.imageset/ExtraLarge44mm2x.png delete mode 100644 BitwardenWatchApp/Assets.xcassets/Complication.complicationset/Graphic Bezel.imageset/Contents.json delete mode 100644 BitwardenWatchApp/Assets.xcassets/Complication.complicationset/Graphic Bezel.imageset/GraphicBezel44mm2x.png delete mode 100644 BitwardenWatchApp/Assets.xcassets/Complication.complicationset/Graphic Circular.imageset/Contents.json delete mode 100644 BitwardenWatchApp/Assets.xcassets/Complication.complicationset/Graphic Circular.imageset/GraphicCircular44mm2x.png delete mode 100644 BitwardenWatchApp/Assets.xcassets/Complication.complicationset/Graphic Corner.imageset/Contents.json delete mode 100644 BitwardenWatchApp/Assets.xcassets/Complication.complicationset/Graphic Corner.imageset/GraphicCorner44mm2x.png delete mode 100644 BitwardenWatchApp/Assets.xcassets/Complication.complicationset/Graphic Extra Large.imageset/Contents.json delete mode 100644 BitwardenWatchApp/Assets.xcassets/Complication.complicationset/Graphic Extra Large.imageset/GraphicExtraLarge38mm2x.png delete mode 100644 BitwardenWatchApp/Assets.xcassets/Complication.complicationset/Graphic Extra Large.imageset/GraphicExtraLarge44mm2x.png delete mode 100644 BitwardenWatchApp/Assets.xcassets/Complication.complicationset/Graphic Large Rectangular.imageset/Contents.json delete mode 100644 BitwardenWatchApp/Assets.xcassets/Complication.complicationset/Modular.imageset/Contents.json delete mode 100644 BitwardenWatchApp/Assets.xcassets/Complication.complicationset/Modular.imageset/GraphicModular38mm2x.png delete mode 100644 BitwardenWatchApp/Assets.xcassets/Complication.complicationset/Modular.imageset/GraphicModular44mm2x.png delete mode 100644 BitwardenWatchApp/Assets.xcassets/Complication.complicationset/Utilitarian.imageset/Contents.json delete mode 100644 BitwardenWatchApp/Assets.xcassets/Complication.complicationset/Utilitarian.imageset/GraphicUtilitarian38mm2x.png delete mode 100644 BitwardenWatchApp/Assets.xcassets/Complication.complicationset/Utilitarian.imageset/GraphicUtilitarian44mm2x.png create mode 100644 BitwardenWatchApp/Assets.xcassets/ComplicationIcon.imageset/Contents.json create mode 100644 BitwardenWatchApp/Assets.xcassets/ComplicationIcon.imageset/bw-logo.pdf create mode 100644 BitwardenWatchWidgetExtension/Application/Support/Info.plist create mode 100644 BitwardenWatchWidgetExtension/Assets.xcassets/AccentColor.colorset/Contents.json create mode 100644 BitwardenWatchWidgetExtension/Assets.xcassets/AccentedComplicationIcon.imageset/Contents.json create mode 100644 BitwardenWatchWidgetExtension/Assets.xcassets/AccentedComplicationIcon.imageset/bw-logo.pdf create mode 100644 BitwardenWatchWidgetExtension/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 BitwardenWatchWidgetExtension/Assets.xcassets/AppIcon.appiconset/Icon-1024.png create mode 100644 BitwardenWatchWidgetExtension/Assets.xcassets/ComplicationIcon.imageset/Contents.json create mode 100644 BitwardenWatchWidgetExtension/Assets.xcassets/ComplicationIcon.imageset/Icon-100.png create mode 100644 BitwardenWatchWidgetExtension/Assets.xcassets/Contents.json create mode 100644 BitwardenWatchWidgetExtension/Assets.xcassets/WidgetBackground.colorset/Contents.json create mode 100644 BitwardenWatchWidgetExtension/BitwardenWatchWidgetExtension.swift create mode 100644 BitwardenWatchWidgetExtension/Icon-50.png create mode 100644 Configs/BitwardenWatchWidgetExtension.xcconfig create mode 100644 Configs/WatchCommon.xcconfig diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index abb0dcdba..5c3553368 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -156,6 +156,7 @@ jobs: "dist_share_extension.mobileprovision" "dist_bitwarden_watch_app.mobileprovision" "dist_bitwarden_watch_app_extension.mobileprovision" + "dist_bitwarden_watch_widget_extension.mobileprovision" ) for FILE in "${profiles[@]}" @@ -178,6 +179,7 @@ jobs: "dist_beta_share_extension.mobileprovision" "dist_beta_bitwarden_watch_app.mobileprovision" "dist_beta_bitwarden_watch_app_extension.mobileprovision" + "dist_beta_bitwarden_watch_widget_extension.mobileprovision" ) for FILE in "${profiles[@]}" @@ -274,6 +276,7 @@ jobs: SHARE_EXTENSION_PROFILE_PATH=$HOME/secrets/dist_share_extension.mobileprovision WATCH_APP_PROFILE_PATH=$HOME/secrets/dist_bitwarden_watch_app.mobileprovision WATCH_APP_EXTENSION_PROFILE_PATH=$HOME/secrets/dist_bitwarden_watch_app_extension.mobileprovision + WATCH_WIDGET_EXTENSION_PROFILE_PATH=$HOME/secrets/dist_bitwarden_watch_widget_extension.mobileprovision PROFILES_DIR_PATH=$HOME/Library/MobileDevice/Provisioning\ Profiles mkdir -p "$PROFILES_DIR_PATH" @@ -296,6 +299,9 @@ jobs: WATCH_APP_EXTENSION_UUID=$(grep UUID -A1 -a $WATCH_APP_EXTENSION_PROFILE_PATH | grep -io "[-A-F0-9]\{36\}") cp $WATCH_APP_EXTENSION_PROFILE_PATH "$PROFILES_DIR_PATH/$WATCH_APP_EXTENSION_UUID.mobileprovision" + WATCH_WIDGET_EXTENSION_UUID=$(grep UUID -A1 -a $WATCH_WIDGET_EXTENSION_PROFILE_PATH | grep -io "[-A-F0-9]\{36\}") + cp $WATCH_WIDGET_EXTENSION_PROFILE_PATH "$PROFILES_DIR_PATH/$WATCH_WIDGET_EXTENSION_UUID.mobileprovision" + - name: Configure beta provisioning profiles if: env.BUILD_VARIANT == 'Beta' run: | @@ -305,6 +311,7 @@ jobs: SHARE_EXTENSION_PROFILE_PATH=$HOME/secrets/dist_beta_share_extension.mobileprovision WATCH_APP_PROFILE_PATH=$HOME/secrets/dist_beta_bitwarden_watch_app.mobileprovision WATCH_APP_EXTENSION_PROFILE_PATH=$HOME/secrets/dist_beta_bitwarden_watch_app_extension.mobileprovision + WATCH_WIDGET_EXTENSION_PROFILE_PATH=$HOME/secrets/dist_beta_bitwarden_watch_widget_extension.mobileprovision PROFILES_DIR_PATH=$HOME/Library/MobileDevice/Provisioning\ Profiles mkdir -p "$PROFILES_DIR_PATH" @@ -327,6 +334,9 @@ jobs: WATCH_APP_EXTENSION_UUID=$(grep UUID -A1 -a $WATCH_APP_EXTENSION_PROFILE_PATH | grep -io "[-A-F0-9]\{36\}") cp $WATCH_APP_EXTENSION_PROFILE_PATH "$PROFILES_DIR_PATH/$WATCH_APP_EXTENSION_UUID.mobileprovision" + WATCH_WIDGET_EXTENSION_UUID=$(grep UUID -A1 -a $WATCH_WIDGET_EXTENSION_PROFILE_PATH | grep -io "[-A-F0-9]\{36\}") + cp $WATCH_WIDGET_EXTENSION_PROFILE_PATH "$PROFILES_DIR_PATH/$WATCH_WIDGET_EXTENSION_UUID.mobileprovision" + - name: Update beta export compliance key if: env.BUILD_VARIANT == 'Beta' run: | diff --git a/BitwardenShared/Core/Autofill/Services/AutofillCredentialServiceTests.swift b/BitwardenShared/Core/Autofill/Services/AutofillCredentialServiceTests.swift index d62fa63aa..b65fa2310 100644 --- a/BitwardenShared/Core/Autofill/Services/AutofillCredentialServiceTests.swift +++ b/BitwardenShared/Core/Autofill/Services/AutofillCredentialServiceTests.swift @@ -626,11 +626,14 @@ class AutofillCredentialServiceTests: BitwardenTestCase { // swiftlint:disable:t } /// `syncIdentities(vaultLockStatus:)` doesn't remove identities if the store's state is disabled. - func test_syncIdentities_removeDisabled() { + func test_syncIdentities_removeDisabled() async throws { + try await waitAndResetRemoveAllCredentialIdentitiesCalled() identityStore.state.mockIsEnabled = false vaultTimeoutService.vaultLockStatusSubject.send(nil) - waitFor(identityStore.stateCalled) + try await waitForAsync { + self.identityStore.stateCalled + } XCTAssertFalse(identityStore.removeAllCredentialIdentitiesCalled) } diff --git a/BitwardenWatchApp/Assets.xcassets/Complication.complicationset/Circular.imageset/Circular38mm2x.png b/BitwardenWatchApp/Assets.xcassets/Complication.complicationset/Circular.imageset/Circular38mm2x.png deleted file mode 100644 index cb52827fc7b742a50b2667f3d9323144acffeb66..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 969 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmUKs7M+SzC{oH>NSwWJ?9znhg z3{`3j3=J&|48MRv4KElNN(~qoUL`OvSj}Ky5HFasE6@fgQIQ(qnda-upao=eFt9L6 zF@Q{91Y$czX*k=BQGg$2wA zHb~oi&afjuinG8YvY3H^TNs2H8D`CqU|?X{?djqe62bX4+&e=!P{elf63_l|TujN=tqOlQgtUJC zo0E3Y<^ElhE>-uHEwdPQ_O~*>xF_wX6gHpf?r)`x?yMingc(_LRT<|UUzvXGsm|=p zg?|r9?VEgtv2%H7!G&U#zJr%JA2y4AHS%YQWB6IQ@5O_wa~iMua4L2-TxhU46K-TkVmf*3n!h>+Ly-lWQus zrl>Ny870(cX;(R!>J&}u)waETVXL}M!sE%2=hr{yoX4``$iBMt2QRn0)3$p)C-_?Z zCT8<)2 z2sZq$*?;e$=$@Ym{|+|ZuDRb?=5yy>FZXe)BfDR+3h!0cesJ{o4X~CgZIbZna^z&>*23L1zF|A|P3tDqvrL$q-ty;tEjzdq~i>|j?f*_JQA@=!lvI6-E$sR$z z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oCU=S~uvn$XBC{d9b;hE;^%b*2hb1<+l zN-=;;U<6`2Mrk?m^lzvpDL-ffev z)oEyOaVb>Lb{aZvFI;V z&E!}pYQ$ocDC9$|50X!wAqH9qq}=<`k07c zc*(U>uH=>D{8J5zMK%j{eHXF+k*lyNV$xK2$n;chPBv#^?cDghlWFh!4SB!EAD=M8 zc*%sI13Q;AF4JX<$yvM6vNrLsJ+JDAZ>LSPTGT&x8hM^N{Ym?|aa4x&!H|Q>Ulr7Y zBsU!LIrGBee*(`&P1$=g_m?i^DK;(3<(rYkqc~NAF_dl1U!G3$q?2yRnp2)e%#NIx zv;5ooO{+BSdvkd#FT6Qp?oNiA@6R&oE#6`ola`hFE5>1YU8(JhstYUG=e*i&xZ_4M z>zq99kSTILU7t6H9Gbl3&UD))lXq!s6*;!F!Dd~>x=%c%T1~819rexD&Rnk@Y4N9X z*%bHrOc$Ep*PHV6p0Ru?+`6)l`F8V-0DFE5n?(^31f2168c>iFD z>(PJOhnE;W5ndXW>$da#VU|aicWs&VEJ0I&eS_6Y$&O~#D#J;a80TwLy`Q)4yw3ae z1w#GzjxL>AQl+PwV8v&>>u`e1O~GsJe-2cqzbedl&J{e>_0`mQ26gU5*L%9(YBR13 z(A4w$E3ba>rg-F<`QN{PS<_g$`tOUpe3#enR-M^l{Ws7?c8)=Anv|+OtN5BPF3&f2 zyqvhX-MP}&=w6zstgf$i;oh}=4r$9@R7oE0y=S1M6YU%4{NH-ht*(ha68k%ruI@i9 z(Z9UlXT;kk+um2ZI?U5Dk6(^ajzfEDb;fGST z?epEwsFyS586WLZKJaCU4cA|#ZQr;8^d43-&bXI!DY>gwY>vt%&KVDTeE;=2CORJ2 w7Ubc{!09w6$T8AhXLjDTYpGw}F183" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - }, - "properties" : { - "auto-scaling" : "auto" - } -} diff --git a/BitwardenWatchApp/Assets.xcassets/Complication.complicationset/Contents.json b/BitwardenWatchApp/Assets.xcassets/Complication.complicationset/Contents.json deleted file mode 100644 index e8b3252e3..000000000 --- a/BitwardenWatchApp/Assets.xcassets/Complication.complicationset/Contents.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "assets" : [ - { - "filename" : "Circular.imageset", - "idiom" : "watch", - "role" : "circular" - }, - { - "filename" : "Extra Large.imageset", - "idiom" : "watch", - "role" : "extra-large" - }, - { - "filename" : "Graphic Bezel.imageset", - "idiom" : "watch", - "role" : "graphic-bezel" - }, - { - "filename" : "Graphic Circular.imageset", - "idiom" : "watch", - "role" : "graphic-circular" - }, - { - "filename" : "Graphic Corner.imageset", - "idiom" : "watch", - "role" : "graphic-corner" - }, - { - "filename" : "Graphic Extra Large.imageset", - "idiom" : "watch", - "role" : "graphic-extra-large" - }, - { - "filename" : "Graphic Large Rectangular.imageset", - "idiom" : "watch", - "role" : "graphic-large-rectangular" - }, - { - "filename" : "Modular.imageset", - "idiom" : "watch", - "role" : "modular" - }, - { - "filename" : "Utilitarian.imageset", - "idiom" : "watch", - "role" : "utilitarian" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/BitwardenWatchApp/Assets.xcassets/Complication.complicationset/Extra Large.imageset/Contents.json b/BitwardenWatchApp/Assets.xcassets/Complication.complicationset/Extra Large.imageset/Contents.json deleted file mode 100644 index e42ac15be..000000000 --- a/BitwardenWatchApp/Assets.xcassets/Complication.complicationset/Extra Large.imageset/Contents.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "images" : [ - { - "idiom" : "watch", - "scale" : "2x" - }, - { - "filename" : "ExtraLarge38mm2x.png", - "idiom" : "watch", - "scale" : "2x", - "screen-width" : "<=145" - }, - { - "filename" : "ExtraLarge44mm2x.png", - "idiom" : "watch", - "scale" : "2x", - "screen-width" : ">183" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - }, - "properties" : { - "auto-scaling" : "auto" - } -} diff --git a/BitwardenWatchApp/Assets.xcassets/Complication.complicationset/Extra Large.imageset/ExtraLarge38mm2x.png b/BitwardenWatchApp/Assets.xcassets/Complication.complicationset/Extra Large.imageset/ExtraLarge38mm2x.png deleted file mode 100644 index d8f96b5dfa03b22202e0e2c8384600c2003584c1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4202 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 HfTI2bB}&pi diff --git a/BitwardenWatchApp/Assets.xcassets/Complication.complicationset/Extra Large.imageset/ExtraLarge44mm2x.png b/BitwardenWatchApp/Assets.xcassets/Complication.complicationset/Extra Large.imageset/ExtraLarge44mm2x.png deleted file mode 100644 index 4d813a3fbbffe199b86f20f1396206cd1578654a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5346 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" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - }, - "properties" : { - "auto-scaling" : "auto" - } -} diff --git a/BitwardenWatchApp/Assets.xcassets/Complication.complicationset/Graphic Bezel.imageset/GraphicBezel44mm2x.png b/BitwardenWatchApp/Assets.xcassets/Complication.complicationset/Graphic Bezel.imageset/GraphicBezel44mm2x.png deleted file mode 100644 index 10eeadd695d2e13a8ccba830d378e4784b798755..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2240 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 B+YkT% diff --git a/BitwardenWatchApp/Assets.xcassets/Complication.complicationset/Graphic Circular.imageset/Contents.json b/BitwardenWatchApp/Assets.xcassets/Complication.complicationset/Graphic Circular.imageset/Contents.json deleted file mode 100644 index bc6b1185d..000000000 --- a/BitwardenWatchApp/Assets.xcassets/Complication.complicationset/Graphic Circular.imageset/Contents.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "images" : [ - { - "idiom" : "watch", - "scale" : "2x" - }, - { - "filename" : "GraphicCircular44mm2x.png", - "idiom" : "watch", - "scale" : "2x", - "screen-width" : ">183" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - }, - "properties" : { - "auto-scaling" : "auto" - } -} diff --git a/BitwardenWatchApp/Assets.xcassets/Complication.complicationset/Graphic Circular.imageset/GraphicCircular44mm2x.png b/BitwardenWatchApp/Assets.xcassets/Complication.complicationset/Graphic Circular.imageset/GraphicCircular44mm2x.png deleted file mode 100644 index 10eeadd695d2e13a8ccba830d378e4784b798755..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2240 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 B+YkT% diff --git a/BitwardenWatchApp/Assets.xcassets/Complication.complicationset/Graphic Corner.imageset/Contents.json b/BitwardenWatchApp/Assets.xcassets/Complication.complicationset/Graphic Corner.imageset/Contents.json deleted file mode 100644 index b1c238230..000000000 --- a/BitwardenWatchApp/Assets.xcassets/Complication.complicationset/Graphic Corner.imageset/Contents.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "images" : [ - { - "idiom" : "watch", - "scale" : "2x" - }, - { - "filename" : "GraphicCorner44mm2x.png", - "idiom" : "watch", - "scale" : "2x", - "screen-width" : ">183" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - }, - "properties" : { - "auto-scaling" : "auto" - } -} diff --git a/BitwardenWatchApp/Assets.xcassets/Complication.complicationset/Graphic Corner.imageset/GraphicCorner44mm2x.png b/BitwardenWatchApp/Assets.xcassets/Complication.complicationset/Graphic Corner.imageset/GraphicCorner44mm2x.png deleted file mode 100644 index f970ea6fd020180afaf1c84bb1194cd4e2368c81..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1181 zcmeAS@N?(olHy`uVBq!ia0vp^Iv~u!1|;QLq8Nb`OS+@4BLl<6e(pbstU$g(vPY0F z14ES>14Ba#1H&(%P{RubhEf9thF1v;3|2E37{m+a>rpqc&7RKGH3zW91JXs zQVbvyK&IL;O2gT1j2aBgU~wh}hW1Pb7N{COAPoW@Kn&6Yp_vyjLRACB7BIn8>nvbK zutD0+KfF8zNO2Z;L>4nJa0`PlBg3pY5)2H?{hlt4ArYK!Bcii~9Yy|`WlmDNVy2lp zRY_w}0&BODUB{0L>Ve(-uJTvKKi(2!)&I(0Q7Po8HMQw$q)1oz1v}0leO*zlOShEb zHfCNu@@$u<*}0pWPMS@>ds9VQ?3=^x$ul=Uulam-&gNpbh`I!=UR9NCsx6^yS&U}Y zM|IlHrtRpu?l|kI(B?~>2OK!Q^gHihSiZzWri{^#eR(L~@hnlpiEc_$+wLyQj~6eP zBpG%6&5^H*eKS^UUHvy?jqP{!)^)S%eCmV)k9J%Xian4dbYtVeUft}~Ti;AE-L~pv z2_*UDIJwo#egkicbv@)hNSBq zGngWLmKlCAYntiM#TsNMbIRgMePVs>zXg8%nhlycF*=JwHrwkS*t62dww>v7IRF3p zT<#4wvy%*S4Cfqf*s5B@vGRw1_rtE>S;-T+6Muc1t=RPH_L(dey^E|q%U4B~9ay(S zU`JFxZ||z62ELD4e_ZdrWLn1j^+>p2;Ka#Ii`H#oE({aO%`aTMG4J6Pzva8X$3I%b zbNZD?b|Hh9!C&P@bNQsBITEkb%ck#SE!pal@asjJy3RUG!ftsV!wmPDs%3 zIJ>FknueN}#qGfUv)M6{(J8YduCIG0c4a5S<(uCQzBZV*zdLP?L~g(Xw?{&KZ@w&w zKKky1i%7G+^QW6LkE@9%aIt9}uFgCE==q+H3{zB2@XWjO_V80@-kF;;1*R3$CFC{6 z%2nO$*}-u6%-m3>WA@!IUVWD4a)`=eU!ARIxPT>0^YP04v!{MbmVdk{SFX&nUD`l% z_gp5qO=}Au9pgD<=r+4eVD%Q(sPNqd%a=2}q3rTvCxX2KrNrhZr-k!5rD{d9ewjICZ1CoxVo_WB_=op)~a9-Z}7 zlB*-tt|nw;f3f3wbnEZ^PhpEHG(t}?`S@l2?7Zl!vwq&|4-0Fv&noHoyB*q5^j_R; z`J)2EFw1wp#rDqsy*TGUmt)fGitOyK8)Bl5H*mhFmpZa};|80RMG>Jj7d9s~h%TP8 zZp!J&BBw=4T%&)n1*}P%|5I_EtoBORcvsgic}k+T%I6OSCLK9se{CznY~LS~l7Hy? XJ(K(Y@cg6CpnU7;>gTe~DWM4f;C9~I diff --git a/BitwardenWatchApp/Assets.xcassets/Complication.complicationset/Graphic Extra Large.imageset/Contents.json b/BitwardenWatchApp/Assets.xcassets/Complication.complicationset/Graphic Extra Large.imageset/Contents.json deleted file mode 100644 index d2c0fba3b..000000000 --- a/BitwardenWatchApp/Assets.xcassets/Complication.complicationset/Graphic Extra Large.imageset/Contents.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "images" : [ - { - "idiom" : "watch", - "scale" : "2x" - }, - { - "filename" : "GraphicExtraLarge38mm2x.png", - "idiom" : "watch", - "scale" : "2x", - "screen-width" : "<=145" - }, - { - "filename" : "GraphicExtraLarge44mm2x.png", - "idiom" : "watch", - "scale" : "2x", - "screen-width" : ">183" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - }, - "properties" : { - "auto-scaling" : "auto" - } -} diff --git a/BitwardenWatchApp/Assets.xcassets/Complication.complicationset/Graphic Extra Large.imageset/GraphicExtraLarge38mm2x.png b/BitwardenWatchApp/Assets.xcassets/Complication.complicationset/Graphic Extra Large.imageset/GraphicExtraLarge38mm2x.png deleted file mode 100644 index 19b51d4dded6f07363dde2c2ec6555eaab61eee5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4904 zcmeHLhf|YZmwq8MsUp3J=#P#_Q$h!6(t^^IK#)j>P?g>ZpooBo(nUH12)zhGfJhHw z01Y4@geo0rf3;_LSoDu+@x&c)G z;y}pwx7;Dy-!}h+pnQsdvB|M~%73#*@w!cOJWan}N zz$IP-9W9F>imkU7UUK&G#CJySAUmR$@$}zCcvCK>1i@eE_lgyYQ!6nV3R@}2+UYE^ zUN`4u=t_g6ufUUdrFMF4eh|;pT zYUpvz_F4ocqAV1HxwM>S)yx38@KUpruJ~|c;#Bs+%P9RQEL`^rg&>s}zaXAFjtm5f zOS@W8*q;@HjefDI=vy7r;SEaSID!I>@cY)_VEwq46@8h3 z?&Chz6S>1pvlHSoM1eE5e1TXpRjL*zT$!^p68v>|#y2C5S)vi*420bn4|c+f=43gv{PfFy53vWTS4yHT0+3C;7}P@j
AZ@rbGOjLRA-(yGGg7 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 wve?t4spbOEdzHJ}#A6Dhz+W-In diff --git a/BitwardenWatchApp/Assets.xcassets/Complication.complicationset/Graphic Extra Large.imageset/GraphicExtraLarge44mm2x.png b/BitwardenWatchApp/Assets.xcassets/Complication.complicationset/Graphic Extra Large.imageset/GraphicExtraLarge44mm2x.png deleted file mode 100644 index c5009ac7926eaf50c69c8d06e416e1dc4f9e8025..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6533 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 LFi183" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - }, - "properties" : { - "auto-scaling" : "auto" - } -} diff --git a/BitwardenWatchApp/Assets.xcassets/Complication.complicationset/Modular.imageset/Contents.json b/BitwardenWatchApp/Assets.xcassets/Complication.complicationset/Modular.imageset/Contents.json deleted file mode 100644 index 8a81c3287..000000000 --- a/BitwardenWatchApp/Assets.xcassets/Complication.complicationset/Modular.imageset/Contents.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "images" : [ - { - "idiom" : "watch", - "scale" : "2x" - }, - { - "filename" : "GraphicModular38mm2x.png", - "idiom" : "watch", - "scale" : "2x", - "screen-width" : "<=145" - }, - { - "filename" : "GraphicModular44mm2x.png", - "idiom" : "watch", - "scale" : "2x", - "screen-width" : ">183" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - }, - "properties" : { - "auto-scaling" : "auto" - } -} diff --git a/BitwardenWatchApp/Assets.xcassets/Complication.complicationset/Modular.imageset/GraphicModular38mm2x.png b/BitwardenWatchApp/Assets.xcassets/Complication.complicationset/Modular.imageset/GraphicModular38mm2x.png deleted file mode 100644 index a50b3aef393c2d7ddc77c5732f7158a7fa555889..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1311 zcmeAS@N?(olHy`uVBq!ia0vp^CLqkg1|*MGNWTVBEa{HEjtmSN`?>!lvI6-E$sR$z z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oCU=S~uvn$XBC{d9b;hE;^%b*2hb1<+l zN-=;;U<6`2Mrk->>&_ho06l>NG=B6-Uy-}tl9_q)H({oT8>{LzXV_a+_VkUA&W;@X(R zEcHrkt8Pm4i6q`0i|NJP8UfQ7H64#n3w58)yqHU-fNRBEX@SO%;?^5WBMp!Jh*7FC z@VzbU`|#LhgI$M=%r){HKBh>un@>-=zDnq_w8`cTMNW#Vq^%8BT{yUP&g~f~-!z}z z`LVO*vw*Mk`!??biaQu5eh?|PUfsUJ$2&x>@1#YEX2*R&F>bbblP6uCA*JDPx6f!t z4+rm-EKY^4{qFASlZ#>j`^ro0l*vzBcIoy$J3K9$duWy~g=4sRYy^1e3 z_~wJurQ5cNO`72|>8$k*T@~ZZ`%Rv4`ooH-@@ ztYNV9(@2--WwSCbPr7LJX?na$*wZY5SM$EjFJNAD==ITbPWxS-l9xv0OJ$3TB!1+{ zzprQQq-pbCWue1@7mwLoV&|8IIR($xxvqTB>&wYCi%W8DTg0AU_%c%BzV+m`(7b1H zI~XrI6?Jm+J1LxfnxzscfAD$XqdWT=E-3{5ENctS*dw2$y7L$J{ZI~ptAEz&7+$&i z=E-9_4$;VCrw`1zAKxgtxz_5Huy5>-U&f5vyY1^b8U+-h9AwX|?yoNR>&fry%kOnu zH2Ln1s)9X2)=_Rxu07%0b2sR1lw&i~5`8Q6to47K79454`nh|{AGW>AH>-(F-&nFt z{A)Gy48xTH+n;@G*T~Xii+ok~;?nlM6A4N=ijQ2^sc-asYkRw|I$w$H&DZ{_o71^Z z9bh;Aaj_&N$==|~?%S6y^kuBqnZmIp$cIsh?a6IH&tvb}wmIH?zdrO*gvs6J=&izq zHPMn?5pOcsciuer%j|+U`^6m>KNY6@wr721dpY_@V`<%$Jk3y}g<%YL+ZP$h?deUp zd+6fdM@_qyF3&4}{N=8mTjrgPGf#f6ue{dKp&8lGRP$6u|F!q@$o#^$Gu&s!>l zYSb1k5ZS-y)bV}4dK2f1$nN-~(V{NDSm)WM{8OuojMi5&FX0LbHa)9(?ZsEk`OZHQ zMDP0SV@!GHUN4biC)-vmeIdYnR_?-uc?<1NPc?g{ynmh)sO0c;^>bP0l+XkK2FN0L diff --git a/BitwardenWatchApp/Assets.xcassets/Complication.complicationset/Modular.imageset/GraphicModular44mm2x.png b/BitwardenWatchApp/Assets.xcassets/Complication.complicationset/Modular.imageset/GraphicModular44mm2x.png deleted file mode 100644 index 378e56c668dd5d20327798b68b274102a280f13f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1594 zcmYL}dpy%?9LJyEHp#7#a44HgE=>xJBX){4Ya?<=C{c-A5?zKR+mgFVl>3fEIYOAC zkuirRB1y%odoX|<}g zYs7m=z?lIt5GSqetpQ-A$cT!9wEzLBfz=lvv35Zle|aLL58(giFaY8M0ODuILCn=f5^Htl zKf?2&pKWoL5Bt@&%7_2&SH~y=Vew)}g_1nZ0U)EeDhT8-e*-{bE16(@AOe~^9F=gu zb;C;M{KPyv=|{JuZ$RoDjFC!)Ulf$PueCFUz{(xYr zc6|KZ++#@P#^95>+>%HTff_oCsFx3|g>wa<3+{Q%%F&h1L3~VJb48h-x(hA8Zc*M* z)=vi{)m>_Em!E&%A4ejkKETW>2_E952JT&|H1%gHHQySP8Tpv^k_@ha=j%}_qqM`&@r?jL z`sH6{aa`9=%KGC}2H4<6p`wN`=VWdQaaJIyv<`=KG=3y{Un-sXtZVo|(J;*7y0L9ba*}QXqXX9}7Cz zj);bWcl~~f8?!1}4CIzNzsjsPB4aEoWC}W zZl1W=m7+$Lz~r@9!1_#I#WxMin($;j==|G+P8+3EW;-w%saI%NvcW$r*N&2?y6BdR zMhA~I2iq0Yn1-Wrcx~sXCUNbM`D3ODz;Ui(EFL#7dBcSPxuL?akHu@)m3j%B!;+PO z*_;i$6s@pL`!w(-ul7(Nu4=Z!cHO+C(Dj8Mo~tJ_{S6y+qocOVjpW@8Hd~?<`b>`@ zw_Qqk(yrKK#?wuS3kLEYSB50__5 zL~*Sw$qhu&leMi?*52FpAX{ced<5Mn1(_pv%*7TjTaXM}>mBQOp z_wew{$q%v3pL)IS183" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - }, - "properties" : { - "auto-scaling" : "auto" - } -} diff --git a/BitwardenWatchApp/Assets.xcassets/Complication.complicationset/Utilitarian.imageset/GraphicUtilitarian38mm2x.png b/BitwardenWatchApp/Assets.xcassets/Complication.complicationset/Utilitarian.imageset/GraphicUtilitarian38mm2x.png deleted file mode 100644 index f7eff8ec7279fb86b240707643f50c49613433ac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1106 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 NEpx$!4cmqW{sX+}&S?Mu literal 0 HcmV?d00001 diff --git a/BitwardenWatchApp/ComplicationController.swift b/BitwardenWatchApp/ComplicationController.swift index f83aee1a8..8b028df0d 100644 --- a/BitwardenWatchApp/ComplicationController.swift +++ b/BitwardenWatchApp/ComplicationController.swift @@ -6,64 +6,94 @@ class ComplicationController: NSObject, CLKComplicationDataSource { func getComplicationDescriptors(handler: @escaping ([CLKComplicationDescriptor]) -> Void) { let descriptors = [ CLKComplicationDescriptor( - identifier: "complication", + identifier: "bitwarden-watch-complication", displayName: "Bitwarden", - supportedFamilies: CLKComplicationFamily.allCases + supportedFamilies: [ + CLKComplicationFamily.circularSmall, + CLKComplicationFamily.graphicCircular, + CLKComplicationFamily.graphicCorner, + CLKComplicationFamily.utilitarianSmall, + ] ), - // Multiple complication support can be added here with more descriptors ] - // Call the handler with the currently supported complication descriptors handler(descriptors) } - func handleSharedComplicationDescriptors(_: [CLKComplicationDescriptor]) { - // Do any necessary work to support these newly shared complication descriptors - } - // MARK: - Timeline Configuration - func getTimelineEndDate(for _: CLKComplication, withHandler handler: @escaping (Date?) -> Void) { - // Call the handler with the last entry date you can currently provide or nil if you can't support future - // timelines - handler(nil) - } - func getPrivacyBehavior( for _: CLKComplication, withHandler handler: @escaping (CLKComplicationPrivacyBehavior) -> Void ) { - // Call the handler with your desired behavior when the device is locked handler(.showOnLockScreen) } // MARK: - Timeline Population func getCurrentTimelineEntry( - for _: CLKComplication, + for complication: CLKComplication, withHandler handler: @escaping (CLKComplicationTimelineEntry?) -> Void ) { - // Call the handler with the current timeline entry - handler(nil) - } + guard let icon = UIImage(named: "ComplicationIcon") else { + handler(nil) + return + } + let imageProvider = CLKFullColorImageProvider(fullColorImage: icon) - func getTimelineEntries( - for _: CLKComplication, - after _: Date, - limit _: Int, - withHandler handler: @escaping ([CLKComplicationTimelineEntry]?) -> Void - ) { - // Call the handler with the timeline entries after the given date - handler(nil) + switch complication.family { + case .circularSmall: + let template = CLKComplicationTemplateCircularSmallSimpleImage( + imageProvider: CLKImageProvider(onePieceImage: icon) + ) + handler(CLKComplicationTimelineEntry(date: .now, complicationTemplate: template)) + case .graphicCircular: + let template = CLKComplicationTemplateGraphicCircularImage(imageProvider: imageProvider) + handler(CLKComplicationTimelineEntry(date: .now, complicationTemplate: template)) + case .graphicCorner: + let template = CLKComplicationTemplateGraphicCornerCircularImage(imageProvider: imageProvider) + handler(CLKComplicationTimelineEntry(date: .now, complicationTemplate: template)) + case .utilitarianSmall: + let template = CLKComplicationTemplateUtilitarianSmallSquare( + imageProvider: CLKImageProvider(onePieceImage: icon) + ) + handler(CLKComplicationTimelineEntry(date: .now, complicationTemplate: template)) + default: + handler(nil) + } } // MARK: - Sample Templates func getLocalizableSampleTemplate( - for _: CLKComplication, + for complication: CLKComplication, withHandler handler: @escaping (CLKComplicationTemplate?) -> Void ) { - // This method will be called once per supported complication, and the results will be cached - handler(nil) + guard let icon = UIImage(named: "ComplicationIcon") else { + handler(nil) + return + } + let imageProvider = CLKFullColorImageProvider(fullColorImage: icon) + + switch complication.family { + case .circularSmall: + let template = CLKComplicationTemplateCircularSmallSimpleImage( + imageProvider: CLKImageProvider(onePieceImage: icon) + ) + handler(template) + case .graphicCircular: + let template = CLKComplicationTemplateGraphicCircularImage(imageProvider: imageProvider) + handler(template) + case .graphicCorner: + let template = CLKComplicationTemplateGraphicCornerCircularImage(imageProvider: imageProvider) + handler(template) + case .utilitarianSmall: + let template = CLKComplicationTemplateUtilitarianSmallSquare( + imageProvider: CLKImageProvider(onePieceImage: icon) + ) + handler(template) + default: + handler(nil) + } } } diff --git a/BitwardenWatchApp/Info.plist b/BitwardenWatchApp/Info.plist index 551237440..b4d08c336 100644 --- a/BitwardenWatchApp/Info.plist +++ b/BitwardenWatchApp/Info.plist @@ -18,6 +18,8 @@ $(MARKETING_VERSION) CFBundleVersion $(CURRENT_PROJECT_VERSION) + CLKComplicationPrincipalClass + $(PRODUCT_MODULE_NAME).ComplicationController WKApplication WKCompanionAppBundleIdentifier diff --git a/BitwardenWatchWidgetExtension/Application/Support/Info.plist b/BitwardenWatchWidgetExtension/Application/Support/Info.plist new file mode 100644 index 000000000..ec9457db3 --- /dev/null +++ b/BitwardenWatchWidgetExtension/Application/Support/Info.plist @@ -0,0 +1,29 @@ + + + + + CFBundleDisplayName + Bitwarden Watch Widget + CFBundleName + Bitwarden Watch Widget Extension + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleDevelopmentRegion + en + CFBundleInfoDictionaryVersion + 6.0 + CFBundlePackageType + XPC! + CFBundleShortVersionString + $(MARKETING_VERSION) + CFBundleVersion + $(CURRENT_PROJECT_VERSION) + NSExtension + + NSExtensionPointIdentifier + com.apple.widgetkit-extension + + + diff --git a/BitwardenWatchWidgetExtension/Assets.xcassets/AccentColor.colorset/Contents.json b/BitwardenWatchWidgetExtension/Assets.xcassets/AccentColor.colorset/Contents.json new file mode 100644 index 000000000..eb8789700 --- /dev/null +++ b/BitwardenWatchWidgetExtension/Assets.xcassets/AccentColor.colorset/Contents.json @@ -0,0 +1,11 @@ +{ + "colors" : [ + { + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/BitwardenWatchWidgetExtension/Assets.xcassets/AccentedComplicationIcon.imageset/Contents.json b/BitwardenWatchWidgetExtension/Assets.xcassets/AccentedComplicationIcon.imageset/Contents.json new file mode 100644 index 000000000..92424aa14 --- /dev/null +++ b/BitwardenWatchWidgetExtension/Assets.xcassets/AccentedComplicationIcon.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "bw-logo.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/BitwardenWatchWidgetExtension/Assets.xcassets/AccentedComplicationIcon.imageset/bw-logo.pdf b/BitwardenWatchWidgetExtension/Assets.xcassets/AccentedComplicationIcon.imageset/bw-logo.pdf new file mode 100644 index 0000000000000000000000000000000000000000..f13a303fffec66ca4bb63b5db925147b7f3f1f9b GIT binary patch literal 4167 zcmd^CdyHIF88<7W_J$}}RH&fWM@=_v@0|BN2T096x|@cU-R^AClG4QK>}_}J&dl!2 z?7CP&gG4MC5kkrmQrpy!Xdpy`A*q51Duke>L1+`LaRsA9OAIDeLIP|2edpe}GyA~C zzny>f?(cl>*ZIzd;r@XwJc@&Whb*k^KNN)FO*e&w(c7nzu&`%n|DmMZ1cqN>M^Zi5 z91jHuM>1%zUYnWfVDSH^XPzfzEJ9wrRBcR^>PfYH`;zmmTQgC`nf*<#bf8wRWY|d3 zsLj;NNrP16l)b&Rxo~gDBIbYX4{lme`)eOWfwR%9C#6bI=;L8u(f=tog6V*_7;<4- z@~`}iM?#aP(4Pq>Sy-+FIo-;SM!6br83|{#a3R-`Wx@#_Ry-_bh#;h2$iIx@y(kQQ87g0yu?Nbd#Xu^@K=A{Nk}rc60+u@XW7OOwJqnUu;2 zlky^d0ArX=PKFc!1V}3$nkW_q-(clJfD8y167dEiwUCGiRBFq3YKM-wavB(9YED#e znE_FeiWL|_6b@32BN;iT8RCK*Mo_|x0){|p$wLt_Zj3fSSd0v6APO!*fIuh=LmtZk zQtFho7MQS-DFJe+7%~qvh=Nuch-F%Hgg?@#QbevCs7P?84B{F|=3pqyGg2Fa&_qnZ zbV)8)&Y6Y_u{8{)lmoabjD`qQh!jj)P+8@R58(ijb_fts3t^xUG5E<&gM2%S)FOLqooxdVUR?8v1XbXqG8~pJQ!F7 zZ%7|@DF-o?Ai@SJ&LNYi1UXMuad-;LW7vs8AxR=u zsedt20$Y4h7+@AuE_NEprAR@54K3Qm*q9{6=vE(38(EERM~x!th^Gu4^eHHy%%HcR z*hT0>g)mb7OqxFqYbY@2J*3$(SPTe<92H8nfKQYFq>4C>oi7=emJC2;C1#MXECJ() z&M~Hx1cXAN^24w|@|-2eIZP^FrKmjeocUq~2rDsYpdS!by!2&;$)#e0=0>#`7(|K0 zkdm>bEK&cU*inuWBPDhyLTWM?0D}p_kAf^^Ougt?GZ4*9D3U)(0x^E`_C_xw1Yoyt z*iR6RS|S61DQJdpnBzQ_%H)_ZemIyIs8=oxTDx=pfP2Nf_S`Gb$zVJ{9Ak<3OxYI( zlPsp;o`VV*ugjjs2>sBz*~g{t`kb`AcAy$oSw@i69L<^1 zJ7}rS4y?`bUlUD{N5dXCC z+t}#kPZS@$b8Y30&v%bZuiM@I&ZqbM?AECt9vz*Up1QJs%~gLmena=^@wtWh(es~O zc=0cb_ITsRw>|gC;cGX&-L>&=4?no$`Ny6<`;$K(zWW;|ijN<7>igf_9Q=FnnKv)~ z=3fg#M{nKv%9c$+AOP+lC?%yt)JhyxP zh3hWt`gLjD7p}Q)c-LK*UHW*Rn^t?s;qDk4kU+{4-xUeB_G19)A73@)iHMzH9c_#UFg`%-`34{p4Mn7T0{D z`_Qwiv^1{2ET@!{R!8Id$f=tg_Qr1a9>V^YpbIkvi08Y?|X0)c;bA` z-Zs}9EHS1%$i5w))8SGSXI-B3Fm4wNqbDwOVU7!oBpo!7p=kxOA}9wmXxtiPHc2 zP$Eg~Hy0I4>!H_It2UD=G?LpbaG2h6O>71k))5_#rA|=w+&nP`W3he^CF(IXy011v z>?>So0O^#q^tK`=8*Qa+@B2#4(q!%6Qs%jOav;F+q=Iyu`#Ed0#vKbh`%%dKK{bN} zR`L}P_V8s?*hW`Cv0nzTegi+G_ZyBWULRt=C`B(;-7%8D&*m6k5 zw902tvtF8*OzHt;W_v&KvawOCB;Dc0iLvf9Ifap04VlS1wosh-YC=IoS{lt#z3Ia$ NEpx$!4cmqW{sX+}&S?Mu literal 0 HcmV?d00001 diff --git a/BitwardenWatchWidgetExtension/Assets.xcassets/AppIcon.appiconset/Contents.json b/BitwardenWatchWidgetExtension/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 000000000..5ffa0e323 --- /dev/null +++ b/BitwardenWatchWidgetExtension/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,14 @@ +{ + "images" : [ + { + "filename" : "Icon-1024.png", + "idiom" : "universal", + "platform" : "watchos", + "size" : "1024x1024" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/BitwardenWatchWidgetExtension/Assets.xcassets/AppIcon.appiconset/Icon-1024.png b/BitwardenWatchWidgetExtension/Assets.xcassets/AppIcon.appiconset/Icon-1024.png new file mode 100644 index 0000000000000000000000000000000000000000..e96f62fce9b8e10fe1f9fe69e0ebb68b5130c570 GIT binary patch literal 30793 zcmeIai96Ko7eD@V_j{{C!0Sb&HL zzef?|+!5g#@HX4wFaE~}{^I`^{VNtn7;6pR#i8S^iAbE-zn}4LoSk*}ypkS9Hl7F~ zEsy^tAd$C~5rm3t+p=+&FQL8Gyl7fOv{v`k3YkSp-LgAUBx;VH*_{<-@^1IelO_@3 znZ^$nEu~HWhjPi{l=Rd0@1DhbY7ijtI zH&Q-c==t%I`FgFFP5mvMrTl;m4;O6>s4J~4?CNV{2jtfB`+Zb+FR)?HhOG>QfD%b$ z3RU#sv|^Tq*NKa2WB(oh{ymB!lh8j}k{3{^hy^w5hS8rx5Rt2Ywxd`u7)TsLUGwih zry?P<#QrlgOcjR^2vmZZ)!aV^AS0_K{#_xyBq{+#8E9nEmj5oDOraniGUF>2bzq`I zA|kG1bK%d4s0c@SoZ_(#;v^Cx<^0c7$v*~QAnaxT!wM-f8Br)YG=J)!0}vPo|KtNn z0oJo1?vwGnKLvTV=6I$kz=4bVQl_uT_!Mc0wX6dasng& z^phtrasng&uZ?WjIpSrHwxDywGhA~r{ezp{xAN}kXS(v;p8b40x%}p&&c~}l1Wn`N zs`Dn=NNav;Z!_J*Vf67@`gi|<7bdz1bbj;Rf$wMZS3UKshH&yAvupjJ57yIkb?Ar> zkyNHoInW+GHs1dYb_xfdyt$jw`* zNReb(G&#bYhNVR%h!wg{k8Ox`H~FeQhCVu)p|2Sg^<4e}nXHobv#wVV=6i7>awV*a z!fYg#d=nhhIyT$xN0(c4<1W_=qS>4`Q^`eV6I`b{Tfy*250mAbw@`w<>j!g+k5;T0 z()~wo=A5zNz2=9WWCUT|M{WrE=ThSwP)F&uJ^Gi=QcrkzJ;v6hxb-#EKOJi;vy&42 zad?Oxn6UQc(4CD}>*FN1D09UqdV|eJ}GMT0Z=R z&h2F#m3Vx%VTu4F?SF_(z%@23uzJIB)<1P2FptrRt4SD_1u!vlq?s|C1=X)J%sErgBaStC>vZeBKdc+ynYZ#r8XHRPUCkkptuHeW+Op2Uy;;;q zvPS;pwsARHV8$6KmL!Le7ALp0c3gryg;uoo)dR$m2KNv4m3vKdq~?z?H_(<6P5L&_ z&#w=zrpr@`{(-iKX;B*8uFU=h{ru6c-$UAPhF=--x9{pD#0{Py4J-ab_FlJSH^q+I zm5c3sk>V!GSx}UW_H0$D$(c{jTTVciNRyDg5*dEza|Tb~IXO>6F|`Gq- zS^f{?$8sH=OF4fte1>`~Q8P&r5_v6sHtHi+IdHkDrtZv#kg=4@Yw?mU<3{5}qZEr^ z4H#*AM92L@Ox0uc9M$w|vdFWs!7L@$vpj$9itU?&5?g`%)@qwD_AYc?3^(fWhNjKq zf^kiJaMS{^IF6OqT>+NQbP8B#P5a&i#W2&?pG=eT8%xsu3`}kKi z?FS6{m-y4Y%S7ysb7uDIAbp5J5NScK7>LcJkKQ{n*p0>dj`m|y5zsd2tmDUn)M6>x zAq;o*zGj)ksNk;_a$xK6iPyM;HxAJ7< zZQJ9Ef6~D|4f=WV?aV)yMu}k{6npdCTmGa&9Uww}Ufmz;A)r0*ZI6G#+&}4Mu~o zeQ&_1{3aMakidG7s;m$H531~=BB3tU;}&yFuQ!7KvT%Z_Hg>j;GFB!L4giS_=QHHzqPWP$}8IxVJTZU1~tx0Fn*Xfq>r)AGdXZ=IMH zt17wJVIUw3Y7G88J?HeU#6s7Q$4voXfb~l_4(`#@M#sXaF_9?Bh5~>S2iA@2$XJMR z365_T=T0&p?_(cY^=f9)dSS2Bv+Twz>V$o#4%cShTv}^Av|(;dlHCS|yg@)^i$FcI4Ef<_-MXP^7TTwM+-Spj7SeF(XAOV#mbk(Dc{80V(-Y4G&%0^P}ia?oCg-p zzDvw-<#*oo)@$ZRt~*lHv0|72r}Yv=^ES`QV3$15pZo&3ry(*5j*6AXrZ8^hmq)YFmR^BnHHw7MJpkiSdeX@^02}ir6Z- zFV{P*?&8<6voQ%xjw0h#Mgd#$G&DKwmhyv3@fb-!;$(xgB}7y{U}q!`c|U(a<{cl@ z-!gMru_th>aONT3H%i^BqrMMWh>NCFBsd71in)zxCJqt0Ei)&Z5UcRYlAlKtiEh%1 z9r!8Lc~Cxu?-X+w&hm!!tmeQ0CJ8xPwdSYFWk%jNiPA-4qS~4(q+`4oL*y&7f1Ty* zm2Kn*GpI<23OAR3G#@HP_8zkmt^SmPhd4DS!_Vuup00~r#8zl@>1N^7M+-f^xgskY zk_?1LeP=bgPj$>ZtJ|z{xl%GrMduayH8AaUrZqE&tSv`V&8Eo+35c7C*KrUTYfFM1 z67D(9M$@1=!m+RS2>Of|?DHup;~6JORCge;Aoa~OfY(TCY+K4PGxT5aYm^T?R@mg^Dv~T8rXJ>bu>M?Sbx*X9 zG}S%eAnhsCY&_*Yj#QD}H{5FwV(8>7TqcA45?z;Z3rW3t2gG6rXqrEWkiXm4x!P$A zO~g?>O>`4Y`7$*dqxTuG_EsE;sQ0VrHe%`JC)e-_y_vA>x&?!qXp1>2x?@-7 z&TDkDVtN|rF;9YhzlZcCx!IvaM<|c^!f3chY@9Y+5rTQvnOTpaW%Dg|pML)^D|^Xb z$L~M6JwPghnwc`3roAZZMgPOSZ8l?dgv}}JrGQ0l1%6JLOSR44)Y&jOu0oF%hQ@fh z#8*f9j$x9Xf>8)ooiR|Sa`l+IW0>aD|g41;RcofuxF z8p5lXrgm{L)G*c9Jsa4`-onT^c4?!q>;U#8I5p^09_D1lb3EgzI?{_>IXfS%1;NVx zD?5c4wz_X@gky@yxG0-95;cNzSh5N|3IVMM;}z_Jr`4`I^o_!ZA~=329hiSC<^4 zZ)O$Bv;j>?yEw9*DM2g<>W`g#?49};Y;Bcnr+fF^^`3ozb!6wS2PV3k%I=cT%~Q#U z%wya4GYr@(+~1_{oP$fO#Us&<`R(m$$JYCQop0d)S0iyDJ1V^o^t`t+sw&V*bPrH^ zS|!#Ve-xzFps zk_>6vnVI#hwM~ji+l2~9@>-JW+Llues@>(Ed1o-Q|J~#v>|E=k17|^Wm3L-dUU{7w zIf>@i;P@y~VY9H$UFlhMJdggVwkd_*u&)<780^_Fy3hR{F|cWEicxM&>d;c zanK)J{cD7nYzBpJNL+68O35!vIC85!<*P&x*KEpe!1^p7e#62I_iXf+qogWBmD_=u zjvH)iO0Afa3NlGdxVgF&1G<6x7WC3{P2~IMsO*r$e?zqUiKJSCN*l z5}(o@oSL7nl-A*?`h1iX;i#D&4)|f8@h;AIYUt_kGS_GL-Ay)Gyd(%Dp=R~lJ3~jm zwDiz}yIOXe$i!1YiI`@4jdv_Jr4osq37FFP5oWGSQN*8JoH2-Yh~1!<&GpnJ*VV5+iKqcue^I7u$4_mOo*+p2d$rN zLZGJ5P0X2G8ZTTXbu&IBaZT0bH6f8{>GRP((67egw53c5@q!?)UEj~kJfm@-igJDNO+v-n$InC6cQ}hh>-sLZznuii0lTaf*Rwqg| z#Fr`EK{QN@$uOX)z{ca6QU zs0ed;=RHt_{Ujw>KEj4m77!z$y&`g&h?8PaG+kN6wmNoTHzk_ykn8U`pwHjNpvnTW z=sBO9L;fgUBk{X_s+I(RVfoCd>Ajn`)kpgR(3MS#cB?bL1OLyKYN{-nc*d!e>oZ?qnz9eQfZ=m(AKCJc* z2;4cdW%Hnz`V%r)!~|0ATXU@hWAeH_=q0@@ir-4kc7S5R_4S zzpXwNJta!I2|7N1$!6^L-)bl06r@WNPo`cM_Snl!CjK?tI& zg}(*x^6`?Xa5VrCT@A3Nm`V8la4=0M)lL*D19c5So|iH4xSlalFR(1M&wdLpP(Lo zcB*Ul3*BLD9YVMuvwE4v!m5F1Cr~p0mdLX7B~X_BGMJlqbBNX_@*i(9Ot9(>r^wMl z$&21sT%-RLzdTe$vT}K9K3>O1T>!yhjpg%xR_)E~A(owkt;TQX0qW)r(F~bm!U4$! z93@A-`?GKre#N4cEAr0Z)E7x5UYY7_&Q>E-r#(B23+8#XRM4qbcITv@3T1DM3j({( zsa*XWN+M@PF%XX1+F*mYbNK9U;+3c3z}9a}sU4!XpGnS{Vfpse?e5ce&%5rn^nh*d zmeACSr$)N^fGPa)W0$CCu~7lP1F`4~V&5To+kfbyA@=NpOCIsJnpDX{Y5i?~_vbmY zD@8?>%8%Hunlg6rVrzAZie;TD)v=k|Q!Za0uVhpXW#n~Alr7$jhd0da#P=bi)k7W{ zyhVN*1%mLJpl7mn5WDnGnL&SwnuM?S$*gSDyp3zqS8&osO+o~HNB2;~5hzQSv1HeW zzG;uzA+L;YgyvM?E-=_eoJ#4CtS;6mwePr|da63K(agO!GN>~_Lsso_4Fhm(QKexd zpVO|oc%LF$rdJ`$P;jC&Cd`S|>1a5(i9ywb##Yv@*P-1135s7Dz(FsLj;f4Q*qM)` zQm41GIS3jQX*%C7laTb%!7Xu1fXTN1WSGQl zChQ@2op;?MoO~wJp*`qh5H|aSS~OpOAm$Uc_D9A{G#LVqz4xB&M{6asq~g}O1mL!g z8BCfL=yr)GSa}I2HQz8d&A$b-emH8Fq5bRA@)|$Bx`=4DIZ;Rm%$7ZQ^u0m#}76>n=V} z@vgJ<8+O1prF*Pi)#^F0azWv%=mFi9`q8UtZm+&!Htzyss2H^5cl|9lHNpm_UlC>_yoBSwC{&$q zGQYQFU9J>igaTB+v zwUA>VSaQ|@cY#IboTh$?qO+#{yzzl_e!4%QZg)OBEZm zY!P}z`hL@hf4uw8q*cP=Z%?UN0pI^V`eAUgr`x;MKGLkUet*T3Cz~+X4Dda~j^4a8 zHDV8^=)xs+;%%j3EamIt!jH<&dnhS0hEMv;>Ea~^38gu~qAN1A9q6Rk>K}R7 z-R?BLf4jrk{eM&E0CzXdNH#?i(UzwS!}^!$+*pAq(utO8$BN@yZzyGYXPd8!QZUjG zyUmaF>Y2i9hEC11tyGySi3NeFKZ02+_q`N?F~lC91Xoo9(`%zExx3KZQS*1dHWOb1 zP`rM&Ya=mUUV9G5Yx@Ra+k6tNz2z^u{Us$Mc`UlOlJ!paHHowsv^Ev-dNHqP5z_z2-pfACxYWtu zgBhdX?hu{(F>E)t)TIa25FFN--rf9|3cR?!5MFjk>q=19Ry2}FRo43bExNGBhL7*D=%t;kC86p>(~wEMq6MT$4fpCNTI8vlxMh7mH%J~FGh2dx zrNU+yml`4-IMU_r`95sae)%VN`np4hh}i(&Lg4b(3Uw3j-o>cP{Dgq7oazC|My0xw z>!z?DV8R%6D+C`G-B>>)la@eBqd5$~5mb zmWR<5=W{^te?6@3y0F7Hc2gj}kxBD`GLv@!MDR#Uk`b-h*lm#@C`-ehb&1Wf<6^y0 z;aokVdumkL9gzAnz13@&0_oci*bA}o#J|#NK8j!cWk9>(Q{57)-}K1ZUh=hzOE2el-cn zusIVODa$U#mF6ySu)SvW+CFT{vk?Mo`QWpjmRwAsBmnF$Z3clJWq$A13cSzy8AVLI z{c++T=4?6e{?3P>kuJZy5J9~O@YOFwCWIObd<|+n`;@HAU>6s+zgE%GVHixu-+5{z zgZp)-6|PJ+Ri51af^0OzkM*NJxMcSY@;V!#+r}A>Wl%e*2-!FjR~{}onP^KM22ke% zb}!0?GpbQhJEWh6$7~|;1$!AdZZA)fyBp|a*97ntv~GnvDd#UYM)iQ){-il)H`5lN znU1prM;E+Vxg8fDYeUX3(=d9(;lm>>{S98dcX=}+(MDDy$l{JSp zFgBccYmFPf7u3k_Sie^6qe1-_M+R>s7eA+Fch$3UqSLD9FyZ)up`E;o#C%7(KZ2Az zI4?v|?e$Do+pgLAjqY&MSJu5-{OWMoi#;_%4z&6krg7Uqr@|sLw#HGJI;spFS^C(^ zYm#K;m+WLM%-m{ShP!g$lKBduuLt|*so)a$MGeA5!@_KQ8wwnOLgj2n!wtjL<3|uvDPN5_U4XN+zwoQcZx0F- zKRCD)s`C@^lMZ4h_$OJ?S5@VNOjgj=i>(x1bK=ekEf`eQ?{+>x8#={T4&7lopH{+p z91(aP0c%A>R-7DJjbG%v-y|QU;1Q$|i?6O4O$-^ShO}FT&tcwVDX<&rd>3*Ve>l@_2Y&0E84rV-U8+(c;AzUfi>2kb zgAOQ|%m(L2uQA28_x<2tZ}ZdamY!_-IG(l%aIxAg z9-ERBRkt;=2YU5D@hx%7s2$xFK4HCB_2 zLbxU&r31J+j31;S%%@cURpI5-XY_p|y3x&K|O6=@7pfR`+7O|Vze~97r zIKgRW%EjR@kgWmYl&+vha6$dMzou=X5~|N@x|BOQbXQ(tW85sl9^`td%Z;hcSJ-*? z$e`LPf0ad@RR#{6nrbwswMQ(3+pGWRiP@A@`NOg5fSqGeY2pPXlR}PdYXO!peL!{ zl2Y4+8~t*?Sne9?y+~uu+i!W`h|F&Q@J*isanR=SRd5hv%&{VM+uTs!D72Eyb8v*$@mko=>N*2YjxR34e*;&xwpQ!n;%cR_c`90?4$lNoU*VJfoTQq#uUCKc z6m0<3+mVke)+I<*EY21iG-t3~nF{E!>2{s|w4s~TT{gG^9f5B2@X-&={*gb`qeq4s z^bPcPZ={?A_hyq)Ih7Jhjg+O-_GM$=%$Nx~rEr^~ly!oIS<$g%^OX_i?ExJt90Zd} zmx#@`I14`SQHL4N(*Ks4blHx$aLRRhWdYPRcj!~0? zNAk52bzUXo_Km9!HqqAb@;O{YqzLwF1%5Zw&GCJsZef-ij?UH}ZXW*n@chb~)}?Lk zLA#?@^G;lNka!DWjvvj=vq+#u>Ks|`ca0oZwwYQ>d@WUz{R_KLeE*^B+2p5hU&A{G zY7HtK3n;*7&`ow{QgYwj=p7 z>9iafJ$>ZCCX#}dNBbE=9348ZVKl>&TG*=@3A0cpNGmfcQ3w5-XtkNqZ+aM)EEzM3 zT`v~3ht+iryR*{mVowZYFY*KrJ@C8gT#(deL)FVC5#~ao+ZiNw_a?@|)WFlAxTLIK zEZt=1Knj@AJ7G#Q>z_=<@1Bmw?s#IL<<@7OK?q3!O@Hlj4-b<#*RZo21Jc(x2m;Dv zHqW8bjsl{W?b-l##DRDk32Hh07n$OrK?onM-=_Ya*QEcv^9%j5Rl-T?Um%D-_CBGZ z%b?vd?jtEwP8{5XFdKo|szI%l55R{v))A5eF{Ad|C(~EJ_7dj6GXw~8gXFPbPRt^^ zUiv8Kp5sWD<-r-V@>;{OhD7!IuA$|C-^~^Pn0T;GDSF8u$N5>>&I9;nLUew)kgHnB z=d^3u9wdWvC41LQVjF|K7FKhDF&cq@B_k2I^=fMK$TmVi27l@icnS8)z%LE?wr988 z0$7j5fr@fdN*sesp;_M864!*bNMkJy8+L%oT7{1ez1-6$Qy7l<^(UDysP(vu({{cG zj)QEeB#Wqmi(sA?q_(y2-iMEN`8NutSM>MHkpy4*zT0$70$K{OZ2XSi=_pY`jY3p5 zO_aILrhu+;*9HCB=ER@$?N!U9jy$a2Y6Gm>0|tN7a^r6>3=bG&n(+cva46LY^8Ea_ zE1P9wdBau1JLrx)Rj-+oV-N_dh=@y^FF@jV>HB2P2gC4$2U>12EahpqGtJZ~u6MWR z=Uxyf)?FB!%jf1eahIp`lxquV6h}itG+KseD;iCrk zl67pPU@s+TMBl6ThXbpH1!j;88DjFITgD(6JEJzWn5r1jsb#d{D&CaewFB=TqUdOaUD| zq_d3XpB{#z!ExqjPjE{vJ!LumIte(>LDSzQTmuMHBM=yGpzmGcQimKHeuqo!?iM+7 z+>jWdiB5dk_F%HnMi3>XvSSaXf>nnUN7QRLiGD!3Pp0VoSZFrgKSlmxTs|WX(H_1f_~5E^o?ei$zwPyO^j8+ zYL?I%p4q=6k`94*%e(=%`mhv<@VWg(LY}+hL3GirfP|w5GN@?4~{F!DUy-QTEZL}hwMK(LgQ+7kpNc~XN!=JXf zjdc-|@!SjtW@73VbxV?+w^M56xsXq{!hH>L+!`y}xv3TeC%)2WR(CY7m({JP4BXX| z_lQh%n!Iclgi@NJOJ(^z#SefD(IFZND9?Ej@Lw_-!$O~a5N+$}=j z@fjjgZ*2{q!J?IuDbcv4rYYkj-7|L$=>-AX?f)fF3v)H8-atS%12<%zy1X}KP&M#( zW~z&)-vmU7fbEt5BnI;(Mn43JpwRPC7#qwLYbK6lkWue{!HW;jNg?C4samO|! zzR4hVR`d>-2@?59d9%#92-DqeC+@N<$%vbUZmh8pg#2qJe!ur_$TQid6? zLGHk)cDWU7#8Qvm_KJIkM8RWjd2`-}#w!JDm%f}MVR0MCefMnisyMHgj;HZ}hqJ{; z2mQxBSD{WDtRDvldcm7Xz8U>ho9gBly`)C|>e5XKX8D7Y3NA^EkB6;kI4=ZKQ8D}4 zD)e|tA!?7$?A->ot47f}$TW`3S#?1iO(y*c8LWO9v{{pvTD)KK{)f>H-nqi{jqcX2 zEB2y9e>_vUO-<$$XtgAunZ`X$LIM4Fknbto1E?4o4C}#xg2d_su@|bd*v^xmN`v#> zw&~jjI5-%qLIC5CO^sCO)-a?uEn_B|RBzmd9=XOUWd$A>_0a^rl z)nZ_Zo1S`+JUUB~XeHj8$M-o_pUTb9mxL6^A-W^iM;kvyup@*a8Er0bMn!(Kehzyh zH7)_BI5(u%ewlS@zZp~KTfNB#{gjd=yM$_96ay}ko~^CAP+9v=GrZQZQw+kQUF({E zBvxxHzLvh9$1i;#C>TEHexd^{t-sQe$ND5VD!&(hQ`%B`c!}51MXHc?WCxCm<|lcy z@nHHOm00p~v~G3(u&*~fCN-%fU0kO05M7#@X@U|jg3qf^8~hGlb9%=3M0lZ?$$A2( z3b4!#yK?$kGmaJ(T(Rq_6G+UX{lg-x%(IXrlYoJwQsXla`zsK_#HKv3e7`1<%6%Q1 zJFHsQW{=r)7;|5K5*W8;?1kNqVyr>9U*&!RfG9(2#nRU9Gx5C9(r|%YVU238m3V;$ zj65=$WCnQU2R>e()L#7b(UWxl6QS@WYbW2|E2Tf9Yeds;igDsnD#fl7yHwmDfE;fY zBd5Bdh-f;fn|^h=76F{9(TwR&6ORJKK^*aP56_;LzLuY-aRxcny6^cZGlx;x&bsB? z`co=xdph@PTQ+DE*gt_Rb%|-)ur}-|oHx^^FdEI^jFW(_kgkbTqCGZVaUejhIgP;^ z<<&$7U+rknW%WaNpA7kGFkMiM2UQYqBF0z93LJ1e(fsROPg-i};#PY|lW;a*8%`Wl zKDaH6&+i{@Du?XnzP8FF$|RncWB39uWPva*lB0FV zr&{wfU(oTb3O{vggi56^c&Q8s@jQ>lQ#V@Q6xSe);?9zljuq3aa|-qIJG-{h6q#Nu zy3}$gCs`@1qM@=tZ27I{ibWdJ`Vwi8u4ERUcCjaBldbtb+)uKWrvL0vgP`w6dqt0w zCH_pyN$|{0>g=3OB)wHI>O*JE&c7Wk(9xoPQ5kxSE7y#A|7)8dlbc3b9Q4=0_2(|| z_)a_eY+z|#_<43+jS3_!wbQ8Cw}q$IDYANQ_KaHtNvSc^NKV)As}BiYES3_K9+iX( zHfy+<(bl$QZ!pJmy|q%q;kmZ%aGb-Sx-$FjtsxBN47RK$R`!>*U-Hm${p;f|p`E zoc06{Y#WMq8;jyxnem72_REwnfXS(}-N0JTO~&rY^sjP8%#y1eC-1NI{`xqf|2)ep zpaf2hH~{Jp;6P|EJgV%*s$T?DW~VHl!ZzGtvCyh-|25KMV;kFN^5^I8RJRbb{j&4I zQtj1h(>=~j=|mF4lL}r_7yYACdwyL>g8crY;x4TZq}(>lnopM7I;^}V|HjYZE1oG` zm|oNKo%89l99T^wcDsAJ1o|Yh@6NcGlpGK5uL}w0cZb0fzaU-K$8Re(8rbwe1@M9r zYQo+fe7xZ>U_WWSV%BI&ErzKD{#5;m|5_=_^#6#NEA8R;uv9C9@!BtSN*oe_Bs|2` zKUlKNhZEfUqOIY_d;QOPFq-y4=s?eT=b%?l5Bm9Jo@fe7_CjQh=ZclkJwx(X-Rq7$ zA3ooiUfa29mIE-a5FH4`>h}$2m$e!A0yh~{Hv(q-B|5eRc-w6q7c({0&-sZZsuDE} zJXDge8v#*$W8=sr?E>(lPr6mP#*O@MH41(EvRh zBj*qvB0383LNMP(@R9W0`Q`(Wv_*VhgZ`q!vtebulB-dQgQGg2BGri2wv^zo&!^6f z^ab9yx|lc`Acqg)N-#vyqf=_}nBS7N-z{VDm)Q^S#LGjevcyp>w|(ESUMHVeZjb|h zD8pPuR6tyRIV<6u+|4O#(+ZdF)A;=9=OiCH7XqjbNsU(kYw%viW?daME6`uQ3ku*W$3fJ?vxP+7WSy)N)^sl(t1nwr`W<@Jy5Gk>YrngBH*XJ zD?k3%&mx*E3T4cXy0{h6{Bj=wzo<6K^;uW9CS$MrkR>gRg>)UXjYOquqN|W#xmq zbye8?T4f3i?8Ft27gKF;77K_qOH)~2I^j&4JfYKaSyEW4(O9vC^-;Q3D z_!tv6vO>zYLjT}VN8Chv!1~^NdOZ);XS9&x%((t^`r11TAHMuq$3rl^j44c?O1-=p zx?je-M?~IABSCkQosGDXb_28C6n;F7cUOb%Iy&=rcT|tBb;N zsFF0|Gy|ngO^Cs>l|%z#>k)!#4wi6_V6ZE26UUa>aAV!!me2YB1Y^aS4*jBMy_D0S z%a^zqTt0~2iV^yr_h0%9IFyqC^1!}39ohtwkSmwQA(d`FH1VNAsW6S?rlTHP z&hd1|`lx}-8SbxM1Vimr@a=mR{#msUW7nd4WqfD>+5R2&HZRkytSVHd99#YqCmdl$ zfW$Q(5|)<8?Bhh2rd&UhmUfZBY`Xr}ORXpR3sm=U z_VYl+5atz2^y+m_cUA8oB<0L(@tUvhhBNAgbe)BnC!aYYmnp zZhUcHVa{ZYV|3BtEG{wXSpi9-KR&Eba~Rr2M+^G8v^>}0My(4hWt{^7lFm>kCB9EJ zu9TyjVOQAaz-_)+%^l!PP4$G$@zRV#npgSH1m#7Ti-1=C%PF^;>dn7;L#Bs-nk!i# z>ucZb5o(7Tp<dl%n&DxfF*`_%;021$;Cb1`Odj zb?Aap0jI z&Nag+!yOWF>gN4bc>11XYREo=YP98^VCpxGn1B72CR{KNHf(T(&?1v7H3&*lv$WFn zM?bW+e8UG|FyQP1rvMxu8>(FQkGOFC99u=LqW)fl+=ZBNcSda4^8E# zdVF9sojY+DYtrqL7p{W>Ky}{O#!xuY-~tQx>AqtCuM&HQuj+Xi8(%_1E)dS09wBVG zRt`q$*vNZBe{mrNUk$?CCbrM4vv6<9e0ls~;7IwY__VY&_^*`EjZ{MDocSw+C;ofTXQaxtizq+e zS9Iwu%8RX87_M)p1vYDi+p90a3E?nUoErADN?5I(PVwlieD#mE?h6}w6KQ0}aEDfS!yjUjdm-SZt+w_g5FK z8-Q>hf?u)ygRxkBTP-DBw}z&Rg6hg3(R%u5w=gYyj?=x4wVSQ3veOsy~s z3ddUOJ6%V6=oQoWLl>KyL`!AEEMn4cR}1^l_My*Yd_C_GR}Z}R$+OiDd_0R=$Ly^d zVp&efpXEEMnNe4c^>R=3mRHg9ny}%*#yJAFpF2@n8Pqk&J(Z_mYDVwtN!S z1djE_1?7|PsU%;GSgc)O3pT-H?0=pair6#3UZFruNUzAKOn?K9 yBop8;0S^DMV-w&o0S^BLpvbMIVnG+lpDQ;dOXLQ^a`JKl07<6$Btu#L4hwdpcmcrvbpQ~T1OVf5D6Ss> z1SkL)3=eW0mvL@o7^fcH~CU%W-Yh~G@r3Z=^NX!2t4mAWa5!~rE;Sh?ndJQfcg)L z1p@L5^Z-Dqk?lw2Q@x0o;4qE_BP1+{X(8f-D^vhhgps=(CZ7QlaYDH~jK~2#!@$UW z1&oBlW+?o<4sfa$3FaIY$%NThpe#^uoEi)U!$yYe!cYjC=j8G?2l#G2KOBQZ3WY)o zp_N5gBnyeQv$I2@ERmL$=5mHPFN(`&h|IaX)w41Gf+N}Ce0CTYrpU_(3KQ@h z;BZBuZ`W*}eD<#SN?hLDSn>gpiU<;IfkOV9j45LOhfEQfmCejGTMny8hM`fIys%J# zqAlD;OYBUAe}MD-%?jrE{#-U6_qXIb_&~t4q#1`-s z(_u(#5i^uZU~`yUo?;d>3WY`fYvg;Sb699tq;EJQn2D1YnvpDkzGu(Wq5Wr_1(7)= z7OB|n1-n0cv}REG*}|z|k>AcKPVGcHGzS0{LEQ;Xe!G>2XaS*q{!6zDxjSWFuD3tc zm5{De>huzgvU2r|(1R*xG|>=u!jiQHEu}_#+}<~SCk}F&83?#%WKf$U4 zi3wRMk!9$rKs}T2ceLMz;?|!L+JmcM&5(PBRRLbynHSPA`o;R4x8ct5;jC z?aVtT*3Og2Sn6jBi1g*?kAveuHDfWW8$AV5_w3%(WoREF`k-w6nTWjOEAo?niV8E@ z_thq)r*&m|0}E^0BObccb54lLt*f@)p$vB#?tiNrL#voHQpqRiaCS6{+!#`1gh z^HeSb{QSr&Xy9~I|0AoT>KB@7*LUvoM3q#G640?_=RUAHzOWqksuKz?RGMh|R3q3S zq!5AU3c#dRYTsH=`W_Y4^e~S*_<-G!G?-kO(wc7emE8KS_o|f_{nvx{UpEf;wOzX| zO3lEvxOW95Zf~b4=_u>iK_y2={$BZ7qTLhxNPHe16{Lm0i|;20 z2#vv}m)=&b*&v8+L%KR9Xk57!CToenCi$`&{K&6%QFYdx(3TDy3~C=q`Y~W*n;Ez# z34z1NevleA;CGkz>AYZUuvda_TPL*^tgML+go1igMci?|UD++lif$UY9RZulc-?dO zcE3oXvqLxMKAM757k9UR9@8e(zjQm4S4bZaY7iPvm^E3)$m&V9{aazu=#0DCF8Y16 zwyr0Fbz&`>t*?eo=KI}sa?D+IV>rvmbt<)_{Aq18>hNUjeLez zx)?IG&ZkEGvaPVV9=*DkI`R~D_Y&8%t-@QbWWzit%sl~s4S*z!H%H#Nf z0jqj=qYJE#vY%sJ79M)dyZ>Uzr`C9P{`=3t)5AKK*lo)?U&Luw(ZJ-*Ew3Ru`qN!8C*h@|4*v0)nd48WXI?@VYltHzrO?w3(q*T7i2;QfWZlZKlm6aB z6+2@`VzE+b!utn)qNzxwL-c2(p$Jwf$lgA&a=&@}341RYTZ3)^fO3n*l^UEuK1sEckw1%#s?<+1>j-u*#H0l literal 0 HcmV?d00001 diff --git a/BitwardenWatchWidgetExtension/Assets.xcassets/Contents.json b/BitwardenWatchWidgetExtension/Assets.xcassets/Contents.json new file mode 100644 index 000000000..73c00596a --- /dev/null +++ b/BitwardenWatchWidgetExtension/Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/BitwardenWatchWidgetExtension/Assets.xcassets/WidgetBackground.colorset/Contents.json b/BitwardenWatchWidgetExtension/Assets.xcassets/WidgetBackground.colorset/Contents.json new file mode 100644 index 000000000..eb8789700 --- /dev/null +++ b/BitwardenWatchWidgetExtension/Assets.xcassets/WidgetBackground.colorset/Contents.json @@ -0,0 +1,11 @@ +{ + "colors" : [ + { + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/BitwardenWatchWidgetExtension/BitwardenWatchWidgetExtension.swift b/BitwardenWatchWidgetExtension/BitwardenWatchWidgetExtension.swift new file mode 100644 index 000000000..acb0550cb --- /dev/null +++ b/BitwardenWatchWidgetExtension/BitwardenWatchWidgetExtension.swift @@ -0,0 +1,80 @@ +import SwiftUI +import WidgetKit + +/// Provider that provides the entries for the widget. +struct Provider: TimelineProvider { + func placeholder(in context: Context) -> SimpleEntry { + SimpleEntry(date: Date()) + } + + func getSnapshot(in context: Context, completion: @escaping (SimpleEntry) -> Void) { + let entry = SimpleEntry(date: Date()) + completion(entry) + } + + func getTimeline(in context: Context, completion: @escaping (Timeline) -> Void) { + let entry = SimpleEntry(date: Date()) + let timeline = Timeline(entries: [entry], policy: .never) + completion(timeline) + } +} + +/// Simple timeline entry to comply with the widget provider. +struct SimpleEntry: TimelineEntry { + let date: Date +} + +/// Entry view to be used to render the widget. +struct BitwardenComplicationEntryView: View { + /// The widget family. + @Environment(\.widgetFamily) var family + /// The widget rendering mode. + @Environment(\.widgetRenderingMode) var renderingMode + + /// The provider entry + var entry: Provider.Entry + + var body: some View { + if renderingMode == .fullColor { + Image("ComplicationIcon") + .resizable() + .scaledToFit() + .clipShape(Circle()) + .padding() + } else { + Image("AccentedComplicationIcon") + .resizable() + .scaledToFit() + .padding(5) + .widgetAccentable() + } + } +} + +/// Extension entry point of the widget. +@main +struct BitwardenWatchWidgetExtension: Widget { + let kind: String = "BitwardenWatchWidgetExtension" + + var body: some WidgetConfiguration { + StaticConfiguration(kind: kind, provider: Provider()) { entry in + if #available(watchOS 10.0, *) { + BitwardenComplicationEntryView(entry: entry) + .containerBackground(.fill.tertiary, for: .widget) + } else { + BitwardenComplicationEntryView(entry: entry) + .padding() + .background() + } + } + .configurationDisplayName("Bitwarden") + .supportedFamilies([.accessoryCircular, .accessoryCorner, .accessoryInline]) + } +} + +@available(watchOS 10.0, *) +#Preview(as: .accessoryCorner) { + BitwardenWatchWidgetExtension() +} timeline: { + SimpleEntry(date: .now) +} diff --git a/BitwardenWatchWidgetExtension/Icon-50.png b/BitwardenWatchWidgetExtension/Icon-50.png new file mode 100644 index 0000000000000000000000000000000000000000..5c1a7ca4e9b6ccdea3c5f7e6f1d218ba2807b7a7 GIT binary patch literal 2552 zcmZ`*dpwi-AAe?(xrI(SE|s+|hS)~L%wi_DVH;}8D#KbUo6EK~q1;+-xl{^KI9+t4 zTBn30WgSH)X_3e|rCdw$`<0GMoDC;VuXCQ~^?g2{=lyxVKbPnG{o_d?dAn+=8K?mO zpy}>LpvbMIVnG+lpDQ;dOXLQ^a`JKl07<6$Btu#L4hwdpcmcrvbpQ~T1OVf5D6Ss> z1SkL)3=eW0mvL@o7^fcH~CU%W-Yh~G@r3Z=^NX!2t4mAWa5!~rE;Sh?ndJQfcg)L z1p@L5^Z-Dqk?lw2Q@x0o;4qE_BP1+{X(8f-D^vhhgps=(CZ7QlaYDH~jK~2#!@$UW z1&oBlW+?o<4sfa$3FaIY$%NThpe#^uoEi)U!$yYe!cYjC=j8G?2l#G2KOBQZ3WY)o zp_N5gBnyeQv$I2@ERmL$=5mHPFN(`&h|IaX)w41Gf+N}Ce0CTYrpU_(3KQ@h z;BZBuZ`W*}eD<#SN?hLDSn>gpiU<;IfkOV9j45LOhfEQfmCejGTMny8hM`fIys%J# zqAlD;OYBUAe}MD-%?jrE{#-U6_qXIb_&~t4q#1`-s z(_u(#5i^uZU~`yUo?;d>3WY`fYvg;Sb699tq;EJQn2D1YnvpDkzGu(Wq5Wr_1(7)= z7OB|n1-n0cv}REG*}|z|k>AcKPVGcHGzS0{LEQ;Xe!G>2XaS*q{!6zDxjSWFuD3tc zm5{De>huzgvU2r|(1R*xG|>=u!jiQHEu}_#+}<~SCk}F&83?#%WKf$U4 zi3wRMk!9$rKs}T2ceLMz;?|!L+JmcM&5(PBRRLbynHSPA`o;R4x8ct5;jC z?aVtT*3Og2Sn6jBi1g*?kAveuHDfWW8$AV5_w3%(WoREF`k-w6nTWjOEAo?niV8E@ z_thq)r*&m|0}E^0BObccb54lLt*f@)p$vB#?tiNrL#voHQpqRiaCS6{+!#`1gh z^HeSb{QSr&Xy9~I|0AoT>KB@7*LUvoM3q#G640?_=RUAHzOWqksuKz?RGMh|R3q3S zq!5AU3c#dRYTsH=`W_Y4^e~S*_<-G!G?-kO(wc7emE8KS_o|f_{nvx{UpEf;wOzX| zO3lEvxOW95Zf~b4=_u>iK_y2={$BZ7qTLhxNPHe16{Lm0i|;20 z2#vv}m)=&b*&v8+L%KR9Xk57!CToenCi$`&{K&6%QFYdx(3TDy3~C=q`Y~W*n;Ez# z34z1NevleA;CGkz>AYZUuvda_TPL*^tgML+go1igMci?|UD++lif$UY9RZulc-?dO zcE3oXvqLxMKAM757k9UR9@8e(zjQm4S4bZaY7iPvm^E3)$m&V9{aazu=#0DCF8Y16 zwyr0Fbz&`>t*?eo=KI}sa?D+IV>rvmbt<)_{Aq18>hNUjeLez zx)?IG&ZkEGvaPVV9=*DkI`R~D_Y&8%t-@QbWWzit%sl~s4S*z!H%H#Nf z0jqj=qYJE#vY%sJ79M)dyZ>Uzr`C9P{`=3t)5AKK*lo)?U&Luw(ZJ-*Ew3Ru`qN!8C*h@|4*v0)nd48WXI?@VYltHzrO?w3(q*T7i2;QfWZlZKlm6aB z6+2@`VzE+b!utn)qNzxwL-c2(p$Jwf$lgA&a=&@}341RYTZ3)^fO3n*l^UEuK1sEckw1%#s?<+1>j-u*#H0l literal 0 HcmV?d00001 diff --git a/Configs/BitwardenWatchApp-Debug.xcconfig b/Configs/BitwardenWatchApp-Debug.xcconfig index d7c34a389..a53958e89 100644 --- a/Configs/BitwardenWatchApp-Debug.xcconfig +++ b/Configs/BitwardenWatchApp-Debug.xcconfig @@ -1,7 +1,8 @@ #include "./Common.xcconfig" +#include "./WatchCommon.xcconfig" #include? "./Local.xcconfig" ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon-Dev -PRODUCT_BUNDLE_IDENTIFIER = $(BASE_BUNDLE_ID).watchkitapp +PRODUCT_BUNDLE_IDENTIFIER = $(BASE_WATCH_BUNDLE_ID) WK_COMPANION_APP_BUNDLE_IDENTIFIER = $(BASE_BUNDLE_ID) PROVISIONING_PROFILE_SPECIFIER = $(PROVISIONING_PROFILE_SPECIFIER_WATCH_APP) diff --git a/Configs/BitwardenWatchApp-Release.xcconfig b/Configs/BitwardenWatchApp-Release.xcconfig index c242d9cd9..3c6165c01 100644 --- a/Configs/BitwardenWatchApp-Release.xcconfig +++ b/Configs/BitwardenWatchApp-Release.xcconfig @@ -1,7 +1,8 @@ #include "./Common.xcconfig" +#include "./WatchCommon.xcconfig" #include? "./Local.xcconfig" ASSETCATALOG_COMPILER_APPICON_NAME = $(APPICON_NAME) -PRODUCT_BUNDLE_IDENTIFIER = $(BASE_BUNDLE_ID).watchkitapp +PRODUCT_BUNDLE_IDENTIFIER = $(BASE_WATCH_BUNDLE_ID) WK_COMPANION_APP_BUNDLE_IDENTIFIER = $(BASE_BUNDLE_ID) PROVISIONING_PROFILE_SPECIFIER = $(PROVISIONING_PROFILE_SPECIFIER_WATCH_APP) diff --git a/Configs/BitwardenWatchWidgetExtension.xcconfig b/Configs/BitwardenWatchWidgetExtension.xcconfig new file mode 100644 index 000000000..f633ae9f4 --- /dev/null +++ b/Configs/BitwardenWatchWidgetExtension.xcconfig @@ -0,0 +1,6 @@ +#include "./Common.xcconfig" +#include "./WatchCommon.xcconfig" +#include? "./Local.xcconfig" + +PRODUCT_BUNDLE_IDENTIFIER = $(BASE_WATCH_BUNDLE_ID).widget-extension +PROVISIONING_PROFILE_SPECIFIER = $(PROVISIONING_PROFILE_SPECIFIER_WATCH_WIDGET_EXTENSION) diff --git a/Configs/Common.xcconfig b/Configs/Common.xcconfig index d4a40ad4b..071bf82ee 100644 --- a/Configs/Common.xcconfig +++ b/Configs/Common.xcconfig @@ -18,6 +18,7 @@ APPICON_NAME = AppIcon // PROVISIONING_PROFILE_SPECIFIER_AUTOFILL_EXTENSION = // PROVISIONING_PROFILE_SPECIFIER_SHARE_EXTENSION = // PROVISIONING_PROFILE_SPECIFIER_WATCH_APP = +// PROVISIONING_PROFILE_SPECIFIER_WATCH_WIDGET_EXTENSION = // // This should allow Xcode to build the application based on these settings without // code signing errors or having to modify the project itself. diff --git a/Configs/WatchCommon.xcconfig b/Configs/WatchCommon.xcconfig new file mode 100644 index 000000000..c38f222a4 --- /dev/null +++ b/Configs/WatchCommon.xcconfig @@ -0,0 +1,4 @@ +#include "./Common.xcconfig" +#include? "./Local.xcconfig" + +BASE_WATCH_BUNDLE_ID = $(BASE_BUNDLE_ID).watchkitapp diff --git a/Scripts/select_variant.sh b/Scripts/select_variant.sh index 8dccd928e..9b8e00392 100755 --- a/Scripts/select_variant.sh +++ b/Scripts/select_variant.sh @@ -49,6 +49,7 @@ PROVISIONING_PROFILE_SPECIFIER_ACTION_EXTENSION = ${profile_prefix} Extension PROVISIONING_PROFILE_SPECIFIER_AUTOFILL_EXTENSION = ${profile_prefix} Autofill PROVISIONING_PROFILE_SPECIFIER_SHARE_EXTENSION = ${profile_prefix} Share Extension PROVISIONING_PROFILE_SPECIFIER_WATCH_APP = ${profile_prefix} Bitwarden Watch App +PROVISIONING_PROFILE_SPECIFIER_WATCH_WIDGET_EXTENSION = ${profile_prefix} Bitwarden Watch Widget Extension EOF cat << EOF > ${export_options_file} @@ -70,6 +71,8 @@ cat << EOF > ${export_options_file} ${profile_prefix} Share Extension ${ios_bundle_id}.watchkitapp ${profile_prefix} Bitwarden Watch App + ${ios_bundle_id}.watchkitapp.widget-extension + ${profile_prefix} Bitwarden Watch Widget Extension manageAppVersionAndBuildNumber diff --git a/project.yml b/project.yml index 9d2ca7782..222a0ee1e 100644 --- a/project.yml +++ b/project.yml @@ -117,6 +117,10 @@ schemes: build: targets: BitwardenWatchApp: all + BitwardenWatchWidgetExtension: + build: + targets: + BitwardenWatchWidgetExtension: all targets: Bitwarden: type: application @@ -396,6 +400,7 @@ targets: - path: BitwardenWatchApp/GoogleService-Info.plist buildPhase: resources dependencies: + - target: BitwardenWatchWidgetExtension - package: Firebase product: FirebaseCrashlytics postBuildScripts: @@ -405,3 +410,16 @@ targets: inputFiles: - ${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${TARGET_NAME} - ${BUILT_PRODUCTS_DIR}/${INFOPLIST_PATH} + + BitwardenWatchWidgetExtension: + type: app-extension + platform: watchOS + deploymentTarget: 9.0 + configFiles: + Debug: Configs/BitwardenWatchWidgetExtension.xcconfig + Release: Configs/BitwardenWatchWidgetExtension.xcconfig + settings: + base: + INFOPLIST_FILE: BitwardenWatchWidgetExtension/Application/Support/Info.plist + sources: + - path: BitwardenWatchWidgetExtension