Skip to content

Ytdl #54

Closed
SunnyVishnu3 wants to merge 8 commits into
Riteshp2001:masterfrom
SunnyVishnu3:ytdl
Closed

Ytdl #54
SunnyVishnu3 wants to merge 8 commits into
Riteshp2001:masterfrom
SunnyVishnu3:ytdl

Conversation

@SunnyVishnu3
Copy link
Copy Markdown

No description provided.

Riteshp2001 and others added 8 commits May 19, 2026 14:52
Phase 1 - Theme Foundation:
- Add ExperimentalMaterial3ExpressiveApi opt-in to build.gradle.kts
- Create Shapes.kt with 8-level expressive shape scale (4dp-48dp)
  + Asymmetric expressive shapes (expressiveStart, expressiveEnd, expressiveTop)
- Create Motion.kt with spring-based animation system
  + MotionPolicy with reduce-motion support
  + AppMotion.Spatial (Expressive, Standard, Snappy) for Float/Dp/IntSize
  + AppMotion.Effect (Color, Alpha) for non-overshooting transitions
  + ElevationTokens Level0-Level5
- Add EmphasizedTypography to Type.kt with heavier font weights
- Update Theme.kt to use MaterialExpressiveTheme
  + MotionScheme.expressive() for built-in expressive motion
  + CompositionLocalProvider for LocalMotionPolicy, LocalEmphasizedTypography
  + AppShapes for expressive shape scale

Phase 3 - Expressive Component Library:
- ExpressiveCard/OutlinedCard/ElevatedCard with spring-animated scale
  + Press: 0.98x, Selected: 1.02x, Default: 1.0x
- ExpressiveSwitch with thumb morphing (16dp -> 24dp)
  + Spring-animated thumb size, position, icon scale
  + Track color transitions with effect springs
- ExpressiveIconButton/CompactExpressiveIconButton with bouncy press scale
- AnimatedSection with expand/collapse and spring-animated chevron rotation
- SectionHeader with optional leading icon, count, and expand toggle
- MorphingShape for animated corner radius transitions
Browser Cards:
- VideoCard: Add spring-animated press scale (0.98x), use AppShapeScale tokens
- FolderCard: Add spring-animated press scale (0.98x), use AppShapeScale tokens
- Replace RoundedCornerShape literals with AppShapeScale (extraSmall, small, medium, large, full)

MainScreen:
- Replace tween animations with spring-based AppMotion specs in buildNavTransition
- Update navigation bar clip to use AppShapeScale.extraLargeIncreased
- Use spring animations for nav bar enter/exit transitions

AmbientSheet:
- Replace SectionLabel with expressive SectionHeader (expandable)
- Replace FilledTonalButton preset buttons with ExpressivePresetButton (scale animation)
- Add AnimatedVisibility with spring expand/shrink for each section
- Update AmbientModeButton with spring scale animation on selection
…ce tweens with springs

Phase 4 - Expressive Components Applied:
- NetworkVideoCard: Add spring press scale (0.98x), use AppShapeScale tokens
- NetworkFolderCard: Add spring press scale (0.98x), use AppShapeScale tokens
- NetworkConnectionCard: Add spring press scale, expressive shape (large)
- PlaylistCard: Use AppShapeScale.small for chip shapes
- MoreSheet: Use AppShapeScale.extraLarge for TimePickerDialog surface

Phase 5 - Replace tween with AppMotion spring specs:
- CustomPlayerIcons: Replace all 6 tween(260ms) with expressive springs for play/pause morph
- Seekbar: Replace tween animations with springs for:
  + Animated position smoothing (Standard spring)
  + Wavy seekbar thumb visibility (Effect/Alpha spring)
  + Wave height transitions (Expressive spring)
  + Slim seekbar track height (Expressive spring)
  + Chapter gap animation (Standard spring)
  + Standard seekbar wave animation (Expressive spring)
- SlideToUnlock: Replace snap-back tweens with expressive springs, Crossfade with standard spring
- GestureHandler: Replace double-tap scale tween with expressive spring, MovingChevron with standard spring

All animations now use spring-based specs matching M3 Expressive feel.
# Conflicts:
#	app/src/main/java/app/gyrolet/mpvrx/ui/browser/cards/FolderCard.kt
#	app/src/main/java/app/gyrolet/mpvrx/ui/browser/cards/NetworkFolderCard.kt
#	app/src/main/java/app/gyrolet/mpvrx/ui/browser/cards/NetworkVideoCard.kt
#	app/src/main/java/app/gyrolet/mpvrx/ui/browser/cards/VideoCard.kt
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants