add linting CI jobs
This commit is contained in:
parent
9974b2f99f
commit
aa2d9fe374
12 changed files with 98 additions and 68 deletions
|
|
@ -27,10 +27,10 @@ pub struct PlayerStatus {
|
|||
impl PlayerStatus {
|
||||
async fn new(player: Player) -> Self {
|
||||
let metadata = player.metadata().await.unwrap();
|
||||
let title = metadata.title().map(|t| Cow::from(t));
|
||||
let title = metadata.title().map(Cow::from);
|
||||
let artists = metadata
|
||||
.artists()
|
||||
.map(|a| a.into_iter().map(|a| Cow::from(a)).collect::<Vec<_>>());
|
||||
.map(|a| a.into_iter().map(Cow::from).collect::<Vec<_>>());
|
||||
let icon = metadata
|
||||
.art_url()
|
||||
.and_then(|u| url::Url::parse(&u).ok())
|
||||
|
|
@ -53,7 +53,7 @@ impl PlayerStatus {
|
|||
icon,
|
||||
title,
|
||||
artists,
|
||||
status: playback_status.unwrap_or_else(|_| PlaybackStatus::Stopped),
|
||||
status: playback_status.unwrap_or(PlaybackStatus::Stopped),
|
||||
can_pause: can_pause.unwrap_or_default(),
|
||||
can_play: can_play.unwrap_or_default(),
|
||||
can_go_previous: can_go_previous.unwrap_or_default(),
|
||||
|
|
@ -109,33 +109,32 @@ async fn update(state: State, output: &mut futures::channel::mpsc::Sender<MprisU
|
|||
.unwrap_or_else(|_| Vec::new());
|
||||
if players.is_empty() {
|
||||
let Ok(dbus) = zbus::fdo::DBusProxy::builder(&conn)
|
||||
.path("/org/freedesktop/DBus").unwrap()
|
||||
.path("/org/freedesktop/DBus")
|
||||
.unwrap()
|
||||
.build()
|
||||
.await else {
|
||||
tracing::error!("Failed to create dbus proxy.");
|
||||
return State::Finished;
|
||||
};
|
||||
loop {
|
||||
let Ok(mut stream) = dbus.receive_name_owner_changed().await else {
|
||||
tracing::error!("Failed to receive name owner changed signal.");
|
||||
tokio::time::sleep(tokio::time::Duration::from_secs(5)).await;
|
||||
// restart from the beginning
|
||||
return State::Setup;
|
||||
};
|
||||
while let Some(c) = stream.next().await {
|
||||
if let Ok(args) = c.args() {
|
||||
if args.name.contains("org.mpris.MediaPlayer2") {
|
||||
break;
|
||||
}
|
||||
.await
|
||||
else {
|
||||
tracing::error!("Failed to create dbus proxy.");
|
||||
return State::Finished;
|
||||
};
|
||||
let Ok(mut stream) = dbus.receive_name_owner_changed().await else {
|
||||
tracing::error!("Failed to receive name owner changed signal.");
|
||||
tokio::time::sleep(tokio::time::Duration::from_secs(5)).await;
|
||||
// restart from the beginning
|
||||
return State::Setup;
|
||||
};
|
||||
while let Some(c) = stream.next().await {
|
||||
if let Ok(args) = c.args() {
|
||||
if args.name.contains("org.mpris.MediaPlayer2") {
|
||||
break;
|
||||
}
|
||||
}
|
||||
if let Ok(p) = mpris2_zbus::media_player::MediaPlayer::new_all(&conn).await {
|
||||
players = p;
|
||||
break;
|
||||
} else {
|
||||
// restart from the beginning
|
||||
return State::Setup;
|
||||
}
|
||||
}
|
||||
if let Ok(p) = mpris2_zbus::media_player::MediaPlayer::new_all(&conn).await {
|
||||
players = p;
|
||||
} else {
|
||||
// restart from the beginning
|
||||
return State::Setup;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -159,7 +159,7 @@ impl PulseHandle {
|
|||
// Create pulse server thread, and bidirectional comms
|
||||
pub fn new() -> Self {
|
||||
let (to_pulse, mut to_pulse_recv) = tokio::sync::mpsc::channel(10);
|
||||
let (mut from_pulse_send, from_pulse) = tokio::sync::mpsc::channel(10);
|
||||
let (from_pulse_send, from_pulse) = tokio::sync::mpsc::channel(10);
|
||||
// get initial connection status
|
||||
to_pulse
|
||||
.try_send(Message::UpdateConnection)
|
||||
|
|
@ -195,7 +195,7 @@ impl PulseHandle {
|
|||
.send(Message::SetDefaultSink(sink))
|
||||
.await
|
||||
.unwrap(),
|
||||
Err(_) => Self::send_disconnected(&mut from_pulse_send).await,
|
||||
Err(_) => Self::send_disconnected(&from_pulse_send).await,
|
||||
}
|
||||
}
|
||||
Message::GetDefaultSource => {
|
||||
|
|
@ -210,7 +210,7 @@ impl PulseHandle {
|
|||
.unwrap(),
|
||||
Err(e) => {
|
||||
tracing::error!("ERROR! {:?}", e);
|
||||
Self::send_disconnected(&mut from_pulse_send).await;
|
||||
Self::send_disconnected(&from_pulse_send).await;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -224,7 +224,7 @@ impl PulseHandle {
|
|||
.send(Message::SetSinks(sinks))
|
||||
.await
|
||||
.unwrap(),
|
||||
Err(_) => Self::send_disconnected(&mut from_pulse_send).await,
|
||||
Err(_) => Self::send_disconnected(&from_pulse_send).await,
|
||||
}
|
||||
}
|
||||
Message::GetSources => {
|
||||
|
|
@ -237,7 +237,7 @@ impl PulseHandle {
|
|||
.send(Message::SetSources(sinks))
|
||||
.await
|
||||
.unwrap(),
|
||||
Err(_) => Self::send_disconnected(&mut from_pulse_send).await,
|
||||
Err(_) => Self::send_disconnected(&from_pulse_send).await,
|
||||
}
|
||||
}
|
||||
Message::SetSinkVolumeByName(name, channel_volumes) => {
|
||||
|
|
@ -263,7 +263,7 @@ impl PulseHandle {
|
|||
tracing::trace!("getting server info...");
|
||||
if cur_server.get_server_info().is_err() {
|
||||
tracing::warn!("got error, server must be disconnected...");
|
||||
Self::send_disconnected(&mut from_pulse_send).await;
|
||||
Self::send_disconnected(&from_pulse_send).await;
|
||||
} else {
|
||||
tracing::trace!("got server info, still connected...");
|
||||
server = Some(cur_server);
|
||||
|
|
@ -272,7 +272,7 @@ impl PulseHandle {
|
|||
match PulseServer::connect().and_then(|server| server.init()) {
|
||||
Ok(new_server) => {
|
||||
tracing::info!("Connected to server");
|
||||
Self::send_connected(&mut from_pulse_send).await;
|
||||
Self::send_connected(&from_pulse_send).await;
|
||||
server = Some(new_server);
|
||||
}
|
||||
Err(err) => {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue