Skip to content

Commit 521db36

Browse files
committed
less notification when using start_minimized and udp
1 parent 861e752 commit 521db36

File tree

8 files changed

+42
-23
lines changed

8 files changed

+42
-23
lines changed

RustApp/src/streamer/adb_streamer.rs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
use anyhow::Result;
22
use tokio::process::Command;
33

4-
use crate::streamer::{StreamerMsg, tcp_streamer};
4+
use crate::{
5+
config::ConnectionMode,
6+
streamer::{StreamerMsg, tcp_streamer},
7+
};
58

69
use super::{
710
AudioStream, ConnectError, StreamerTrait,
@@ -108,6 +111,7 @@ impl StreamerTrait for AdbStreamer {
108111
TcpStreamerState::Streaming { .. } => StreamerMsg::Connected {
109112
ip: None,
110113
port: None,
114+
mode: ConnectionMode::Adb,
111115
},
112116
}
113117
}

RustApp/src/streamer/streamer_runner.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ use std::net::IpAddr;
1212
use tokio::sync::mpsc::{self, Sender};
1313

1414
use crate::audio::AudioProcessParams;
15+
use crate::config::ConnectionMode;
1516
use crate::streamer::{StreamerTrait, WriteError};
1617

1718
use super::{AudioStream, ConnectError, DummyStreamer, Streamer, tcp_streamer, udp_streamer};
@@ -82,6 +83,7 @@ pub enum StreamerMsg {
8283
Connected {
8384
ip: Option<IpAddr>,
8485
port: Option<u16>,
86+
mode: ConnectionMode,
8587
},
8688
Ready(Sender<StreamerCommand>),
8789
}

RustApp/src/streamer/tcp_streamer.rs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,10 @@ use prost::Message;
55
use tokio::net::{TcpListener, TcpStream};
66
use tokio_util::codec::{Framed, LengthDelimitedCodec};
77

8-
use crate::streamer::{DEFAULT_PC_PORT, MAX_PORT, StreamerMsg, WriteError};
8+
use crate::{
9+
config::ConnectionMode,
10+
streamer::{DEFAULT_PC_PORT, MAX_PORT, StreamerMsg, WriteError},
11+
};
912

1013
use super::{AudioPacketMessage, AudioStream, ConnectError, StreamerTrait};
1114

@@ -76,6 +79,7 @@ impl StreamerTrait for TcpStreamer {
7679
TcpStreamerState::Streaming { .. } => StreamerMsg::Connected {
7780
ip: Some(self.ip),
7881
port: Some(self.port),
82+
mode: ConnectionMode::Tcp,
7983
},
8084
}
8185
}
@@ -100,6 +104,7 @@ impl StreamerTrait for TcpStreamer {
100104
Ok(Some(StreamerMsg::Connected {
101105
ip: Some(self.ip),
102106
port: Some(self.port),
107+
mode: ConnectionMode::Tcp,
103108
}))
104109
}
105110
TcpStreamerState::Streaming {

RustApp/src/streamer/udp_streamer.rs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,10 @@ use prost::Message;
55
use tokio::net::UdpSocket;
66
use tokio_util::{codec::LengthDelimitedCodec, udp::UdpFramed};
77

8-
use crate::streamer::{AudioPacketMessage, DEFAULT_PC_PORT, MAX_PORT, WriteError};
8+
use crate::{
9+
config::ConnectionMode,
10+
streamer::{AudioPacketMessage, DEFAULT_PC_PORT, MAX_PORT, WriteError},
11+
};
912

1013
use super::{AudioPacketMessageOrdered, AudioStream, ConnectError, StreamerMsg, StreamerTrait};
1114

@@ -62,6 +65,7 @@ impl StreamerTrait for UdpStreamer {
6265
StreamerMsg::Connected {
6366
ip: Some(self.ip),
6467
port: Some(self.port),
68+
mode: ConnectionMode::Udp,
6569
}
6670
}
6771

RustApp/src/streamer/usb_streamer.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ use super::{
1212
frame::UsbStream,
1313
},
1414
};
15-
use crate::streamer::WriteError;
15+
use crate::{config::ConnectionMode, streamer::WriteError};
1616

1717
use super::{AudioPacketMessage, ConnectError, StreamerMsg, StreamerTrait};
1818

@@ -185,6 +185,7 @@ impl StreamerTrait for UsbStreamer {
185185
UsbStreamerState::Streaming => StreamerMsg::Connected {
186186
ip: None,
187187
port: None,
188+
mode: ConnectionMode::Usb,
188189
},
189190
}
190191
}

RustApp/src/ui/app.rs

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -206,7 +206,7 @@ impl AppState {
206206
let e = "no address ip found";
207207

208208
error!("failed to start audio stream: {e}");
209-
return self.add_log(&e.to_string());
209+
return self.add_log(e);
210210
};
211211

212212
ConnectOption::Tcp { ip }
@@ -216,7 +216,7 @@ impl AppState {
216216
let e = "no address ip found";
217217

218218
error!("failed to start audio stream: {e}");
219-
return self.add_log(&e.to_string());
219+
return self.add_log(e);
220220
};
221221
ConnectOption::Udp { ip }
222222
}
@@ -466,7 +466,7 @@ impl Application for AppState {
466466
return self.add_log(format!("Listening on `{ip}:{port}`").as_str());
467467
}
468468
}
469-
StreamerMsg::Connected { ip, port } => {
469+
StreamerMsg::Connected { ip, port, mode } => {
470470
if let Some(system_tray) = self.system_tray.as_mut() {
471471
system_tray.update_menu_state(false, &fl!("state_connected"));
472472
}
@@ -477,15 +477,18 @@ impl Application for AppState {
477477
ip.unwrap_or(IpAddr::V4(Ipv4Addr::UNSPECIFIED)),
478478
port.unwrap_or_default()
479479
);
480-
// show notification when app is minimized
481-
let _ = Notification::new()
482-
.summary("AndroidMic")
483-
.body(format!("Connected on {address}").as_str())
484-
.auto_icon()
485-
.show()
486-
.map_err(|e| {
487-
error!("failed to show notification: {e}");
488-
});
480+
481+
if mode != ConnectionMode::Udp {
482+
// show notification when app is minimized
483+
let _ = Notification::new()
484+
.summary("AndroidMic")
485+
.body(format!("Connected on {address}").as_str())
486+
.auto_icon()
487+
.show()
488+
.map_err(|e| {
489+
error!("failed to show notification: {e}");
490+
});
491+
}
489492
}
490493

491494
self.connection_state = ConnectionState::Connected;
@@ -701,7 +704,7 @@ impl Application for AppState {
701704
self.about_window = None;
702705
}
703706

704-
if !self.has_shown_minimize_notification {
707+
if !self.config.data().start_minimized && !self.has_shown_minimize_notification {
705708
let _ = Notification::new()
706709
.summary("AndroidMic")
707710
.body(&fl!("minimized_to_tray"))

RustApp/src/ui/tray.rs

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -77,11 +77,8 @@ impl SystemTray {
7777
}));
7878

7979
let tray_sender = sender.clone();
80-
TrayIconEvent::set_event_handler(Some(move |event: TrayIconEvent| match event {
81-
TrayIconEvent::DoubleClick { .. } => {
82-
let _ = tray_sender.send(SystemTrayMsg::Show);
83-
}
84-
_ => {}
80+
TrayIconEvent::set_event_handler(Some(move |event: TrayIconEvent| if let TrayIconEvent::DoubleClick { .. } = event {
81+
let _ = tray_sender.send(SystemTrayMsg::Show);
8582
}));
8683

8784
Ok((

RustApp/src/ui/view.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -450,7 +450,10 @@ pub fn settings_window(app: &AppState) -> Element<'_, ConfigMsg> {
450450
.align_y(Vertical::Center)
451451
.push(text(fl!("start_minimized")))
452452
.push(horizontal_space())
453-
.push(toggler(config.start_minimized).on_toggle(ConfigMsg::StartMinimized)),
453+
.push(
454+
toggler(config.start_minimized)
455+
.on_toggle(ConfigMsg::StartMinimized),
456+
),
454457
)
455458
.add(
456459
row()

0 commit comments

Comments
 (0)