diff options
Diffstat (limited to 'source/app')
| -rw-r--r-- | source/app/AppInfo.mc | 16 | ||||
| -rw-r--r-- | source/app/OtpWalletApp.mc | 40 |
2 files changed, 56 insertions, 0 deletions
diff --git a/source/app/AppInfo.mc b/source/app/AppInfo.mc new file mode 100644 index 0000000..5b2a586 --- /dev/null +++ b/source/app/AppInfo.mc @@ -0,0 +1,16 @@ +// Author: cirakg & claude ai +// Summary: Build-time facts about the app, such as its semantic version. +// +// AppInfo: build-time facts about the app. +// +// VERSION follows semantic versioning (README section 22). It is shown on the +// home screen now and in the About screen and settings later; keep it equal to +// the newest version in CHANGELOG.md once releases start. + +import Toybox.Lang; + +module AppInfo { + + // Semantic version of the app: MAJOR.MINOR.PATCH. + const VERSION = "0.1.0"; +} diff --git a/source/app/OtpWalletApp.mc b/source/app/OtpWalletApp.mc new file mode 100644 index 0000000..8858878 --- /dev/null +++ b/source/app/OtpWalletApp.mc @@ -0,0 +1,40 @@ +// Author: cirakg & claude ai +// Summary: Application entry point (Connect IQ AppBase): lifecycle and first view. +// +// OtpWalletApp: the application entry point (Connect IQ AppBase). +// +// M0 skeleton: the app shows a home screen with its name and version. Later +// milestones add the vault, settings processing, locking and the glance. +// +// Connect IQ lifecycle: initialize -> onStart -> getInitialView -> (views run) +// -> onStop. +// +// Security note for later milestones: onStop is where every key and decrypted +// secret gets wiped. It runs when the user leaves the app, and also when +// Garmin's system passcode shuts running apps down. + +import Toybox.Application; +import Toybox.Lang; +import Toybox.WatchUi; + +class OtpWalletApp extends Application.AppBase { + + function initialize() { + AppBase.initialize(); + // Start of the start-up timer reported by `make perf` (debug builds only). + Diag.markStart(); + } + + // Called after the app is loaded, before the first view is shown. + function onStart(state as Dictionary?) as Void { + } + + // Called when the app exits, for any reason. + function onStop(state as Dictionary?) as Void { + } + + // The first screen and its input handler. + function getInitialView() as [Views] or [Views, InputDelegates] { + return [new HomeView(), new HomeDelegate()]; + } +} |
