android.os.Message.sendToTarget()方法的使用及代码示例

x33g5p2x  于2022-01-24 转载在 其他  
字(5.6k)|赞(0)|评价(0)|浏览(614)

本文整理了Java中android.os.Message.sendToTarget()方法的一些代码示例,展示了Message.sendToTarget()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Message.sendToTarget()方法的具体详情如下:
包路径:android.os.Message
类名称:Message
方法名:sendToTarget

Message.sendToTarget介绍

暂无

代码示例

代码示例来源:origin: google/ExoPlayer

  1. @Override
  2. public void sendMessage(PlayerMessage message) {
  3. handler.obtainMessage(0, message).sendToTarget();
  4. }

代码示例来源:origin: bumptech/glide

  1. @Override
  2. public void onResourceReady(@NonNull Z resource, @Nullable Transition<? super Z> transition) {
  3. HANDLER.obtainMessage(MESSAGE_CLEAR, this).sendToTarget();
  4. }

代码示例来源:origin: bumptech/glide

  1. synchronized void recycle(Resource<?> resource) {
  2. if (isRecycling) {
  3. // If a resource has sub-resources, releasing a sub resource can cause it's parent to be
  4. // synchronously evicted which leads to a recycle loop when the parent releases it's children.
  5. // Posting breaks this loop.
  6. handler.obtainMessage(ResourceRecyclerCallback.RECYCLE_RESOURCE, resource).sendToTarget();
  7. } else {
  8. isRecycling = true;
  9. resource.recycle();
  10. isRecycling = false;
  11. }
  12. }

代码示例来源:origin: google/ExoPlayer

  1. private void invokeRenderer(Metadata metadata) {
  2. if (outputHandler != null) {
  3. outputHandler.obtainMessage(MSG_INVOKE_RENDERER, metadata).sendToTarget();
  4. } else {
  5. invokeRendererInternal(metadata);
  6. }
  7. }

代码示例来源:origin: google/ExoPlayer

  1. private void updateOutput(List<Cue> cues) {
  2. if (outputHandler != null) {
  3. outputHandler.obtainMessage(MSG_UPDATE_OUTPUT, cues).sendToTarget();
  4. } else {
  5. invokeUpdateOutputInternal(cues);
  6. }
  7. }

代码示例来源:origin: google/ExoPlayer

  1. public void prepare(MediaSource mediaSource, boolean resetPosition, boolean resetState) {
  2. handler
  3. .obtainMessage(MSG_PREPARE, resetPosition ? 1 : 0, resetState ? 1 : 0, mediaSource)
  4. .sendToTarget();
  5. }

代码示例来源:origin: google/ExoPlayer

  1. @Override
  2. public void onPlaybackParametersChanged(PlaybackParameters playbackParameters) {
  3. handler
  4. .obtainMessage(MSG_PLAYBACK_PARAMETERS_CHANGED_INTERNAL, playbackParameters)
  5. .sendToTarget();
  6. }

代码示例来源:origin: google/ExoPlayer

  1. private void scheduleListenerNotification(@Nullable Runnable actionOnCompletion) {
  2. if (!listenerNotificationScheduled) {
  3. Assertions.checkNotNull(playbackThreadHandler)
  4. .obtainMessage(MSG_NOTIFY_LISTENER)
  5. .sendToTarget();
  6. listenerNotificationScheduled = true;
  7. }
  8. if (actionOnCompletion != null) {
  9. pendingOnCompletionActions.add(actionOnCompletion);
  10. }
  11. }

代码示例来源:origin: google/ExoPlayer

  1. @Override
  2. public void onPrepared(MediaPeriod source) {
  3. handler.obtainMessage(MSG_PERIOD_PREPARED, source).sendToTarget();
  4. }

代码示例来源:origin: google/ExoPlayer

  1. @Override
  2. public void onContinueLoadingRequested(MediaPeriod source) {
  3. handler.obtainMessage(MSG_SOURCE_CONTINUE_LOADING_REQUESTED, source).sendToTarget();
  4. }

代码示例来源:origin: google/ExoPlayer

  1. private void handlePlaybackParameters(PlaybackParameters playbackParameters)
  2. throws ExoPlaybackException {
  3. eventHandler.obtainMessage(MSG_PLAYBACK_PARAMETERS_CHANGED, playbackParameters).sendToTarget();
  4. updateTrackSelectionPlaybackSpeed(playbackParameters.speed);
  5. for (Renderer renderer : renderers) {
  6. if (renderer != null) {
  7. renderer.setOperatingRate(playbackParameters.speed);
  8. }
  9. }
  10. }

代码示例来源:origin: google/ExoPlayer

  1. @Override
  2. public void sendMessage(PlayerMessage message) {
  3. handler.obtainMessage(0, message).sendToTarget();
  4. }

代码示例来源:origin: google/ExoPlayer

  1. @Override
  2. public void onSourceInfoRefreshed(MediaSource source, Timeline timeline, Object manifest) {
  3. handler.obtainMessage(MSG_REFRESH_SOURCE_INFO,
  4. new MediaSourceRefreshInfo(source, timeline, manifest)).sendToTarget();
  5. }

代码示例来源:origin: google/ExoPlayer

  1. public void seekTo(Timeline timeline, int windowIndex, long positionUs) {
  2. handler.obtainMessage(MSG_SEEK_TO, new SeekPosition(timeline, windowIndex, positionUs))
  3. .sendToTarget();
  4. }

代码示例来源:origin: google/ExoPlayer

  1. @Override
  2. public synchronized void sendMessage(PlayerMessage message) {
  3. if (released) {
  4. Log.w(TAG, "Ignoring messages sent after release.");
  5. message.markAsProcessed(/* isDelivered= */ false);
  6. return;
  7. }
  8. handler.obtainMessage(MSG_SEND_MESSAGE, message).sendToTarget();
  9. }

代码示例来源:origin: robolectric/robolectric

  1. @Test
  2. public void testSendToTarget() throws Exception {
  3. ShadowLooper.pauseMainLooper();
  4. Handler h = new Handler();
  5. Message.obtain(h, 123).sendToTarget();
  6. assertThat(h.hasMessages(123)).isTrue();
  7. }

代码示例来源:origin: google/ExoPlayer

  1. private void sendMessageToTarget(PlayerMessage message) throws ExoPlaybackException {
  2. if (message.getHandler().getLooper() == handler.getLooper()) {
  3. deliverMessage(message);
  4. if (playbackInfo.playbackState == Player.STATE_READY
  5. || playbackInfo.playbackState == Player.STATE_BUFFERING) {
  6. // The message may have caused something to change that now requires us to do work.
  7. handler.sendEmptyMessage(MSG_DO_SOME_WORK);
  8. }
  9. } else {
  10. handler.obtainMessage(MSG_SEND_MESSAGE_TO_TARGET_THREAD, message).sendToTarget();
  11. }
  12. }

代码示例来源:origin: robolectric/robolectric

  1. @Test
  2. public void testSendToTarget() {
  3. ShadowLooper.pauseMainLooper();
  4. Object testObject = new Object();
  5. Handler handler = new Handler();
  6. Message message = handler.obtainMessage(123, testObject);
  7. assertThat(handler).isEqualTo(message.getTarget());
  8. message.sendToTarget();
  9. assertTrue(handler.hasMessages(123, testObject));
  10. }

代码示例来源:origin: robolectric/robolectric

  1. @Test
  2. @Config(minSdk = LOLLIPOP)
  3. public void testIsInUse() {
  4. ShadowLooper.pauseMainLooper();
  5. Handler h = new Handler();
  6. Message msg = Message.obtain(h, 123);
  7. ShadowMessage sMsg = shadowOf(msg);
  8. assertThat(sMsg.isInUse()).isFalse();
  9. msg.sendToTarget();
  10. assertThat(sMsg.isInUse()).isTrue();
  11. }

代码示例来源:origin: robolectric/robolectric

  1. private void recycle_shouldRemoveMessageFromScheduler() {
  2. ShadowLooper.pauseMainLooper();
  3. Handler h = new Handler();
  4. Message msg = Message.obtain(h, 234);
  5. msg.sendToTarget();
  6. Scheduler scheduler = Robolectric.getForegroundThreadScheduler();
  7. assertThat(scheduler.size()).named("before recycle").isEqualTo(1);
  8. shadowOf(msg).recycleUnchecked();
  9. assertThat(scheduler.size()).named("after recycle").isEqualTo(0);
  10. }

相关文章