Handle App lifecycle in Nearby Connections.

PiperOrigin-RevId: 822749438
This commit is contained in:
Guogang Li
2025-10-22 14:53:33 -07:00
committed by Copybara-Service
parent bd21843464
commit e37b501e37
16 changed files with 342 additions and 22 deletions
+21 -1
View File
@@ -15,12 +15,15 @@
#ifndef PLATFORM_API_PLATFORM_H_
#define PLATFORM_API_PLATFORM_H_
#include <cstddef>
#include <cstdint>
#include <functional>
#include <memory>
#include <string>
#include "absl/status/statusor.h"
#include "absl/strings/string_view.h"
#include "internal/platform/implementation/app_lifecycle_monitor.h"
#include "internal/platform/implementation/atomic_boolean.h"
#include "internal/platform/implementation/atomic_reference.h"
#include "internal/platform/implementation/awdl.h"
@@ -138,6 +141,18 @@ class ImplementationPlatform {
static std::unique_ptr<WebRtcMedium> CreateWebRtcMedium();
#endif
#if defined(NEARBY_CHROMIUM)
static std::unique_ptr<AppLifecycleMonitor> CreateAppLifecycleMonitor(
std::function<void(AppLifecycleMonitor::AppLifecycleState)>
state_updated_callback) {
return nullptr;
}
#else
static std::unique_ptr<AppLifecycleMonitor> CreateAppLifecycleMonitor(
std::function<void(AppLifecycleMonitor::AppLifecycleState)>
state_updated_callback);
#endif
// Gets HTTP response from remote server.
//
// @param request Webrequest
@@ -147,7 +162,12 @@ class ImplementationPlatform {
// other cases will return absl Status in error.
static absl::StatusOr<WebResponse> SendRequest(const WebRequest& request);
#ifndef NEARBY_CHROMIUM
#if defined(NEARBY_CHROMIUM)
static std::unique_ptr<nearby::api::PreferencesManager>
CreatePreferencesManager(absl::string_view path) {
return nullptr;
}
#else
static std::unique_ptr<nearby::api::PreferencesManager>
CreatePreferencesManager(absl::string_view path);
#endif