Skip to content

Commit

Permalink
General Updates (#293)
Browse files Browse the repository at this point in the history
  • Loading branch information
bdlukaa authored Nov 21, 2024
2 parents 4a48ef5 + 99c0fea commit 574da3a
Show file tree
Hide file tree
Showing 35 changed files with 395 additions and 290 deletions.
1 change: 0 additions & 1 deletion lib/api/api_helpers.dart
Original file line number Diff line number Diff line change
Expand Up @@ -153,7 +153,6 @@ class DevHttpOverrides extends HttpOverrides {
static Future<void> configureCertificates({
bool? allowUntrustedCertificates,
}) async {
ServersProvider.instance = ServersProvider.dump();
// SettingsProvider.ensureInitialized();
HttpOverrides.global = DevHttpOverrides()
..allowUntrustedCertificates = allowUntrustedCertificates ?? true;
Expand Down
11 changes: 11 additions & 0 deletions lib/l10n/app_en.arb
Original file line number Diff line number Diff line change
Expand Up @@ -201,6 +201,7 @@
"invalidResponse": "Invalid response received from the server",
"cameraOptions": "Options",
"showFullscreenCamera": "Show in fullscreen",
"exitFullscreen": "Exit fullscreen",
"openInANewWindow": "Open in a new window",
"enableAudio": "Enable audio",
"disableAudio": "Disable audio",
Expand Down Expand Up @@ -277,6 +278,16 @@
}
},
"switchToNext": "Switch to next",
"unlockLayout": "Unlock layout",
"lockLayout": "Lock layout",
"layoutVolume": "Layout Volume • {volume}%",
"@layoutVolume": {
"placeholders": {
"volume": {
"type": "int"
}
}
},
"@Downloads": {},
"downloads": "Downloads",
"download": "Download",
Expand Down
13 changes: 12 additions & 1 deletion lib/l10n/app_fr.arb
Original file line number Diff line number Diff line change
Expand Up @@ -191,6 +191,7 @@
"invalidResponse": "Réponse invalide reçu du serveur",
"cameraOptions": "Options",
"showFullscreenCamera": "Montrer en plein écran",
"exitFullscreen": "Exit fullscreen",
"openInANewWindow": "Ouvrir dans une nouvelle fenêtre",
"enableAudio": "Activer l'audio",
"disableAudio": "Désactiver l'audio",
Expand Down Expand Up @@ -267,6 +268,16 @@
}
},
"switchToNext": "Passer au suivant",
"unlockLayout": "Unlock layout",
"lockLayout": "Lock layout",
"layoutVolume": "Layout Volume • {volume}%",
"@layoutVolume": {
"placeholders": {
"volume": {
"type": "int"
}
}
},
"@Downloads": {},
"downloads": "Téléchargements",
"download": "Télécharger",
Expand Down Expand Up @@ -662,4 +673,4 @@
"@@@Updates and Help": {},
"help": "Aide",
"licenses": "Licenses"
}
}
11 changes: 11 additions & 0 deletions lib/l10n/app_pl.arb
Original file line number Diff line number Diff line change
Expand Up @@ -201,6 +201,7 @@
"invalidResponse": "Odebrano nieprawidłową odpowiedź z serwera",
"cameraOptions": "Opcje",
"showFullscreenCamera": "Pokaż na pełnym ekranie",
"exitFullscreen": "Exit fullscreen",
"openInANewWindow": "Otwórz w nowym oknie",
"enableAudio": "Włącz dźwięk",
"disableAudio": "Wyłącz dźwięk",
Expand Down Expand Up @@ -277,6 +278,16 @@
}
},
"switchToNext": "Switch to next",
"unlockLayout": "Unlock layout",
"lockLayout": "Lock layout",
"layoutVolume": "Layout Volume • {volume}%",
"@layoutVolume": {
"placeholders": {
"volume": {
"type": "int"
}
}
},
"@Downloads": {},
"downloads": "Pobrania",
"download": "Pobierz",
Expand Down
11 changes: 11 additions & 0 deletions lib/l10n/app_pt.arb
Original file line number Diff line number Diff line change
Expand Up @@ -201,6 +201,7 @@
"invalidResponse": "Resposta inválida recebida do servidor",
"cameraOptions": "Opções",
"showFullscreenCamera": "Ver em tela cheia",
"exitFullscreen": "Exit fullscreen",
"openInANewWindow": "Abrir em nova janela",
"enableAudio": "Ativar audio",
"disableAudio": "Desativar audio",
Expand Down Expand Up @@ -277,6 +278,16 @@
}
},
"switchToNext": "Ir para o próximo",
"unlockLayout": "Desbloquear layout",
"lockLayout": "Bloquear layout",
"layoutVolume": "Volume • {volume}%",
"@layoutVolume": {
"placeholders": {
"volume": {
"type": "int"
}
}
},
"@Downloads": {},
"downloads": "Downloads",
"download": "Baixar",
Expand Down
14 changes: 7 additions & 7 deletions lib/main.dart
Original file line number Diff line number Diff line change
Expand Up @@ -26,10 +26,10 @@ import 'package:bluecherry_client/firebase_messaging_background_handler.dart';
import 'package:bluecherry_client/models/device.dart';
import 'package:bluecherry_client/models/event.dart';
import 'package:bluecherry_client/models/server.dart';
import 'package:bluecherry_client/providers/desktop_view_provider.dart';
import 'package:bluecherry_client/providers/downloads_provider.dart';
import 'package:bluecherry_client/providers/events_provider.dart';
import 'package:bluecherry_client/providers/home_provider.dart';
import 'package:bluecherry_client/providers/layouts_provider.dart';
import 'package:bluecherry_client/providers/mobile_view_provider.dart';
import 'package:bluecherry_client/providers/server_provider.dart';
import 'package:bluecherry_client/providers/settings_provider.dart';
Expand Down Expand Up @@ -78,9 +78,9 @@ Future<void> main(List<String> args) async {

await app_links.handleArgs(
args,
onSplashScreen: () async {
onSplashScreen: (isFullscreen) async {
if (isDesktopPlatform) {
await configureWindow();
await configureWindow(fullscreen: isFullscreen);
if (canLaunchAtStartup) setupLaunchAtStartup();
if (canUseSystemTray) setupSystemTray();

Expand All @@ -98,7 +98,7 @@ Future<void> main(List<String> args) async {
API.initialize();
await UnityVideoPlayerInterface.instance.initialize();

logging.writeLogToFile('Opening app with $args');
logging.writeLogToFile('Opening app with $args', print: true);
logging.writeLogToFile(
'Running on ${UnityVideoPlayerInterface.instance.runtimeType} video playback',
print: true,
Expand All @@ -112,7 +112,7 @@ Future<void> main(List<String> args) async {
await ServersProvider.ensureInitialized();
await DownloadsManager.ensureInitialized();
await MobileViewProvider.ensureInitialized();
await DesktopViewProvider.ensureInitialized();
await LayoutsProvider.ensureInitialized();
await UpdateManager.ensureInitialized();
await EventsProvider.ensureInitialized();
},
Expand Down Expand Up @@ -311,8 +311,8 @@ class _UnityAppState extends State<UnityApp>
ChangeNotifierProvider<SettingsProvider>.value(
value: SettingsProvider.instance,
),
ChangeNotifierProvider<DesktopViewProvider>.value(
value: DesktopViewProvider.instance,
ChangeNotifierProvider<LayoutsProvider>.value(
value: LayoutsProvider.instance,
),
ChangeNotifierProvider<DownloadsManager>.value(
value: DownloadsManager.instance,
Expand Down
13 changes: 12 additions & 1 deletion lib/models/device.dart
Original file line number Diff line number Diff line change
Expand Up @@ -120,9 +120,20 @@ class Device {
///
/// This volume is restored every time the app opens and is applied to the
/// respective video player.
double volume = defaultVolume;
double _volume = defaultVolume;
static double get defaultVolume =>
SettingsProvider.instance.kInitialDevicesVolume.value;
double get volume => _volume;
set volume(double value) {
if (value < 0.0 || value > 1.0) {
throw ArgumentError.value(
value,
'volume',
'Volume must be between 0.0 and 1.0',
);
}
_volume = value.clamp(0.0, 1.0);
}

/// Creates a device.
Device({
Expand Down
15 changes: 13 additions & 2 deletions lib/models/layout.dart
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,11 @@ import 'dart:io';

import 'package:bluecherry_client/models/device.dart';
import 'package:bluecherry_client/models/server.dart';
import 'package:bluecherry_client/providers/desktop_view_provider.dart';
import 'package:bluecherry_client/providers/layouts_provider.dart';
import 'package:bluecherry_client/providers/server_provider.dart';
import 'package:bluecherry_client/providers/update_provider.dart';
import 'package:bluecherry_client/utils/methods.dart';
import 'package:bluecherry_client/utils/video_player.dart';
import 'package:collection/collection.dart';
import 'package:file_picker/file_picker.dart';
import 'package:xml/xml.dart';
Expand Down Expand Up @@ -220,7 +221,7 @@ class Layout {
}
}();

if (DesktopViewProvider.instance.layouts.any((l) => l.name == name)) {
if (LayoutsProvider.instance.layouts.any((l) => l.name == name)) {
name = '${name}_imported';
}

Expand Down Expand Up @@ -252,6 +253,16 @@ class Layout {

return layout;
}

Future<void> setVolume(double volume) async {
for (final device in devices) {
final player = UnityPlayers.players[device.uuid];
if (player != null) {
await player.setVolume(volume);
device.volume = volume;
}
}
}
}

class DeviceServerNotFound extends Error {
Expand Down
6 changes: 3 additions & 3 deletions lib/providers/home_provider.dart
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
*/

import 'package:bluecherry_client/main.dart';
import 'package:bluecherry_client/providers/desktop_view_provider.dart';
import 'package:bluecherry_client/providers/layouts_provider.dart';
import 'package:bluecherry_client/providers/server_provider.dart';
import 'package:bluecherry_client/providers/settings_provider.dart';
import 'package:bluecherry_client/providers/update_provider.dart';
Expand Down Expand Up @@ -63,7 +63,7 @@ enum UnityTab {

String locale(BuildContext context) {
final loc = AppLocalizations.of(context);
final layout = context.watch<DesktopViewProvider>().currentLayout;
final layout = context.watch<LayoutsProvider>().currentLayout;

var title = switch (this) {
UnityTab.deviceGrid => loc.screens(layout.name),
Expand Down Expand Up @@ -138,7 +138,7 @@ class HomeProvider extends ChangeNotifier {
// If we're moving out of the device grid tab, we should not be able to
// hear the live feed anymore.

final devices = DesktopViewProvider.instance.allDevices;
final devices = LayoutsProvider.instance.allDevices;
final players = UnityPlayers.players.entries
.where((entry) => devices.any((device) => device.uuid == entry.key))
.toList();
Expand Down
Loading

0 comments on commit 574da3a

Please sign in to comment.