handlerCallbacksCallHandler method
Used in tests within mock method channel.
Implementation
@visibleForTesting
Future<dynamic> handlerCallbacksCallHandler(
AudioHandlerCallbacks callbacks, MethodCall call) async {
switch (call.method) {
case 'prepare':
await callbacks.prepare(const PrepareRequest());
return null;
case 'prepareFromMediaId':
await callbacks.prepareFromMediaId(PrepareFromMediaIdRequest(
mediaId: call.arguments['mediaId'] as String,
extras:
_castMap(call.arguments['extras'] as Map<dynamic, dynamic>?)));
return null;
case 'prepareFromSearch':
await callbacks.prepareFromSearch(PrepareFromSearchRequest(
query: call.arguments['query'] as String,
extras:
_castMap(call.arguments['extras'] as Map<dynamic, dynamic>?)));
return null;
case 'prepareFromUri':
await callbacks.prepareFromUri(PrepareFromUriRequest(
uri: Uri.parse(call.arguments['uri'] as String),
extras:
_castMap(call.arguments['extras'] as Map<dynamic, dynamic>?)));
return null;
case 'play':
await callbacks.play(const PlayRequest());
return null;
case 'playFromMediaId':
await callbacks.playFromMediaId(PlayFromMediaIdRequest(
mediaId: call.arguments['mediaId'] as String,
extras:
_castMap(call.arguments['extras'] as Map<dynamic, dynamic>?)));
return null;
case 'playFromSearch':
await callbacks.playFromSearch(PlayFromSearchRequest(
query: call.arguments['query'] as String,
extras:
_castMap(call.arguments['extras'] as Map<dynamic, dynamic>?)));
return null;
case 'playFromUri':
await callbacks.playFromUri(PlayFromUriRequest(
uri: Uri.parse(call.arguments['uri'] as String),
extras:
_castMap(call.arguments['extras'] as Map<dynamic, dynamic>?)));
return null;
case 'playMediaItem':
await callbacks.playMediaItem(PlayMediaItemRequest(
mediaItem: MediaItemMessage.fromMap(_castMap(
call.arguments['mediaItem'] as Map<dynamic, dynamic>)!)));
return null;
case 'pause':
await callbacks.pause(const PauseRequest());
return null;
case 'click':
await callbacks.click(ClickRequest(
button:
MediaButtonMessage.values[call.arguments['button'] as int]));
return null;
case 'stop':
await callbacks.stop(const StopRequest());
return null;
case 'addQueueItem':
await callbacks.addQueueItem(AddQueueItemRequest(
mediaItem: MediaItemMessage.fromMap(_castMap(
call.arguments['mediaItem'] as Map<dynamic, dynamic>)!)));
return null;
case 'insertQueueItem':
await callbacks.insertQueueItem(InsertQueueItemRequest(
index: call.arguments['index'] as int,
mediaItem: MediaItemMessage.fromMap(_castMap(
call.arguments['mediaItem'] as Map<dynamic, dynamic>)!)));
return null;
case 'removeQueueItem':
await callbacks.removeQueueItem(RemoveQueueItemRequest(
mediaItem: MediaItemMessage.fromMap(_castMap(
call.arguments['mediaItem'] as Map<dynamic, dynamic>)!)));
return null;
case 'removeQueueItemAt':
await callbacks.removeQueueItemAt(
RemoveQueueItemAtRequest(index: call.arguments['index'] as int));
return null;
case 'skipToNext':
await callbacks.skipToNext(const SkipToNextRequest());
return null;
case 'skipToPrevious':
await callbacks.skipToPrevious(const SkipToPreviousRequest());
return null;
case 'fastForward':
await callbacks.fastForward(const FastForwardRequest());
return null;
case 'rewind':
await callbacks.rewind(const RewindRequest());
return null;
case 'skipToQueueItem':
await callbacks.skipToQueueItem(
SkipToQueueItemRequest(index: call.arguments['index'] as int));
return null;
case 'seek':
await callbacks.seek(SeekRequest(
position:
Duration(microseconds: call.arguments['position'] as int)));
return null;
case 'setRating':
await callbacks.setRating(SetRatingRequest(
rating: RatingMessage.fromMap(
_castMap(call.arguments['rating'] as Map<dynamic, dynamic>)!),
extras:
_castMap(call.arguments['extras'] as Map<dynamic, dynamic>?)));
return null;
case 'setCaptioningEnabled':
await callbacks.setCaptioningEnabled(SetCaptioningEnabledRequest(
enabled: call.arguments['enabled'] as bool));
return null;
case 'setRepeatMode':
await callbacks.setRepeatMode(SetRepeatModeRequest(
repeatMode: AudioServiceRepeatModeMessage
.values[call.arguments['repeatMode'] as int]));
return null;
case 'setShuffleMode':
await callbacks.setShuffleMode(SetShuffleModeRequest(
shuffleMode: AudioServiceShuffleModeMessage
.values[call.arguments['shuffleMode'] as int]));
return null;
case 'seekBackward':
await callbacks.seekBackward(
SeekBackwardRequest(begin: call.arguments['begin'] as bool));
return null;
case 'seekForward':
await callbacks.seekForward(
SeekForwardRequest(begin: call.arguments['begin'] as bool));
return null;
case 'setSpeed':
await callbacks.setSpeed(
SetSpeedRequest(speed: call.arguments['speed'] as double));
return null;
case 'customAction':
await callbacks.customAction(CustomActionRequest(
name: call.arguments['name'] as String,
extras:
_castMap(call.arguments['extras'] as Map<dynamic, dynamic>?)));
return null;
case 'onTaskRemoved':
await callbacks.onTaskRemoved(const OnTaskRemovedRequest());
return null;
case 'onNotificationDeleted':
await callbacks
.onNotificationDeleted(const OnNotificationDeletedRequest());
return null;
case 'onNotificationClicked':
await callbacks.onNotificationClicked(OnNotificationClickedRequest(
clicked: call.arguments['clicked'] as bool));
return null;
case 'getChildren':
return (await callbacks.getChildren(GetChildrenRequest(
parentMediaId: call.arguments['parentMediaId'] as String,
options: _castMap(
call.arguments['options'] as Map<dynamic, dynamic>?))))
.toMap();
case 'getMediaItem':
return (await callbacks.getMediaItem(GetMediaItemRequest(
mediaId: call.arguments['mediaId'] as String)))
.toMap();
case 'search':
return (await callbacks.search(SearchRequest(
query: call.arguments['query'] as String,
extras: _castMap(
call.arguments['extras'] as Map<dynamic, dynamic>?))))
.toMap();
case 'androidSetRemoteVolume':
await callbacks.androidSetRemoteVolume(AndroidSetRemoteVolumeRequest(
volumeIndex: call.arguments['volumeIndex'] as int));
return null;
case 'androidAdjustRemoteVolume':
await callbacks.androidAdjustRemoteVolume(
AndroidAdjustRemoteVolumeRequest(
direction: AndroidVolumeDirectionMessage
.values[call.arguments['direction']]!));
return null;
default:
throw PlatformException(
code: 'unimplemented',
message: 'Method not implemented: ${call.method}');
}
}