Skip to content

Repository files navigation

NeoMotion 💫

API Android 16 Ready Compose JitPack

NeoMotion — Android 16 motion library

NeoMotion is a modular, production-ready Jetpack Compose library that implements advanced, platform-aligned interaction patterns for Modern Android (specifically targeting Android 16 / API 36).

Instead of reinventing the wheel, NeoMotion wraps real, stable platform APIs into clean Compose-first interfaces with a premium, high-end aesthetic.


🚀 Features

1. morphback — Real-time Predictive Back Morphing

Android 16 enforces Predictive Back. MorphBackBox intercepts the system back gesture and translates it into a real-time SeekableTransitionState progress value (0f to 1f).

  • Bind gesture progress directly to scale, rotation, blur, and alpha.
  • Perfect for Card-to-Detail Shared Element transitions.
  • Fully compatible with Compose Navigation 2.8.0+.

2. livejourney — Promoted Live Updates

A complete wrapper around Android 16's new Notification.ProgressStyle.

  • Experience Android 16 Live Updates: Promotes ongoing actions (uploads, rides, deployments) to the Lock Screen chip, Status Bar pill, and top of the notification shade.
  • Dynamic Pacing: Realistic simulation of deployment stages (Scanning, Uploading, Verifying, Deploying).
  • Graceful Fallback: Automatically degrades to standard determinate progress notifications for APIs 26–35.
  • Permission Safe: Built-in handling for the mandatory POST_NOTIFICATIONS runtime requirement.

3. adaptivemotion — Fold-Aware Behaviors

Utilities for WindowInfoTracker and WindowWidthSizeClass.

  • DevicePosture state flow (Tabletop, LargeScreen, Normal) to effortlessly adapt layouts when users fold or unfold their devices.

4. Premium Iconography & UX

  • 3D Glassmorphism Launcher Icon: A state-of-the-art launcher experience.
  • Neon Glowing UI: Custom-crafted neon icons optimized for modern dark themes.

📦 Modules & Installation

NeoMotion is highly modular. You only include what you need.

Step 1: Add JitPack to your settings.gradle.kts:

dependencyResolutionManagement {
    repositories {
        google()
        mavenCentral()
        maven { url = uri("https://jitpack.io") }
    }
}

Step 2: Add the modules you need to your build.gradle.kts:

dependencies {
    // Shared motion math, interpolators, and haptics
    implementation("com.github.Ansarii.neomotion:core:1.0.0")
    
    // Predictive back morphing transitions
    implementation("com.github.Ansarii.neomotion:morphback:1.0.0")
    
    // API 36 Notification.ProgressStyle wrappers
    implementation("com.github.Ansarii.neomotion:livejourney:1.0.0")
    
    // Foldable and adaptive layout utilities
    implementation("com.github.Ansarii.neomotion:adaptivemotion:1.0.0")
}

🎮 The Demo App & Playground

Check out the :demo-app module to see these features in action. It includes:

  1. Feed list to detail Shared Element transition that unwinds realistically as you swipe back.
  2. A Live Journey Simulation: A 30-second realistic deployment journey showing in-app progress perfectly synced to a system notification (Lock screen & Status Bar).
  3. Identity & Playground: Real-world entry points for biometric login patterns and gesture tuning sandbox.

🏗 Architecture

NeoMotion follows a strict MVVM Model:

  • Presentation Layer: Lean Composables (MorphBackBox). No complex UI state calculations.
  • Domain Layer: Pure Kotlin mathematics (NeoInterpolators) handling gesture commits, cancel thresholds, and visual lerping.
  • Infrastructure Layer: LiveJourneyNotificationManager abstracts away SDK_INT version checks and ProgressStyle implementation securely.

✦ Crafted by Neon Innovation Lab

Pioneering next-gen Android experiences.

📝 License

Apache License 2.0

About

Production-ready Jetpack Compose library for Android 16 interaction patterns — Predictive Back, Live Notifications, Fold-Aware layouts

Resources

Contributing

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages