[PR #2054] [MERGED] [EC-426] Add watchOS PoC app #44926

Closed
opened 2026-04-26 12:09:19 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/bitwarden/android/pull/2054
Author: @fedemkr
Created: 8/29/2022
Status: Merged
Merged: 9/29/2022
Merged by: @fedemkr

Base: feature/apple-watch-mvpHead: feature/EC-426-apple-watch-poc


📝 Commits (10+)

  • b9ab3ba EC-426 Added watchOS app, configured iOS.csproj to bundle the output of XCode build into the Xamarin iOS app and added some custom logic to use WCSession to communicate between the iOS and the watchOS apps
  • ebb00d5 EC-426 Removed Info.plist from iOS.Core project given that it's not needed
  • 96d91c8 [EC-426] Added new encrypted watch app profiles
  • e7ea765 EC-426 added configuration for building watchApp and bundle it up on the iOS one
  • ae9a81e EC-426 Fix build for watchOS
  • 35cf0b6 Merge branch 'master' into feature/EC-426-apple-watch-poc
  • ad6ec7e EC-426 Fix build for watchOS applied shell bash
  • 490d4af EC-426 Fix build for watchOS echo
  • 7d710c6 EC-426 Fix build for watchOS simplify
  • e35f980 EC-426 Fix build for watchOS added workspace path

📊 Changes

67 files changed (+6037 additions, -1476 deletions)

View changed files

📝 .github/resources/export-options-app-store.plist (+4 -0)
.github/secrets/dist_watch_app.mobileprovision.gpg (+0 -0)
.github/secrets/dist_watch_app_extension.mobileprovision.gpg (+0 -0)
📝 .github/workflows/build.yml (+35 -0)
📝 .gitignore (+126 -1)
📝 src/Android/Services/DeviceActionService.cs (+2 -0)
📝 src/App/Abstractions/IDeviceActionService.cs (+2 -0)
📝 src/App/Pages/Settings/SettingsPage/SettingsPageViewModel.cs (+6 -0)
📝 src/App/Resources/AppResources.Designer.cs (+3693 -1475)
📝 src/App/Resources/AppResources.resx (+3 -0)
📝 src/iOS.Core/Services/DeviceActionService.cs (+18 -0)
src/iOS.Core/Utilities/WCSessionManager.cs (+160 -0)
📝 src/iOS.Core/iOS.Core.csproj (+1 -0)
📝 src/iOS/AppDelegate.cs (+4 -0)
📝 src/iOS/iOS.csproj (+22 -0)
src/watchOS/bitwarden/bitwarden WatchKit App/Assets.xcassets/AccentColor.colorset/Contents.json (+20 -0)
src/watchOS/bitwarden/bitwarden WatchKit App/Assets.xcassets/AppIcon.appiconset/100.png (+0 -0)
src/watchOS/bitwarden/bitwarden WatchKit App/Assets.xcassets/AppIcon.appiconset/102.png (+0 -0)
src/watchOS/bitwarden/bitwarden WatchKit App/Assets.xcassets/AppIcon.appiconset/172.png (+0 -0)
src/watchOS/bitwarden/bitwarden WatchKit App/Assets.xcassets/AppIcon.appiconset/196.png (+0 -0)

...and 47 more files

📄 Description

Type of change

  • Bug fix
  • New feature development
  • Tech debt (refactoring, code cleanup, dependency upgrades, etc)
  • Build/deploy pipeline (DevOps)
  • Other

Objective

Add PoC watchOS application to handle TOTP codes that serves as a base structure for the MVP

Code changes

  • watchOS app Swift project: Added new project for watchOS built in Swift given that Xamarin has many drawbacks on this.
  • iOS.csproj: Added custom configs to bundle the Swift app output build into the iOS build and deep sign the watch build.
  • build.yml: Added "Bulid WatchApp" step to build the XCode project with the watch app
  • .github/resources/export-options-app-store.plist: Added keys for watch app and extension
  • .gitignore: Added ignores for Swift and Objective-C for the XCode projects
  • WCSessionManager.cs: Added this manager to quickly handle the session connection with the watch and send/receive messages
  • AppDelegate.cs: Starts the session as soon as the app launches.
  • IDeviceActionService.cs: Added IsWatchReachable property to see when the watch device is reachable

Code to make some tests on this PoC:

  • (iOS) DeviceActionService.cs: Implemented the new property and added some code when calling Toast to send some messages to the Watch device for testing this.
  • SettingsPageViewModel.cs: Added new row to see whether the connection to the Watch is On

Before you submit

  • I have checked for formatting errors (dotnet tool run dotnet-format --check) (required)
  • I have added unit tests where it makes sense to do so (encouraged but not required)
  • This change requires a documentation update (notify the documentation team)
  • This change has particular deployment requirements (notify the DevOps team)

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/bitwarden/android/pull/2054 **Author:** [@fedemkr](https://github.com/fedemkr) **Created:** 8/29/2022 **Status:** ✅ Merged **Merged:** 9/29/2022 **Merged by:** [@fedemkr](https://github.com/fedemkr) **Base:** `feature/apple-watch-mvp` ← **Head:** `feature/EC-426-apple-watch-poc` --- ### 📝 Commits (10+) - [`b9ab3ba`](https://github.com/bitwarden/android/commit/b9ab3ba3fb861502e9a4e572bbd58d207f86bd95) EC-426 Added watchOS app, configured iOS.csproj to bundle the output of XCode build into the Xamarin iOS app and added some custom logic to use WCSession to communicate between the iOS and the watchOS apps - [`ebb00d5`](https://github.com/bitwarden/android/commit/ebb00d52e5a95a26df54cfdb98e7af73a71bfa82) EC-426 Removed Info.plist from iOS.Core project given that it's not needed - [`96d91c8`](https://github.com/bitwarden/android/commit/96d91c80ffaee83be67142d81524fc280e80b46a) [EC-426] Added new encrypted watch app profiles - [`e7ea765`](https://github.com/bitwarden/android/commit/e7ea7655025787f183fc84ffe805a0d089354e27) EC-426 added configuration for building watchApp and bundle it up on the iOS one - [`ae9a81e`](https://github.com/bitwarden/android/commit/ae9a81e0b6f11419ab11cfeb9e72569f4e14d2ef) EC-426 Fix build for watchOS - [`35cf0b6`](https://github.com/bitwarden/android/commit/35cf0b6f6028400bf2e1ef1daf2af0651e1f400c) Merge branch 'master' into feature/EC-426-apple-watch-poc - [`ad6ec7e`](https://github.com/bitwarden/android/commit/ad6ec7e71afb67efd6fffe06980fd6b47cb4685f) EC-426 Fix build for watchOS applied shell bash - [`490d4af`](https://github.com/bitwarden/android/commit/490d4afbb0ca40a34d314f80ecc48c613dc7e567) EC-426 Fix build for watchOS echo - [`7d710c6`](https://github.com/bitwarden/android/commit/7d710c6c3442a46ab9d5d9004c54fb0ffaf4e6dc) EC-426 Fix build for watchOS simplify - [`e35f980`](https://github.com/bitwarden/android/commit/e35f980c102b348b1c4568f00fd5b86d4cad8445) EC-426 Fix build for watchOS added workspace path ### 📊 Changes **67 files changed** (+6037 additions, -1476 deletions) <details> <summary>View changed files</summary> 📝 `.github/resources/export-options-app-store.plist` (+4 -0) ➕ `.github/secrets/dist_watch_app.mobileprovision.gpg` (+0 -0) ➕ `.github/secrets/dist_watch_app_extension.mobileprovision.gpg` (+0 -0) 📝 `.github/workflows/build.yml` (+35 -0) 📝 `.gitignore` (+126 -1) 📝 `src/Android/Services/DeviceActionService.cs` (+2 -0) 📝 `src/App/Abstractions/IDeviceActionService.cs` (+2 -0) 📝 `src/App/Pages/Settings/SettingsPage/SettingsPageViewModel.cs` (+6 -0) 📝 `src/App/Resources/AppResources.Designer.cs` (+3693 -1475) 📝 `src/App/Resources/AppResources.resx` (+3 -0) 📝 `src/iOS.Core/Services/DeviceActionService.cs` (+18 -0) ➕ `src/iOS.Core/Utilities/WCSessionManager.cs` (+160 -0) 📝 `src/iOS.Core/iOS.Core.csproj` (+1 -0) 📝 `src/iOS/AppDelegate.cs` (+4 -0) 📝 `src/iOS/iOS.csproj` (+22 -0) ➕ `src/watchOS/bitwarden/bitwarden WatchKit App/Assets.xcassets/AccentColor.colorset/Contents.json` (+20 -0) ➕ `src/watchOS/bitwarden/bitwarden WatchKit App/Assets.xcassets/AppIcon.appiconset/100.png` (+0 -0) ➕ `src/watchOS/bitwarden/bitwarden WatchKit App/Assets.xcassets/AppIcon.appiconset/102.png` (+0 -0) ➕ `src/watchOS/bitwarden/bitwarden WatchKit App/Assets.xcassets/AppIcon.appiconset/172.png` (+0 -0) ➕ `src/watchOS/bitwarden/bitwarden WatchKit App/Assets.xcassets/AppIcon.appiconset/196.png` (+0 -0) _...and 47 more files_ </details> ### 📄 Description ## Type of change - [ ] Bug fix - [X] New feature development - [ ] Tech debt (refactoring, code cleanup, dependency upgrades, etc) - [ ] Build/deploy pipeline (DevOps) - [ ] Other ## Objective <!--Describe what the purpose of this PR is. For example: what bug you're fixing or what new feature you're adding--> Add PoC watchOS application to handle TOTP codes that serves as a base structure for the MVP ## Code changes <!--Explain the changes you've made to each file or major component. This should help the reviewer understand your changes--> <!--Also refer to any related changes or PRs in other repositories--> * **watchOS app Swift project:** Added new project for watchOS built in Swift given that Xamarin has many drawbacks on this. * **iOS.csproj:** Added custom configs to bundle the Swift app output build into the iOS build and deep sign the watch build. * **build.yml:** Added "Bulid WatchApp" step to build the XCode project with the watch app * **.github/resources/export-options-app-store.plist:** Added keys for watch app and extension * **.gitignore:** Added ignores for Swift and Objective-C for the XCode projects * **WCSessionManager.cs:** Added this manager to quickly handle the session connection with the watch and send/receive messages * **AppDelegate.cs:** Starts the session as soon as the app launches. * **IDeviceActionService.cs:** Added `IsWatchReachable` property to see when the watch device is reachable _Code to make some tests on this PoC:_ * **(iOS) DeviceActionService.cs:** Implemented the new property and added some code when calling Toast to send some messages to the Watch device for testing this. * **SettingsPageViewModel.cs:** Added new row to see whether the connection to the Watch is On ## Before you submit - [X] I have checked for formatting errors (`dotnet tool run dotnet-format --check`) (required) - [ ] I have added **unit tests** where it makes sense to do so (encouraged but not required) - [ ] This change requires a **documentation update** (notify the documentation team) - [ ] This change has particular **deployment requirements** (notify the DevOps team) --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
GiteaMirror added the pull-request label 2026-04-26 12:09:19 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/android#44926