chore: fix android build and player controls slider layout builder exception

This commit is contained in:
Kingkor Roy Tirtho 2024-12-24 20:19:10 +06:00
parent db3aaa4b83
commit e2143a0625
4 changed files with 70 additions and 32 deletions

View File

@ -106,3 +106,22 @@ extension ScreenBreakpoints on MediaQueryData {
bool get lgAndDown => isXs || isSm || isMd || isLg; bool get lgAndDown => isXs || isSm || isMd || isLg;
bool get xlAndDown => isXs || isSm || isMd || isLg || isXl; bool get xlAndDown => isXs || isSm || isMd || isLg || isXl;
} }
extension SizeBreakpoints on Size {
bool get isXs => width <= Breakpoints.xs;
bool get isSm => width > Breakpoints.xs && width <= Breakpoints.sm;
bool get isMd => width > Breakpoints.sm && width <= Breakpoints.md;
bool get isLg => width > Breakpoints.md && width <= Breakpoints.lg;
bool get isXl => width > Breakpoints.lg && width <= Breakpoints.xl;
bool get is2Xl => width > Breakpoints.xl;
bool get smAndUp => isSm || isMd || isLg || isXl || is2Xl;
bool get mdAndUp => isMd || isLg || isXl || is2Xl;
bool get lgAndUp => isLg || isXl || is2Xl;
bool get xlAndUp => isXl || is2Xl;
bool get smAndDown => isXs || isSm;
bool get mdAndDown => isXs || isSm || isMd;
bool get lgAndDown => isXs || isSm || isMd || isLg;
bool get xlAndDown => isXs || isSm || isMd || isLg || isXl;
}

View File

@ -7,6 +7,7 @@ import 'package:shadcn_flutter/shadcn_flutter.dart' hide ThemeData;
import 'package:spotube/collections/spotube_icons.dart'; import 'package:spotube/collections/spotube_icons.dart';
import 'package:spotube/collections/intents.dart'; import 'package:spotube/collections/intents.dart';
import 'package:spotube/extensions/constrains.dart';
import 'package:spotube/extensions/context.dart'; import 'package:spotube/extensions/context.dart';
import 'package:spotube/extensions/duration.dart'; import 'package:spotube/extensions/duration.dart';
import 'package:spotube/modules/player/use_progress.dart'; import 'package:spotube/modules/player/use_progress.dart';
@ -65,6 +66,8 @@ class PlayerControls extends HookConsumerWidget {
if (!compact) if (!compact)
HookBuilder( HookBuilder(
builder: (context) { builder: (context) {
final mediaQuery = MediaQuery.sizeOf(context);
final ( final (
:bufferProgress, :bufferProgress,
:duration, :duration,
@ -85,23 +88,27 @@ class PlayerControls extends HookConsumerWidget {
children: [ children: [
Tooltip( Tooltip(
tooltip: TooltipContainer( tooltip: TooltipContainer(
child: Text(context.l10n.slide_to_seek)), child: Text(context.l10n.slide_to_seek),
child: Slider( ),
value: child: SizedBox(
SliderValue.single(progress.value.toDouble()), width: mediaQuery.xlAndUp ? 600 : 500,
onChanged: isFetchingActiveTrack child: Slider(
? null value:
: (v) { SliderValue.single(progress.value.toDouble()),
progress.value = v.value; onChanged: isFetchingActiveTrack
}, ? null
onChangeEnd: (value) async { : (v) {
await audioPlayer.seek( progress.value = v.value;
Duration( },
seconds: (value.value * duration.inSeconds) onChangeEnd: (value) async {
.toInt(), await audioPlayer.seek(
), Duration(
); seconds: (value.value * duration.inSeconds)
}, .toInt(),
),
);
},
),
), ),
), ),
Padding( Padding(

View File

@ -159,12 +159,13 @@ packages:
source: hosted source: hosted
version: "5.1.10" version: "5.1.10"
bonsoir_android: bonsoir_android:
dependency: transitive dependency: "direct overridden"
description: description:
name: bonsoir_android path: "packages/bonsoir_android"
sha256: a72d83a78780c1f238e3178d0585e5604fbd9f2503206293737cdfab899ce8d0 ref: HEAD
url: "https://pub.dev" resolved-ref: aa5604628ba41e3a7153769f4465a3d375488f2e
source: hosted url: "https://github.com/KRTirtho/Bonsoir.git"
source: git
version: "5.1.5" version: "5.1.5"
bonsoir_darwin: bonsoir_darwin:
dependency: transitive dependency: transitive
@ -514,10 +515,11 @@ packages:
disable_battery_optimization: disable_battery_optimization:
dependency: "direct main" dependency: "direct main"
description: description:
name: disable_battery_optimization path: "."
sha256: "6b2ba802f984af141faf1b6b5fb956d5ef01f9cd555597c35b9cc335a03185ba" ref: HEAD
url: "https://pub.dev" resolved-ref: aa77a61946849fff495091fc13dcc390948cc60b
source: hosted url: "https://github.com/KRTirtho/Disable-Battery-Optimizations.git"
source: git
version: "1.1.1" version: "1.1.1"
draggable_scrollbar: draggable_scrollbar:
dependency: "direct main" dependency: "direct main"
@ -1952,10 +1954,11 @@ packages:
shadcn_flutter: shadcn_flutter:
dependency: "direct main" dependency: "direct main"
description: description:
name: shadcn_flutter path: "."
sha256: "2b58f6ee6d15defd8d07aa1e82077c85455ddc68047368994c562006c2338ec2" ref: "5359958464a57235f0f34c43a4623356a32459a0"
url: "https://pub.dev" resolved-ref: "5359958464a57235f0f34c43a4623356a32459a0"
source: hosted url: "https://github.com/KRTirtho/shadcn_flutter.git"
source: git
version: "0.0.24" version: "0.0.24"
shared_preferences: shared_preferences:
dependency: "direct main" dependency: "direct main"

View File

@ -30,7 +30,9 @@ dependencies:
url: https://github.com/KRTirtho/flutter-plugins.git url: https://github.com/KRTirtho/flutter-plugins.git
device_info_plus: ^11.1.1 device_info_plus: ^11.1.1
dio: ^5.4.3+1 dio: ^5.4.3+1
disable_battery_optimization: ^1.1.1 disable_battery_optimization:
git:
url: https://github.com/KRTirtho/Disable-Battery-Optimizations.git
draggable_scrollbar: draggable_scrollbar:
git: git:
ref: cfd570035bf393de541d32e9b28808b5d7e602df ref: cfd570035bf393de541d32e9b28808b5d7e602df
@ -98,7 +100,10 @@ dependencies:
ref: dart-3-support ref: dart-3-support
url: https://github.com/KRTirtho/scrobblenaut.git url: https://github.com/KRTirtho/scrobblenaut.git
scroll_to_index: ^3.0.1 scroll_to_index: ^3.0.1
shadcn_flutter: ^0.0.24 shadcn_flutter:
git:
url: https://github.com/KRTirtho/shadcn_flutter.git
ref: 5359958464a57235f0f34c43a4623356a32459a0
shared_preferences: ^2.2.3 shared_preferences: ^2.2.3
shelf: ^1.4.1 shelf: ^1.4.1
shelf_router: ^1.1.4 shelf_router: ^1.1.4
@ -149,6 +154,10 @@ dev_dependencies:
drift_dev: ^2.21.0 drift_dev: ^2.21.0
dependency_overrides: dependency_overrides:
bonsoir_android:
git:
url: https://github.com/KRTirtho/Bonsoir.git
path: packages/bonsoir_android
web: ^1.1.0 web: ^1.1.0
meta: 1.16.0 meta: 1.16.0