Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file modified airsync-bg.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 2 additions & 2 deletions airsync-mac/Core/Util/MacInfo/MacInfoSyncManager.swift
Original file line number Diff line number Diff line change
Expand Up @@ -213,8 +213,8 @@ class MacInfoSyncManager: ObservableObject {
isPlaying: info.isPlaying ?? false,
title: info.title ?? "",
artist: info.artist ?? "",
volume: 50, // must match payload default
isMuted: false, // must match payload default
volume: MacRemoteManager.shared.lastVolumeLevel,
isMuted: MacRemoteManager.shared.lastVolumeLevel == 0,
albumArt: currentHash ?? "", // Use hash for snapshot comparison
likeStatus: "none" // must match payload default
)
Expand Down
2 changes: 1 addition & 1 deletion airsync-mac/Core/Util/Remote/MacRemoteManager.swift
Original file line number Diff line number Diff line change
Expand Up @@ -411,7 +411,7 @@ class MacRemoteManager: ObservableObject {
private func notifyVolumeChange() {
DispatchQueue.main.async {
// Send update via WebSocket
let levelInt = Int(self.lastVolumeLevel * 100)
let levelInt = self.lastVolumeLevel
print("[MacRemoteManager] Notifying volume change: \(levelInt)%")
WebSocketServer.shared.sendMacVolumeUpdate(level: levelInt)
}
Expand Down
4 changes: 3 additions & 1 deletion airsync-mac/Core/WebSocket/WebSocketServer+Handlers.swift
Original file line number Diff line number Diff line change
Expand Up @@ -717,8 +717,10 @@ extension WebSocketServer {
let appVersion = Bundle.main.infoDictionary?["CFBundleShortVersionString"] as? String ?? "2.0.0"
let savedAppPackages = Array(AppState.shared.androidApps.keys)

let modelId = DeviceTypeUtil.modelIdentifier()
let macInfo = MacInfo(
name: macName,
modelIdentifier: modelId,
categoryType: categoryType,
exactDeviceName: exactDeviceName,
isPlusSubscription: isPlusSubscription,
Expand All @@ -729,7 +731,7 @@ extension WebSocketServer {
do {
let jsonData = try JSONEncoder().encode(macInfo)
if var jsonDict = try JSONSerialization.jsonObject(with: jsonData) as? [String: Any] {
jsonDict["model"] = exactDeviceName
jsonDict["model"] = modelId
jsonDict["type"] = categoryType
jsonDict["isPlus"] = isPlusSubscription

Expand Down
4 changes: 2 additions & 2 deletions airsync-mac/Core/WebSocket/WebSocketServer+Outgoing.swift
Original file line number Diff line number Diff line change
Expand Up @@ -151,8 +151,8 @@ extension WebSocketServer {
"isPlaying": musicInfo.isPlaying ?? false,
"title": musicInfo.title ?? "",
"artist": musicInfo.artist ?? "",
"volume": 50,
"isMuted": false,
"volume": MacRemoteManager.shared.lastVolumeLevel,
"isMuted": MacRemoteManager.shared.lastVolumeLevel == 0,
"likeStatus": "none"
]

Expand Down
4 changes: 2 additions & 2 deletions airsync-mac/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<plist version="1.0">
<dict>
<key>AndroidVersion</key>
<string>2.6.0</string>
<string>3.0.0</string>
<key>CFBundleDocumentTypes</key>
<array>
<dict>
Expand Down Expand Up @@ -40,7 +40,7 @@
</dict>
</dict>
<key>ForceUpdateKey</key>
<string>004</string>
<string>005</string>
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
Expand Down
54 changes: 27 additions & 27 deletions airsync-mac/Localization/fr.json
Original file line number Diff line number Diff line change
Expand Up @@ -26,34 +26,34 @@
"status.volume": "Volume",
"media.play": "Jouer",
"media.pause": "Pause",
"settings.wiredAdb": "Wired ADB support",
"settings.wiredAdb": "Support d'ADB filaire",
"quickshare.title": "Quick Share",
"quickshare.button": "Quick Share",
"quickshare.settings.title": "Quick Share Settings",
"quickshare.settings.enabled": "Enable Quick Share",
"quickshare.settings.discoverable": "Discoverable as %@",
"quickshare.accept": "Accept",
"quickshare.decline": "Decline",
"quickshare.deviceSending": "%1$@ is sending %2$@",
"quickshare.error.protocol": "Protocol error",
"quickshare.error.crypto": "Encryption error",
"quickshare.transferError": "Transfer error with %@",
"quickshare.settings.autoAccept": "Auto accept from my device",
"quickshare.waiting_for": "Waiting for %1$@...",
"quickshare.select_device": "Select a device",
"quickshare.searching": "Searching for nearby devices...",
"quickshare.more_devices": "More devices",
"quickshare.cancel": "Cancel",
"quickshare.done": "Done",
"quickshare.sending": "Sending...",
"quickshare.receiving": "Receiving...",
"quickshare.confirm_pin": "Confirm PIN on your device",
"quickshare.finished": "Transfer Finished!",
"quickshare.failed": "Transfer Failed",
"quickshare.pin_code": "PIN: %@",
"quickshare.device_sending_files": "%1$@ is sending %2$@",
"quickshare.n_files": "%d files",
"quickshare.drop.send_to": "Send to %@",
"quickshare.drop.pick_device": "Pick a device to send",
"quickshare.settings.title": "Paramètres de Quick Share",
"quickshare.settings.enabled": "Activer Quick Share",
"quickshare.settings.discoverable": "Détectable en tant que %@",
"quickshare.accept": "Accepter",
"quickshare.decline": "Refuser",
"quickshare.deviceSending": "%1$@ envoie %2$@",
"quickshare.error.protocol": "Erreur de protocole",
"quickshare.error.crypto": "Erreur de chiffrement",
"quickshare.transferError": "Erreur du transfert avec %@",
"quickshare.settings.autoAccept": "Accepter automatiquement de mon appareil",
"quickshare.waiting_for": "En attente de %1$@...",
"quickshare.select_device": "Sélectionnez un appareil",
"quickshare.searching": "Recherche d'appareils à proximité...",
"quickshare.more_devices": "Plus d'appareils",
"quickshare.cancel": "Annuler",
"quickshare.done": "Confirmer",
"quickshare.sending": "Envoi...",
"quickshare.receiving": "Réception...",
"quickshare.confirm_pin": "Confirmez le PIN sur votre appareil",
"quickshare.finished": "Transfert terminé !",
"quickshare.failed": "Transfert échoué",
"quickshare.pin_code": "PIN : %@",
"quickshare.device_sending_files": "%1$@ envoie %2$@",
"quickshare.n_files": "%d fichiers",
"quickshare.drop.send_to": "Envoyer à %@",
"quickshare.drop.pick_device": "Choisissez un appareil auquel envoyer",
"settings.quickshare": "Quick Share"
}
1 change: 1 addition & 0 deletions airsync-mac/Model/MacInfo.swift
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import Foundation

struct MacInfo: Codable {
let name: String
let modelIdentifier: String
let categoryType: String
let exactDeviceName: String
let isPlusSubscription: Bool
Expand Down