mirror of
https://github.com/tauri-apps/plugins-workspace.git
synced 2026-04-23 11:36:13 +02:00
9606089b2a
* init geolocation plugin * ios impl (w/o js api) * generate ts api * use newer tauri commit * add temporary postinstall * include src in files * guest-js * just ship dist-js for now * fix watcher * fix android compile error * fix android build for real * fix heading type * initial getCurrentPosition android impl (wip) * prevent panics if errors (strings) are sent over the channel * Add android watchPosition implementation * init haptics plugin (android) * ios and new apis (ANDROID IS LIKELY BROKEN - MAY NOT EVEN COMPILE) * use tauri-specta that accounts for raw fn arg idents * add complete android support (it's not working great due to random soft-/hardware support) * fix(haptics): Fix the NotificationFeedbackType::Success and Version (#1) * Fix success feedback and version * Apply suggestions from code review * Update package.json --------- Co-authored-by: Fabian-Lars <118197967+FabianLars-crabnebula@users.noreply.github.com> * android: improve permission callback handling * keep track of ongoing perms requests * rebuild * license headers * rm sqlite feat * fmt * what diff u talkin bout? * ignore dist-js again * fix audits * dedupe api.js * clippy * changefiles * readmes * clean up todos * rm dsstore * rm wrong feats * mirror * covector * rebuild * ios requires the wry feature * lint * update lock --------- Co-authored-by: fabianlars <fabianlars@fabianlars.de> Co-authored-by: Brendan Allan <brendonovich@outlook.com> Co-authored-by: Naman Garg <155433377+naman-crabnebula@users.noreply.github.com> Co-authored-by: Lucas Nogueira <lucas@crabnebula.dev>
48 lines
1.3 KiB
Rust
48 lines
1.3 KiB
Rust
// Copyright 2019-2023 Tauri Programme within The Commons Conservancy
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
use tauri::{command, ipc::Channel, AppHandle, Runtime};
|
|
|
|
use crate::{GeolocationExt, PermissionStatus, PermissionType, Position, PositionOptions, Result};
|
|
|
|
#[command]
|
|
#[specta::specta]
|
|
pub(crate) async fn get_current_position<R: Runtime>(
|
|
app: AppHandle<R>,
|
|
options: Option<PositionOptions>,
|
|
) -> Result<Position> {
|
|
app.geolocation().get_current_position(options)
|
|
}
|
|
|
|
#[command]
|
|
#[specta::specta]
|
|
pub(crate) async fn watch_position<R: Runtime>(
|
|
app: AppHandle<R>,
|
|
options: PositionOptions,
|
|
channel: Channel,
|
|
) -> Result<()> {
|
|
app.geolocation().watch_position_inner(options, channel)
|
|
}
|
|
|
|
#[command]
|
|
#[specta::specta]
|
|
pub(crate) async fn clear_watch<R: Runtime>(app: AppHandle<R>, channel_id: u32) -> Result<()> {
|
|
app.geolocation().clear_watch(channel_id)
|
|
}
|
|
|
|
#[command]
|
|
#[specta::specta]
|
|
pub(crate) async fn check_permissions<R: Runtime>(app: AppHandle<R>) -> Result<PermissionStatus> {
|
|
app.geolocation().check_permissions()
|
|
}
|
|
|
|
#[command]
|
|
#[specta::specta]
|
|
pub(crate) async fn request_permissions<R: Runtime>(
|
|
app: AppHandle<R>,
|
|
permissions: Option<Vec<PermissionType>>,
|
|
) -> Result<PermissionStatus> {
|
|
app.geolocation().request_permissions(permissions)
|
|
}
|