mirror of
https://github.com/google/pebble.git
synced 2025-11-22 07:20:55 -05:00
Import of the watch repository from Pebble
This commit is contained in:
61
src/fw/applib/app_launch_reason.h
Normal file
61
src/fw/applib/app_launch_reason.h
Normal file
@@ -0,0 +1,61 @@
|
||||
/*
|
||||
* 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
|
||||
|
||||
Reference in New Issue
Block a user