mirror of
https://github.com/google/pebble.git
synced 2025-05-05 09:21:40 -04:00
61 lines
2.5 KiB
C
61 lines
2.5 KiB
C
/*
|
|
* Copyright 2024 Google LLC
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include <stdbool.h>
|
|
#include <stdint.h>
|
|
|
|
//! @addtogroup Foundation
|
|
//! @{
|
|
//! @addtogroup LaunchReason Launch Reason
|
|
//! \brief API for checking what caused the application to launch.
|
|
//!
|
|
//! This includes the system, launch by user interaction (User selects the
|
|
//! application from the launcher menu),
|
|
//! launch by the mobile or a mobile companion application,
|
|
//! or launch by a scheduled wakeup event for the specified application.
|
|
//!
|
|
//! @{
|
|
|
|
//! AppLaunchReason is used to inform the application about how it was launched
|
|
//! @note New launch reasons may be added in the future. As a best practice, it
|
|
//! is recommended to only handle the cases that the app needs to know about,
|
|
//! rather than trying to handle all possible launch reasons.
|
|
typedef enum {
|
|
APP_LAUNCH_SYSTEM = 0, //!< App launched by the system
|
|
APP_LAUNCH_USER, //!< App launched by user selection in launcher menu
|
|
APP_LAUNCH_PHONE, //!< App launched by mobile or companion app
|
|
APP_LAUNCH_WAKEUP, //!< App launched by wakeup event
|
|
APP_LAUNCH_WORKER, //!< App launched by worker calling worker_launch_app()
|
|
APP_LAUNCH_QUICK_LAUNCH, //!< App launched by user using quick launch
|
|
APP_LAUNCH_TIMELINE_ACTION, //!< App launched by user opening it from a pin
|
|
APP_LAUNCH_SMARTSTRAP, //!< App launched by a smartstrap
|
|
} AppLaunchReason;
|
|
|
|
//! Provides the method used to launch the current application.
|
|
//! @return The method or reason the current application was launched
|
|
AppLaunchReason app_launch_reason(void);
|
|
|
|
//! Get the argument passed to the app when it was launched.
|
|
//! @note Currently the only way to pass arguments to apps is by using an openWatchApp action
|
|
//! on a pin.
|
|
//! @return The argument passed to the app, or 0 if the app wasn't launched from a Launch App action
|
|
uint32_t app_launch_get_args(void);
|
|
|
|
//! @} // group Launch_Reason
|
|
//! @} // group Foundation
|
|
|