react-native-audio-browser 0.2.0-next.4 → 0.2.0-next.6

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.
Files changed (58) hide show
  1. package/android/src/main/java/com/audiobrowser/model/PlayerUpdateOptions.kt +11 -11
  2. package/android/src/main/java/com/audiobrowser/player/CapabilityControls.kt +111 -58
  3. package/android/src/main/java/com/audiobrowser/player/MediaSessionCallback.kt +9 -5
  4. package/android/src/main/java/com/audiobrowser/player/MediaSessionCommandManager.kt +218 -252
  5. package/android/src/main/java/com/audiobrowser/player/Player.kt +19 -8
  6. package/android/src/test/java/com/audiobrowser/player/CapabilityControlsTest.kt +100 -56
  7. package/android/src/test/java/com/audiobrowser/player/MediaSessionSlotMappingTest.kt +45 -0
  8. package/lib/commonjs/features/player/options.js +45 -15
  9. package/lib/commonjs/features/player/options.js.map +1 -1
  10. package/lib/commonjs/features/player/setup.js +13 -6
  11. package/lib/commonjs/features/player/setup.js.map +1 -1
  12. package/lib/module/features/player/options.js +45 -15
  13. package/lib/module/features/player/options.js.map +1 -1
  14. package/lib/module/features/player/setup.js +13 -6
  15. package/lib/module/features/player/setup.js.map +1 -1
  16. package/lib/typescript/src/features/player/options.d.ts +86 -36
  17. package/lib/typescript/src/features/player/options.d.ts.map +1 -1
  18. package/lib/typescript/src/features/player/setup.d.ts +10 -3
  19. package/lib/typescript/src/features/player/setup.d.ts.map +1 -1
  20. package/nitrogen/generated/android/AudioBrowser+autolinking.cmake +1 -1
  21. package/nitrogen/generated/android/c++/JAndroidOptions.hpp +10 -10
  22. package/nitrogen/generated/android/c++/JFunc_void_Options.hpp +5 -5
  23. package/nitrogen/generated/android/c++/JHybridAudioBrowserSpec.cpp +9 -9
  24. package/nitrogen/generated/android/c++/JNativeSetupPlayerOptions.hpp +5 -5
  25. package/nitrogen/generated/android/c++/JNativeUpdateOptions.hpp +5 -5
  26. package/nitrogen/generated/android/c++/JNitroAndroidUpdateOptions.hpp +10 -10
  27. package/nitrogen/generated/android/c++/JOptions.hpp +5 -5
  28. package/nitrogen/generated/android/c++/{JNotificationButton.hpp → JRemoteButton.hpp} +19 -19
  29. package/nitrogen/generated/android/c++/JRemoteButtonLayout.hpp +86 -0
  30. package/nitrogen/generated/android/c++/JVariant_NullType_RemoteButtonLayout.cpp +26 -0
  31. package/nitrogen/generated/android/c++/JVariant_NullType_RemoteButtonLayout.hpp +75 -0
  32. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/AndroidOptions.kt +3 -3
  33. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NitroAndroidUpdateOptions.kt +3 -3
  34. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{NotificationButton.kt → RemoteButton.kt} +3 -3
  35. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/RemoteButtonLayout.kt +44 -0
  36. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{Variant_NullType_NotificationButtonLayout.kt → Variant_NullType_RemoteButtonLayout.kt} +9 -9
  37. package/nitrogen/generated/ios/AudioBrowser-Swift-Cxx-Bridge.hpp +36 -51
  38. package/nitrogen/generated/ios/AudioBrowser-Swift-Cxx-Umbrella.hpp +6 -6
  39. package/nitrogen/generated/ios/c++/HybridAudioBrowserSpecSwift.hpp +6 -6
  40. package/nitrogen/generated/ios/swift/AndroidOptions.swift +12 -12
  41. package/nitrogen/generated/ios/swift/NitroAndroidUpdateOptions.swift +12 -12
  42. package/nitrogen/generated/ios/swift/{NotificationButton.swift → RemoteButton.swift} +6 -6
  43. package/nitrogen/generated/ios/swift/RemoteButtonLayout.swift +57 -0
  44. package/nitrogen/generated/ios/swift/{Variant_NullType_NotificationButtonLayout.swift → Variant_NullType_RemoteButtonLayout.swift} +3 -3
  45. package/nitrogen/generated/shared/c++/AndroidOptions.hpp +8 -8
  46. package/nitrogen/generated/shared/c++/NitroAndroidUpdateOptions.hpp +8 -8
  47. package/nitrogen/generated/shared/c++/{NotificationButton.hpp → RemoteButton.hpp} +19 -19
  48. package/nitrogen/generated/shared/c++/RemoteButtonLayout.hpp +94 -0
  49. package/package.json +1 -1
  50. package/src/features/player/options.ts +97 -37
  51. package/src/features/player/setup.test.ts +12 -4
  52. package/src/features/player/setup.ts +14 -7
  53. package/nitrogen/generated/android/c++/JNotificationButtonLayout.hpp +0 -94
  54. package/nitrogen/generated/android/c++/JVariant_NullType_NotificationButtonLayout.cpp +0 -26
  55. package/nitrogen/generated/android/c++/JVariant_NullType_NotificationButtonLayout.hpp +0 -75
  56. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NotificationButtonLayout.kt +0 -50
  57. package/nitrogen/generated/ios/swift/NotificationButtonLayout.swift +0 -92
  58. package/nitrogen/generated/shared/c++/NotificationButtonLayout.hpp +0 -102
@@ -220,7 +220,7 @@ import { validateIOSUpdateOptions } from './options';
220
220
 
221
221
  /**
222
222
  * Android setup options: the engine-construction fields plus the Android runtime options
223
- * ({@link AndroidUpdateOptions} — `notificationButtons`, `skipSilence`, …), all expressible at
223
+ * ({@link AndroidUpdateOptions} — `remoteButtonLayout`, `skipSilence`, …), all expressible at
224
224
  * launch. The consumer never has to know which is which; `setupPlayer` routes each field to
225
225
  * where it's applied.
226
226
  */
@@ -287,7 +287,7 @@ function wrapNowPlayingFormatter(formatter) {
287
287
 
288
288
  /**
289
289
  * The object's entries whose values aren't `undefined`. `null` stays: it's meaningful on some
290
- * fields (`progressUpdateEventInterval: null` disables progress events, `notificationButtons:
290
+ * fields (`progressUpdateEventInterval: null` disables progress events, `remoteButtonLayout:
291
291
  * null` empties the layout), so only `undefined` means "not provided".
292
292
  */
293
293
  function definedFields(obj) {
@@ -308,7 +308,7 @@ function nonEmpty(key, value) {
308
308
  /**
309
309
  * Initializes the player with the specified options — the full launch description in one
310
310
  * declarative, atomic call. Runtime options (`capabilities`, jump intervals,
311
- * `notificationButtons`, …) and the initial `playWhenReady` / `repeatMode` are applied
311
+ * `remoteButtonLayout`, …) and the initial `playWhenReady` / `repeatMode` are applied
312
312
  * natively as part of setup itself, so there is no setup-then-command ordering for consumers
313
313
  * to know about, and no window where the player exists without its options.
314
314
  *
@@ -325,7 +325,14 @@ function nonEmpty(key, value) {
325
325
  * playWhenReady: true,
326
326
  * repeatMode: 'queue',
327
327
  * capabilities: { favorite: true },
328
- * android: { audioContentType: 'music', notificationButtons: { overflow: ['favorite'] } },
328
+ * android: {
329
+ * audioContentType: 'music',
330
+ * remoteButtonLayout: {
331
+ * back: 'jump-backward',
332
+ * forward: 'jump-forward',
333
+ * overflow: ['favorite']
334
+ * }
335
+ * },
329
336
  * ios: { category: 'playback' }
330
337
  * })
331
338
  * ```
@@ -348,7 +355,7 @@ export async function setupPlayer(options = {}) {
348
355
  const {
349
356
  appKilledPlaybackBehavior,
350
357
  skipSilence,
351
- notificationButtons,
358
+ remoteButtonLayout,
352
359
  ...androidSetup
353
360
  } = android;
354
361
  const {
@@ -371,7 +378,7 @@ export async function setupPlayer(options = {}) {
371
378
  ...nonEmpty('android', definedFields({
372
379
  appKilledPlaybackBehavior,
373
380
  skipSilence,
374
- notificationButtons
381
+ remoteButtonLayout
375
382
  })),
376
383
  ...nonEmpty('ios', iosUpdate)
377
384
  });
@@ -1 +1 @@
1
- {"version":3,"names":["nativeBrowser","validateIOSUpdateOptions","resolveNowPlaying","value","autoUpdateNowPlayingMetadata","nowPlayingMetadataFormatter","wrapNowPlayingFormatter","undefined","formatter","params","definedFields","obj","out","key","nonEmpty","Object","keys","length","setupPlayer","options","nowPlaying","capabilities","forwardJumpInterval","backwardJumpInterval","progressUpdateEventInterval","android","ios","nativeSetup","appKilledPlaybackBehavior","skipSilence","notificationButtons","androidSetup","playbackRates","carPlayUpNextButton","carPlayNowPlayingButtons","iosSetup","iosUpdate","updates"],"sourceRoot":"../../../../src","sources":["features/player/setup.ts"],"mappings":";;AAAA;;AAYA,SAASA,aAAa,QAAQ,cAAc;AAC5C,SAASC,wBAAwB,QAAQ,WAAW;;AAEpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAsBA;AACA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AASA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAYA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAUA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAmBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AA2BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;;AA2GA;;AA4CA;AACA;AACA;AACA;AACA;;AAgCA;;AAEA;AACA;AACA;AACA;;AAMA;AACA;AACA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","ignoreList":[]}
1
+ {"version":3,"names":["nativeBrowser","validateIOSUpdateOptions","resolveNowPlaying","value","autoUpdateNowPlayingMetadata","nowPlayingMetadataFormatter","wrapNowPlayingFormatter","undefined","formatter","params","definedFields","obj","out","key","nonEmpty","Object","keys","length","setupPlayer","options","nowPlaying","capabilities","forwardJumpInterval","backwardJumpInterval","progressUpdateEventInterval","android","ios","nativeSetup","appKilledPlaybackBehavior","skipSilence","remoteButtonLayout","androidSetup","playbackRates","carPlayUpNextButton","carPlayNowPlayingButtons","iosSetup","iosUpdate","updates"],"sourceRoot":"../../../../src","sources":["features/player/setup.ts"],"mappings":";;AAAA;;AAYA,SAASA,aAAa,QAAQ,cAAc;AAC5C,SAASC,wBAAwB,QAAQ,WAAW;;AAEpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAsBA;AACA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AASA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAYA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAUA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAmBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AA2BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;;AA2GA;;AA4CA;AACA;AACA;AACA;AACA;;AAgCA;;AAEA;AACA;AACA;AACA;;AAMA;AACA;AACA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","ignoreList":[]}
@@ -65,7 +65,8 @@ export interface PlayerCapabilities {
65
65
  *
66
66
  * Turns on the favorite/like heart across all surfaces:
67
67
  * - iOS: Control Center + CarPlay now-playing.
68
- * - Android: notification button slot + Android Auto now-playing, and an
68
+ * - Android: a place in the {@link RemoteButtonLayout} — the notification,
69
+ * Android Auto and the Android 13+ system media controls — and an
69
70
  * (empty or filled) heart on playable browse rows.
70
71
  *
71
72
  * `match` controls how the ids from `setFavorites` are
@@ -111,48 +112,77 @@ export interface PlayerCapabilities {
111
112
  playbackRate?: boolean;
112
113
  }
113
114
  /**
114
- * Buttons that can be assigned to Android notification button slots.
115
- * These represent the interactive buttons users can tap in the notification.
115
+ * Buttons that can be placed in the Android button layout — the interactive
116
+ * controls a listener taps in the notification, on the Android Auto Now Playing
117
+ * screen, and in the Android 13+ system media controls.
116
118
  */
117
- export type NotificationButton = 'skip-to-previous' | 'skip-to-next' | 'jump-backward' | 'jump-forward' | 'favorite';
119
+ export type RemoteButton = 'skip-to-previous' | 'skip-to-next' | 'jump-backward' | 'jump-forward' | 'favorite';
118
120
  /**
119
- * Configuration for notification button layout on Android.
120
- * Allows explicit control over which buttons appear in which slots.
121
+ * Where each button sits on Android.
121
122
  *
122
- * Slot behavior:
123
- * - **Omit a slot**: Derive from capabilities (smart default)
124
- * - **Set to null**: Explicitly empty slot
125
- * - **Set to button**: Show that button in that slot
123
+ * Android offers exactly three positions, and play/pause always occupies the
124
+ * centre — you cannot move it, and you cannot put two buttons on the same side
125
+ * of it:
126
+ *
127
+ * ```
128
+ * back │ ▶ play/pause │ forward overflow ⋯
129
+ * ```
130
+ *
131
+ * - **`back`** — the single position left of play/pause
132
+ * - **`forward`** — the single position right of play/pause
133
+ * - **`overflow`** — everything else, in priority order
134
+ *
135
+ * **A layout describes the whole arrangement.** All three fields are required —
136
+ * there is no per-field merge with the capability defaults, so what you write is
137
+ * exactly what renders. Use `undefined` for an empty position and `[]` for no
138
+ * overflow. To go back to the derived defaults, omit `remoteButtonLayout`
139
+ * entirely (or set it to `null`); that is the only switch.
140
+ *
141
+ * **Overflow order is priority, not coordinates.** Each surface renders as many
142
+ * buttons as it has room for, taking them from the front — a phone
143
+ * notification, the Android 13+ system media controls, and a car head unit all
144
+ * have different budgets. A head unit with a spare slot may promote the first
145
+ * overflow entry onto the main row, and a long list gets truncated by whichever
146
+ * surface is showing it. Put what matters most first.
147
+ *
148
+ * Placement never changes what a control *can* do: a button left out entirely
149
+ * still responds to a Bluetooth remote or headset, as long as its
150
+ * {@link PlayerCapabilities} entry is enabled.
126
151
  *
127
152
  * @example
128
153
  * ```typescript
129
- * // Podcast-style: jump buttons as primary
130
- * notificationButtons: {
154
+ * // Podcast-style: jump either side of play/pause
155
+ * remoteButtonLayout: {
131
156
  * back: 'jump-backward',
132
157
  * forward: 'jump-forward',
133
- * overflow: ['favorite']
158
+ * overflow: ['skip-to-previous', 'skip-to-next', 'favorite']
134
159
  * }
135
160
  *
136
- * // Music-style: skip as primary, jump as secondary
137
- * notificationButtons: {
161
+ * // Music-style: skip either side of play/pause
162
+ * remoteButtonLayout: {
138
163
  * back: 'skip-to-previous',
139
164
  * forward: 'skip-to-next',
140
- * backSecondary: 'jump-backward',
141
- * forwardSecondary: 'jump-forward'
165
+ * overflow: ['favorite']
166
+ * }
167
+ *
168
+ * // Live radio: forward only, nothing to the left
169
+ * remoteButtonLayout: {
170
+ * back: undefined,
171
+ * forward: 'skip-to-next',
172
+ * overflow: []
142
173
  * }
143
174
  * ```
144
175
  */
145
- export type NotificationButtonLayout = {
146
- /** Primary back position (SLOT_BACK) - typically previous track or jump backward */
147
- back?: NotificationButton | null;
148
- /** Primary forward position (SLOT_FORWARD) - typically next track or jump forward */
149
- forward?: NotificationButton | null;
150
- /** Secondary back position (SLOT_BACK_SECONDARY) */
151
- backSecondary?: NotificationButton | null;
152
- /** Secondary forward position (SLOT_FORWARD_SECONDARY) */
153
- forwardSecondary?: NotificationButton | null;
154
- /** Additional buttons in overflow area (SLOT_OVERFLOW) */
155
- overflow?: NotificationButton[];
176
+ export type RemoteButtonLayout = {
177
+ /** The single position left of play/pause. `undefined` leaves it empty. */
178
+ back: RemoteButton | undefined;
179
+ /** The single position right of play/pause. `undefined` leaves it empty. */
180
+ forward: RemoteButton | undefined;
181
+ /**
182
+ * Everything else, most important first — surfaces promote and truncate from
183
+ * the front. `[]` for none.
184
+ */
185
+ overflow: RemoteButton[];
156
186
  };
157
187
  /**
158
188
  * AppKilledPlaybackBehavior options:
@@ -186,11 +216,21 @@ export interface Options {
186
216
  android?: AndroidOptions;
187
217
  /**
188
218
  * Jump forward interval in seconds when using jump forward controls.
219
+ *
220
+ * On Android, an interval of exactly 5, 10, 15 or 30 seconds gets an icon
221
+ * showing that number; any other interval gets an icon without one. Other
222
+ * values are perfectly valid — the interval also sets the seek distance.
223
+ *
189
224
  * @default 15
190
225
  */
191
226
  forwardJumpInterval: number;
192
227
  /**
193
228
  * Jump backward interval in seconds when using jump backward controls.
229
+ *
230
+ * On Android, an interval of exactly 5, 10, 15 or 30 seconds gets an icon
231
+ * showing that number; any other interval gets an icon without one. Other
232
+ * values are perfectly valid — the interval also sets the seek distance.
233
+ *
194
234
  * @default 15
195
235
  */
196
236
  backwardJumpInterval: number;
@@ -245,14 +285,14 @@ export interface AndroidOptions {
245
285
  */
246
286
  skipSilence: boolean;
247
287
  /**
248
- * Slot-based button layout for Android notifications.
249
- * Provides explicit control over which buttons appear in which positions.
288
+ * Ordered button layout, applied to the notification, Android Auto, and the
289
+ * Android 13+ system media controls. See {@link RemoteButtonLayout}.
250
290
  *
251
- * When not specified, button layout is derived from capabilities.
291
+ * When not specified, the layout is derived from capabilities.
252
292
  *
253
293
  * @platform android
254
294
  */
255
- notificationButtons: NotificationButtonLayout | null;
295
+ remoteButtonLayout: RemoteButtonLayout | null;
256
296
  }
257
297
  export interface AndroidUpdateOptions {
258
298
  /**
@@ -269,14 +309,14 @@ export interface AndroidUpdateOptions {
269
309
  */
270
310
  skipSilence?: boolean;
271
311
  /**
272
- * Slot-based button layout for Android notifications.
273
- * Provides explicit control over which buttons appear in which positions.
312
+ * Ordered button layout, applied to the notification, Android Auto, and the
313
+ * Android 13+ system media controls. See {@link RemoteButtonLayout}.
274
314
  *
275
- * When not specified, button layout is derived from capabilities.
315
+ * When not specified, the layout is derived from capabilities.
276
316
  *
277
317
  * @platform android
278
318
  */
279
- notificationButtons?: NotificationButtonLayout | null;
319
+ remoteButtonLayout?: RemoteButtonLayout | null;
280
320
  }
281
321
  /**
282
322
  * iOS-specific player options that can be changed at runtime via {@link updateOptions}.
@@ -337,11 +377,21 @@ export interface UpdateOptions {
337
377
  ios?: IOSUpdateOptions;
338
378
  /**
339
379
  * Jump forward interval in seconds when using jump forward controls.
380
+ *
381
+ * On Android, an interval of exactly 5, 10, 15 or 30 seconds gets an icon
382
+ * showing that number; any other interval gets an icon without one. Other
383
+ * values are perfectly valid — the interval also sets the seek distance.
384
+ *
340
385
  * @default 15
341
386
  */
342
387
  forwardJumpInterval?: number;
343
388
  /**
344
389
  * Jump backward interval in seconds when using jump backward controls.
390
+ *
391
+ * On Android, an interval of exactly 5, 10, 15 or 30 seconds gets an icon
392
+ * showing that number; any other interval gets an icon without one. Other
393
+ * values are perfectly valid — the interval also sets the seek distance.
394
+ *
345
395
  * @default 15
346
396
  */
347
397
  backwardJumpInterval?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../../../src/features/player/options.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../../../src/features/player/options.ts"],"names":[],"mappings":"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"}
@@ -273,7 +273,7 @@ export type RetryConfig = {
273
273
  export type AndroidPlayerWakeMode = 'none' | 'local' | 'network';
274
274
  /**
275
275
  * Android setup options: the engine-construction fields plus the Android runtime options
276
- * ({@link AndroidUpdateOptions} — `notificationButtons`, `skipSilence`, …), all expressible at
276
+ * ({@link AndroidUpdateOptions} — `remoteButtonLayout`, `skipSilence`, …), all expressible at
277
277
  * launch. The consumer never has to know which is which; `setupPlayer` routes each field to
278
278
  * where it's applied.
279
279
  */
@@ -484,7 +484,7 @@ export type SetupPlayerOptions = Pick<UpdateOptions, 'capabilities' | 'forwardJu
484
484
  /**
485
485
  * Initializes the player with the specified options — the full launch description in one
486
486
  * declarative, atomic call. Runtime options (`capabilities`, jump intervals,
487
- * `notificationButtons`, …) and the initial `playWhenReady` / `repeatMode` are applied
487
+ * `remoteButtonLayout`, …) and the initial `playWhenReady` / `repeatMode` are applied
488
488
  * natively as part of setup itself, so there is no setup-then-command ordering for consumers
489
489
  * to know about, and no window where the player exists without its options.
490
490
  *
@@ -501,7 +501,14 @@ export type SetupPlayerOptions = Pick<UpdateOptions, 'capabilities' | 'forwardJu
501
501
  * playWhenReady: true,
502
502
  * repeatMode: 'queue',
503
503
  * capabilities: { favorite: true },
504
- * android: { audioContentType: 'music', notificationButtons: { overflow: ['favorite'] } },
504
+ * android: {
505
+ * audioContentType: 'music',
506
+ * remoteButtonLayout: {
507
+ * back: 'jump-backward',
508
+ * forward: 'jump-forward',
509
+ * overflow: ['favorite']
510
+ * }
511
+ * },
505
512
  * ios: { category: 'playback' }
506
513
  * })
507
514
  * ```
@@ -1 +1 @@
1
- {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../../../../src/features/player/setup.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AAC9C,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,KAAK,EACV,oBAAoB,EACpB,gBAAgB,EAEhB,aAAa,EACd,MAAM,WAAW,CAAA;AAIlB;;;;;;;;GAQG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACnC,mCAAmC;IACnC,KAAK,EAAE,KAAK,CAAA;IACZ,sFAAsF;IACtF,aAAa,CAAC,EAAE,aAAa,CAAA;IAC7B,kHAAkH;IAClH,aAAa,EAAE,OAAO,CAAA;IACtB;;;;;;;;OAQG;IACH,OAAO,CAAC,EAAE,WAAW,CAAA;IACrB,0DAA0D;IAC1D,KAAK,CAAC,EAAE,aAAa,CAAA;CACtB,CAAA;AAED;;;;GAIG;AACH,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,SAAS,CAAA;AAEjD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;AACH,MAAM,MAAM,wBAAwB,GAAG,CACrC,MAAM,EAAE,sBAAsB,KAC3B,gBAAgB,GAAG,SAAS,CAAA;AAEjC;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,MAAM,uBAAuB,GAC/B,OAAO,GACP,QAAQ,GACR,cAAc,GACd,OAAO,GACP,SAAS,CAAA;AAEb;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,MAAM,WAAW,GACnB,UAAU,GACV,eAAe,GACf,YAAY,GACZ,SAAS,GACT,aAAa,GACb,QAAQ,CAAA;AAEZ;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,MAAM,eAAe,GACvB,SAAS,GACT,UAAU,GACV,aAAa,GACb,eAAe,GACf,aAAa,GACb,WAAW,GACX,gBAAgB,GAChB,WAAW,GACX,aAAa,CAAA;AAEjB;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,MAAM,kBAAkB,GAC1B,eAAe,GACf,YAAY,GACZ,sCAAsC,GACtC,gBAAgB,GAChB,oBAAoB,GACpB,cAAc,GACd,kBAAkB,CAAA;AAEtB;;;;;;;;GAQG;AACH,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,eAAe,GAAG,eAAe,CAAA;AAE7E,MAAM,WAAW,2BAA2B;IAC1C;;;;OAIG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAEhC;;;;OAIG;IACH,yBAAyB,CAAC,EAAE,OAAO,CAAA;CACpC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IAEnB;;;;;;OAMG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAE3B;;;;;;OAMG;IACH,8BAA8B,CAAC,EAAE,MAAM,CAAA;CACxC,CAAA;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,qBAAqB,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAA;AAEhE;;;;;GAKG;AACH,MAAM,WAAW,mBAAoB,SAAQ,oBAAoB;IAC/D;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB;;;;;;;;;;;;OAYG;IACH,YAAY,CAAC,EAAE,OAAO,GAAG,2BAA2B,CAAA;IAEpD;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IAEnB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IAEnB;;;;;;;;;;;;;;;;OAgBG;IACH,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAE9B;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IAErB;;;;;;;;;OASG;IACH,gBAAgB,CAAC,EAAE,uBAAuB,CAAA;IAE1C;;;;;OAKG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAElC;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,qBAAqB,CAAA;CACjC;AAED,gFAAgF;AAChF,MAAM,WAAW,eAAgB,SAAQ,gBAAgB;IACvD;;;;;;;;;OASG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf;;;OAGG;IACH,QAAQ,CAAC,EAAE,WAAW,CAAA;IAEtB;;;;;;;;OAQG;IACH,YAAY,CAAC,EAAE,eAAe,CAAA;IAE9B;;;OAGG;IACH,eAAe,CAAC,EAAE,kBAAkB,EAAE,CAAA;IAEtC;;;OAGG;IACH,cAAc,CAAC,EAAE,iBAAiB,CAAA;CACnC;AA0DD;;;;;;GAMG;AACH,MAAM,MAAM,kBAAkB,GAAG,IAAI,CACnC,aAAa,EACX,cAAc,GACd,qBAAqB,GACrB,sBAAsB,GACtB,6BAA6B,CAChC,GAAG;IACF;;;;;;;;OAQG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;IAEvB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,UAAU,CAAA;IAEvB;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,EAAE,OAAO,GAAG,WAAW,CAAA;IAE7B;;;;;;;;;;OAUG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAA;IAEjC,yEAAyE;IACzE,OAAO,CAAC,EAAE,mBAAmB,CAAA;IAC7B,+DAA+D;IAC/D,GAAG,CAAC,EAAE,eAAe,CAAA;IACrB;;;;;;;;;;;OAWG;IACH,UAAU,CAAC,EAAE,OAAO,GAAG,wBAAwB,CAAA;CAChD,CAAA;AAiED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAsB,WAAW,CAC/B,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,IAAI,CAAC,CAyDf"}
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../../../../src/features/player/setup.ts"],"names":[],"mappings":"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"}
@@ -40,7 +40,7 @@ target_sources(
40
40
  ../nitrogen/generated/android/c++/JVariant_ResolvedTrack_BrowseError_Promise_BrowseResult_.cpp
41
41
  ../nitrogen/generated/android/c++/JBrowseResult.cpp
42
42
  ../nitrogen/generated/android/c++/JSleepTimer.cpp
43
- ../nitrogen/generated/android/c++/JVariant_NullType_NotificationButtonLayout.cpp
43
+ ../nitrogen/generated/android/c++/JVariant_NullType_RemoteButtonLayout.cpp
44
44
  ../nitrogen/generated/android/c++/JVariant_NullType_Double.cpp
45
45
  ../nitrogen/generated/android/c++/JVariant_Boolean_FavoriteConfig.cpp
46
46
  ../nitrogen/generated/android/c++/JVariant_Boolean_AndroidAudioOffloadSettings.cpp
@@ -12,11 +12,11 @@
12
12
 
13
13
  #include "AppKilledPlaybackBehavior.hpp"
14
14
  #include "JAppKilledPlaybackBehavior.hpp"
15
- #include "JNotificationButton.hpp"
16
- #include "JNotificationButtonLayout.hpp"
17
- #include "JVariant_NullType_NotificationButtonLayout.hpp"
18
- #include "NotificationButton.hpp"
19
- #include "NotificationButtonLayout.hpp"
15
+ #include "JRemoteButton.hpp"
16
+ #include "JRemoteButtonLayout.hpp"
17
+ #include "JVariant_NullType_RemoteButtonLayout.hpp"
18
+ #include "RemoteButton.hpp"
19
+ #include "RemoteButtonLayout.hpp"
20
20
  #include <NitroModules/JNull.hpp>
21
21
  #include <NitroModules/Null.hpp>
22
22
  #include <optional>
@@ -46,12 +46,12 @@ namespace margelo::nitro::audiobrowser {
46
46
  jni::local_ref<JAppKilledPlaybackBehavior> appKilledPlaybackBehavior = this->getFieldValue(fieldAppKilledPlaybackBehavior);
47
47
  static const auto fieldSkipSilence = clazz->getField<jboolean>("skipSilence");
48
48
  jboolean skipSilence = this->getFieldValue(fieldSkipSilence);
49
- static const auto fieldNotificationButtons = clazz->getField<JVariant_NullType_NotificationButtonLayout>("notificationButtons");
50
- jni::local_ref<JVariant_NullType_NotificationButtonLayout> notificationButtons = this->getFieldValue(fieldNotificationButtons);
49
+ static const auto fieldRemoteButtonLayout = clazz->getField<JVariant_NullType_RemoteButtonLayout>("remoteButtonLayout");
50
+ jni::local_ref<JVariant_NullType_RemoteButtonLayout> remoteButtonLayout = this->getFieldValue(fieldRemoteButtonLayout);
51
51
  return AndroidOptions(
52
52
  appKilledPlaybackBehavior->toCpp(),
53
53
  static_cast<bool>(skipSilence),
54
- notificationButtons != nullptr ? std::make_optional(notificationButtons->toCpp()) : std::nullopt
54
+ remoteButtonLayout != nullptr ? std::make_optional(remoteButtonLayout->toCpp()) : std::nullopt
55
55
  );
56
56
  }
57
57
 
@@ -61,14 +61,14 @@ namespace margelo::nitro::audiobrowser {
61
61
  */
62
62
  [[maybe_unused]]
63
63
  static jni::local_ref<JAndroidOptions::javaobject> fromCpp(const AndroidOptions& value) {
64
- using JSignature = JAndroidOptions(jni::alias_ref<JAppKilledPlaybackBehavior>, jboolean, jni::alias_ref<JVariant_NullType_NotificationButtonLayout>);
64
+ using JSignature = JAndroidOptions(jni::alias_ref<JAppKilledPlaybackBehavior>, jboolean, jni::alias_ref<JVariant_NullType_RemoteButtonLayout>);
65
65
  static const auto clazz = javaClassStatic();
66
66
  static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
67
67
  return create(
68
68
  clazz,
69
69
  JAppKilledPlaybackBehavior::fromCpp(value.appKilledPlaybackBehavior),
70
70
  value.skipSilence,
71
- value.notificationButtons.has_value() ? JVariant_NullType_NotificationButtonLayout::fromCpp(value.notificationButtons.value()) : nullptr
71
+ value.remoteButtonLayout.has_value() ? JVariant_NullType_RemoteButtonLayout::fromCpp(value.remoteButtonLayout.value()) : nullptr
72
72
  );
73
73
  }
74
74
  };
@@ -20,13 +20,13 @@
20
20
  #include "AppKilledPlaybackBehavior.hpp"
21
21
  #include "JAppKilledPlaybackBehavior.hpp"
22
22
  #include <NitroModules/Null.hpp>
23
- #include "NotificationButtonLayout.hpp"
23
+ #include "RemoteButtonLayout.hpp"
24
24
  #include <variant>
25
- #include "JVariant_NullType_NotificationButtonLayout.hpp"
25
+ #include "JVariant_NullType_RemoteButtonLayout.hpp"
26
26
  #include <NitroModules/JNull.hpp>
27
- #include "JNotificationButtonLayout.hpp"
28
- #include "NotificationButton.hpp"
29
- #include "JNotificationButton.hpp"
27
+ #include "JRemoteButtonLayout.hpp"
28
+ #include "RemoteButton.hpp"
29
+ #include "JRemoteButton.hpp"
30
30
  #include <vector>
31
31
  #include "JVariant_NullType_Double.hpp"
32
32
  #include "PlayerCapabilities.hpp"
@@ -127,10 +127,10 @@ namespace margelo::nitro::audiobrowser { struct Options; }
127
127
  namespace margelo::nitro::audiobrowser { struct AndroidOptions; }
128
128
  // Forward declaration of `AppKilledPlaybackBehavior` to properly resolve imports.
129
129
  namespace margelo::nitro::audiobrowser { enum class AppKilledPlaybackBehavior; }
130
- // Forward declaration of `NotificationButtonLayout` to properly resolve imports.
131
- namespace margelo::nitro::audiobrowser { struct NotificationButtonLayout; }
132
- // Forward declaration of `NotificationButton` to properly resolve imports.
133
- namespace margelo::nitro::audiobrowser { enum class NotificationButton; }
130
+ // Forward declaration of `RemoteButtonLayout` to properly resolve imports.
131
+ namespace margelo::nitro::audiobrowser { struct RemoteButtonLayout; }
132
+ // Forward declaration of `RemoteButton` to properly resolve imports.
133
+ namespace margelo::nitro::audiobrowser { enum class RemoteButton; }
134
134
  // Forward declaration of `PlayerCapabilities` to properly resolve imports.
135
135
  namespace margelo::nitro::audiobrowser { struct PlayerCapabilities; }
136
136
  // Forward declaration of `FavoriteConfig` to properly resolve imports.
@@ -370,11 +370,11 @@ namespace margelo::nitro::audiobrowser { struct RetryConfig; }
370
370
  #include "JAndroidOptions.hpp"
371
371
  #include "AppKilledPlaybackBehavior.hpp"
372
372
  #include "JAppKilledPlaybackBehavior.hpp"
373
- #include "NotificationButtonLayout.hpp"
374
- #include "JVariant_NullType_NotificationButtonLayout.hpp"
375
- #include "JNotificationButtonLayout.hpp"
376
- #include "NotificationButton.hpp"
377
- #include "JNotificationButton.hpp"
373
+ #include "RemoteButtonLayout.hpp"
374
+ #include "JVariant_NullType_RemoteButtonLayout.hpp"
375
+ #include "JRemoteButtonLayout.hpp"
376
+ #include "RemoteButton.hpp"
377
+ #include "JRemoteButton.hpp"
378
378
  #include "JVariant_NullType_Double.hpp"
379
379
  #include "PlayerCapabilities.hpp"
380
380
  #include "JPlayerCapabilities.hpp"
@@ -48,12 +48,12 @@
48
48
  #include "JNativeUpdateOptions.hpp"
49
49
  #include "JNitroAndroidUpdateOptions.hpp"
50
50
  #include "JNitroIOSUpdateOptions.hpp"
51
- #include "JNotificationButton.hpp"
52
- #include "JNotificationButtonLayout.hpp"
53
51
  #include "JNowPlayingUpdate.hpp"
54
52
  #include "JPlaybackError.hpp"
55
53
  #include "JPlaybackErrorKind.hpp"
56
54
  #include "JPlayerCapabilities.hpp"
55
+ #include "JRemoteButton.hpp"
56
+ #include "JRemoteButtonLayout.hpp"
57
57
  #include "JRepeatMode.hpp"
58
58
  #include "JRetryConfig.hpp"
59
59
  #include "JStallReason.hpp"
@@ -65,19 +65,19 @@
65
65
  #include "JVariant_Boolean_FavoriteConfig.hpp"
66
66
  #include "JVariant_Boolean_RetryConfig.hpp"
67
67
  #include "JVariant_NullType_Double.hpp"
68
- #include "JVariant_NullType_NotificationButtonLayout.hpp"
68
+ #include "JVariant_NullType_RemoteButtonLayout.hpp"
69
69
  #include "JVariant_String_ArtworkVariants.hpp"
70
70
  #include "NativeAndroidSetupOptions.hpp"
71
71
  #include "NativeIOSSetupOptions.hpp"
72
72
  #include "NativeUpdateOptions.hpp"
73
73
  #include "NitroAndroidUpdateOptions.hpp"
74
74
  #include "NitroIOSUpdateOptions.hpp"
75
- #include "NotificationButton.hpp"
76
- #include "NotificationButtonLayout.hpp"
77
75
  #include "NowPlayingUpdate.hpp"
78
76
  #include "PlaybackError.hpp"
79
77
  #include "PlaybackErrorKind.hpp"
80
78
  #include "PlayerCapabilities.hpp"
79
+ #include "RemoteButton.hpp"
80
+ #include "RemoteButtonLayout.hpp"
81
81
  #include "RepeatMode.hpp"
82
82
  #include "RetryConfig.hpp"
83
83
  #include "StallReason.hpp"
@@ -20,17 +20,17 @@
20
20
  #include "JFavoritesMatchMode.hpp"
21
21
  #include "JNitroAndroidUpdateOptions.hpp"
22
22
  #include "JNitroIOSUpdateOptions.hpp"
23
- #include "JNotificationButton.hpp"
24
- #include "JNotificationButtonLayout.hpp"
25
23
  #include "JPlayerCapabilities.hpp"
24
+ #include "JRemoteButton.hpp"
25
+ #include "JRemoteButtonLayout.hpp"
26
26
  #include "JVariant_Boolean_FavoriteConfig.hpp"
27
27
  #include "JVariant_NullType_Double.hpp"
28
- #include "JVariant_NullType_NotificationButtonLayout.hpp"
28
+ #include "JVariant_NullType_RemoteButtonLayout.hpp"
29
29
  #include "NitroAndroidUpdateOptions.hpp"
30
30
  #include "NitroIOSUpdateOptions.hpp"
31
- #include "NotificationButton.hpp"
32
- #include "NotificationButtonLayout.hpp"
33
31
  #include "PlayerCapabilities.hpp"
32
+ #include "RemoteButton.hpp"
33
+ #include "RemoteButtonLayout.hpp"
34
34
  #include <NitroModules/JNull.hpp>
35
35
  #include <NitroModules/Null.hpp>
36
36
  #include <optional>
@@ -12,11 +12,11 @@
12
12
 
13
13
  #include "AppKilledPlaybackBehavior.hpp"
14
14
  #include "JAppKilledPlaybackBehavior.hpp"
15
- #include "JNotificationButton.hpp"
16
- #include "JNotificationButtonLayout.hpp"
17
- #include "JVariant_NullType_NotificationButtonLayout.hpp"
18
- #include "NotificationButton.hpp"
19
- #include "NotificationButtonLayout.hpp"
15
+ #include "JRemoteButton.hpp"
16
+ #include "JRemoteButtonLayout.hpp"
17
+ #include "JVariant_NullType_RemoteButtonLayout.hpp"
18
+ #include "RemoteButton.hpp"
19
+ #include "RemoteButtonLayout.hpp"
20
20
  #include <NitroModules/JNull.hpp>
21
21
  #include <NitroModules/Null.hpp>
22
22
  #include <optional>
@@ -46,12 +46,12 @@ namespace margelo::nitro::audiobrowser {
46
46
  jni::local_ref<JAppKilledPlaybackBehavior> appKilledPlaybackBehavior = this->getFieldValue(fieldAppKilledPlaybackBehavior);
47
47
  static const auto fieldSkipSilence = clazz->getField<jni::JBoolean>("skipSilence");
48
48
  jni::local_ref<jni::JBoolean> skipSilence = this->getFieldValue(fieldSkipSilence);
49
- static const auto fieldNotificationButtons = clazz->getField<JVariant_NullType_NotificationButtonLayout>("notificationButtons");
50
- jni::local_ref<JVariant_NullType_NotificationButtonLayout> notificationButtons = this->getFieldValue(fieldNotificationButtons);
49
+ static const auto fieldRemoteButtonLayout = clazz->getField<JVariant_NullType_RemoteButtonLayout>("remoteButtonLayout");
50
+ jni::local_ref<JVariant_NullType_RemoteButtonLayout> remoteButtonLayout = this->getFieldValue(fieldRemoteButtonLayout);
51
51
  return NitroAndroidUpdateOptions(
52
52
  appKilledPlaybackBehavior != nullptr ? std::make_optional(appKilledPlaybackBehavior->toCpp()) : std::nullopt,
53
53
  skipSilence != nullptr ? std::make_optional(static_cast<bool>(skipSilence->value())) : std::nullopt,
54
- notificationButtons != nullptr ? std::make_optional(notificationButtons->toCpp()) : std::nullopt
54
+ remoteButtonLayout != nullptr ? std::make_optional(remoteButtonLayout->toCpp()) : std::nullopt
55
55
  );
56
56
  }
57
57
 
@@ -61,14 +61,14 @@ namespace margelo::nitro::audiobrowser {
61
61
  */
62
62
  [[maybe_unused]]
63
63
  static jni::local_ref<JNitroAndroidUpdateOptions::javaobject> fromCpp(const NitroAndroidUpdateOptions& value) {
64
- using JSignature = JNitroAndroidUpdateOptions(jni::alias_ref<JAppKilledPlaybackBehavior>, jni::alias_ref<jni::JBoolean>, jni::alias_ref<JVariant_NullType_NotificationButtonLayout>);
64
+ using JSignature = JNitroAndroidUpdateOptions(jni::alias_ref<JAppKilledPlaybackBehavior>, jni::alias_ref<jni::JBoolean>, jni::alias_ref<JVariant_NullType_RemoteButtonLayout>);
65
65
  static const auto clazz = javaClassStatic();
66
66
  static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
67
67
  return create(
68
68
  clazz,
69
69
  value.appKilledPlaybackBehavior.has_value() ? JAppKilledPlaybackBehavior::fromCpp(value.appKilledPlaybackBehavior.value()) : nullptr,
70
70
  value.skipSilence.has_value() ? jni::JBoolean::valueOf(value.skipSilence.value()) : nullptr,
71
- value.notificationButtons.has_value() ? JVariant_NullType_NotificationButtonLayout::fromCpp(value.notificationButtons.value()) : nullptr
71
+ value.remoteButtonLayout.has_value() ? JVariant_NullType_RemoteButtonLayout::fromCpp(value.remoteButtonLayout.value()) : nullptr
72
72
  );
73
73
  }
74
74
  };
@@ -22,15 +22,15 @@
22
22
  #include "JFavoriteConfig.hpp"
23
23
  #include "JFavoritesMatchMode.hpp"
24
24
  #include "JIOSOptions.hpp"
25
- #include "JNotificationButton.hpp"
26
- #include "JNotificationButtonLayout.hpp"
27
25
  #include "JPlayerCapabilities.hpp"
26
+ #include "JRemoteButton.hpp"
27
+ #include "JRemoteButtonLayout.hpp"
28
28
  #include "JVariant_Boolean_FavoriteConfig.hpp"
29
29
  #include "JVariant_NullType_Double.hpp"
30
- #include "JVariant_NullType_NotificationButtonLayout.hpp"
31
- #include "NotificationButton.hpp"
32
- #include "NotificationButtonLayout.hpp"
30
+ #include "JVariant_NullType_RemoteButtonLayout.hpp"
33
31
  #include "PlayerCapabilities.hpp"
32
+ #include "RemoteButton.hpp"
33
+ #include "RemoteButtonLayout.hpp"
34
34
  #include <NitroModules/JNull.hpp>
35
35
  #include <NitroModules/Null.hpp>
36
36
  #include <optional>