rn-system-bar 3.2.0 → 3.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -590,49 +590,75 @@ class SystemBarModule(
590
590
  appCastState = "scanning"
591
591
  discoveredRoutes.clear()
592
592
 
593
- val cb = object : android.media.MediaRouter.Callback() {
594
- override fun onRouteAdded(router: android.media.MediaRouter, route: android.media.MediaRouter.RouteInfo) {
595
- // Skip the default phone speaker / earpiece
596
- if (route.isDefault) return
597
- val id = routeId(route)
598
- discoveredRoutes[id] = route
599
- emitAppCastChange()
600
- }
601
- override fun onRouteRemoved(router: android.media.MediaRouter, route: android.media.MediaRouter.RouteInfo) {
602
- discoveredRoutes.remove(routeId(route))
603
- if (connectedRoute?.let { routeId(it) } == routeId(route)) {
604
- connectedRoute = null
605
- appCastState = "idle"
606
- }
607
- emitAppCastChange()
608
- }
609
- override fun onRouteChanged(router: android.media.MediaRouter, route: android.media.MediaRouter.RouteInfo) {
610
- val id = routeId(route)
611
- if (!route.isDefault) discoveredRoutes[id] = route
612
- emitAppCastChange()
613
- }
614
- override fun onRouteSelected(router: android.media.MediaRouter, type: Int, route: android.media.MediaRouter.RouteInfo) {
615
- if (route.isDefault) return
616
- connectedRoute = route
617
- appCastState = "connected"
618
- emitAppCastChange()
619
- }
620
- override fun onRouteUnselected(router: android.media.MediaRouter, type: Int, route: android.media.MediaRouter.RouteInfo) {
621
- if (appCastState != "idle") {
622
- connectedRoute = null
623
- appCastState = "idle"
624
- emitAppCastChange()
625
- }
626
- }
593
+ val cb = object : android.media.MediaRouter.Callback() {
594
+
595
+ private fun android.media.MediaRouter.RouteInfo.isDefaultRoute(): Boolean =
596
+ (supportedTypes and android.media.MediaRouter.ROUTE_TYPE_LIVE_AUDIO) != 0 &&
597
+ name?.toString()?.lowercase()?.contains("phone") == true
598
+
599
+ override fun onRouteAdded(router: android.media.MediaRouter, route: android.media.MediaRouter.RouteInfo) {
600
+ if (route.isDefaultRoute()) return
601
+ val id = routeId(route)
602
+ discoveredRoutes[id] = route
603
+ emitAppCastChange()
604
+ }
605
+
606
+ override fun onRouteRemoved(router: android.media.MediaRouter, route: android.media.MediaRouter.RouteInfo) {
607
+ discoveredRoutes.remove(routeId(route))
608
+ if (connectedRoute?.let { routeId(it) } == routeId(route)) {
609
+ connectedRoute = null
610
+ appCastState = "idle"
611
+ }
612
+ emitAppCastChange()
613
+ }
614
+
615
+ override fun onRouteChanged(router: android.media.MediaRouter, route: android.media.MediaRouter.RouteInfo) {
616
+ val id = routeId(route)
617
+ if (!route.isDefaultRoute()) discoveredRoutes[id] = route
618
+ emitAppCastChange()
619
+ }
620
+
621
+ override fun onRouteSelected(router: android.media.MediaRouter, type: Int, route: android.media.MediaRouter.RouteInfo) {
622
+ if (route.isDefaultRoute()) return
623
+ connectedRoute = route
624
+ appCastState = "connected"
625
+ emitAppCastChange()
626
+ }
627
+
628
+ override fun onRouteUnselected(router: android.media.MediaRouter, type: Int, route: android.media.MediaRouter.RouteInfo) {
629
+ if (appCastState != "idle") {
630
+ connectedRoute = null
631
+ appCastState = "idle"
632
+ emitAppCastChange()
627
633
  }
634
+ }
628
635
 
636
+ // ── Required abstract stubs ──────────────────────────────────────────
637
+ override fun onRouteGrouped(
638
+ router: android.media.MediaRouter,
639
+ route: android.media.MediaRouter.RouteInfo,
640
+ group: android.media.MediaRouter.RouteGroup,
641
+ index: Int
642
+ ) {}
643
+
644
+ override fun onRouteUngrouped(
645
+ router: android.media.MediaRouter,
646
+ route: android.media.MediaRouter.RouteInfo,
647
+ group: android.media.MediaRouter.RouteGroup
648
+ ) {}
649
+
650
+ override fun onRouteVolumeChanged(
651
+ router: android.media.MediaRouter,
652
+ route: android.media.MediaRouter.RouteInfo
653
+ ) {}
654
+ }
629
655
  appCastCallback = cb
630
656
  mainHandler.post {
631
657
  mediaRouter.addCallback(
632
658
  android.media.MediaRouter.ROUTE_TYPE_LIVE_VIDEO,
633
659
  cb,
634
- android.media.MediaRouter.CALLBACK_FLAG_REQUEST_DISCOVERY or
635
- android.media.MediaRouter.CALLBACK_FLAG_PERFORM_ACTIVE_SCAN
660
+ android.media.MediaRouter.CALLBACK_FLAG_REQUEST_DISCOVERY.toInt() or
661
+ android.media.MediaRouter.CALLBACK_FLAG_PERFORM_ACTIVE_SCAN.toInt()
636
662
  )
637
663
  }
638
664
  emitAppCastChange()
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rn-system-bar",
3
- "version": "3.2.0",
3
+ "version": "3.2.1",
4
4
  "description": "Control Android & iOS system bars, brightness, volume, orientation and screen flags from React Native.",
5
5
  "main": "lib/index.js",
6
6
  "react-native": "lib/index.js",