Remove DeviceListener

PiperOrigin-RevId: 389640670
This commit is contained in:
olly 2021-08-09 16:37:01 +01:00 committed by Oliver Woodman
parent 5dc8eeb4bf
commit e2ffb5e11b
5 changed files with 11 additions and 80 deletions

View file

@ -102,6 +102,7 @@
* Remove `C.MSG_*` constants. Use identically named constants in
`Renderer` instead, except for `C.MSG_SET_SURFACE`, which is replaced
with `Renderer.MSG_SET_VIDEO_OUTPUT`.
* Remove `DeviceListener`. Use `Player.Listener` instead.
* UI:
* Add `setUseRewindAction` and `setUseFastForwardAction` to
`PlayerNotificationManager`, and `setUseFastForwardActionInCompactView`

View file

@ -26,7 +26,6 @@ import androidx.annotation.Nullable;
import com.google.android.exoplayer2.audio.AudioAttributes;
import com.google.android.exoplayer2.audio.AudioListener;
import com.google.android.exoplayer2.device.DeviceInfo;
import com.google.android.exoplayer2.device.DeviceListener;
import com.google.android.exoplayer2.metadata.Metadata;
import com.google.android.exoplayer2.metadata.MetadataOutput;
import com.google.android.exoplayer2.source.TrackGroupArray;
@ -874,12 +873,7 @@ public interface Player {
* <p>All methods have no-op default implementations to allow selective overrides.
*/
interface Listener
extends VideoListener,
AudioListener,
TextOutput,
MetadataOutput,
DeviceListener,
EventListener {
extends VideoListener, AudioListener, TextOutput, MetadataOutput, EventListener {
@Override
default void onTimelineChanged(Timeline timeline, @TimelineChangeReason int reason) {}
@ -949,10 +943,10 @@ public interface Player {
@Override
default void onSkipSilenceEnabledChanged(boolean skipSilenceEnabled) {}
@Override
/** Called when the device information changes. */
default void onDeviceInfoChanged(DeviceInfo deviceInfo) {}
@Override
/** Called when the device volume or mute state changes. */
default void onDeviceVolumeChanged(int volume, boolean muted) {}
@Override

View file

@ -1,33 +0,0 @@
/*
* Copyright 2020 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.google.android.exoplayer2.device;
import com.google.android.exoplayer2.Player;
/**
* A listener for changes of {@link DeviceInfo} or device volume.
*
* @deprecated Use {@link Player.Listener}.
*/
@Deprecated
public interface DeviceListener {
/** Called when the device information changes. */
default void onDeviceInfoChanged(DeviceInfo deviceInfo) {}
/** Called when the device volume or mute state changes. */
default void onDeviceVolumeChanged(int volume, boolean muted) {}
}

View file

@ -34,7 +34,6 @@ import com.google.android.exoplayer2.audio.AuxEffectInfo;
import com.google.android.exoplayer2.audio.DefaultAudioSink;
import com.google.android.exoplayer2.audio.MediaCodecAudioRenderer;
import com.google.android.exoplayer2.device.DeviceInfo;
import com.google.android.exoplayer2.device.DeviceListener;
import com.google.android.exoplayer2.metadata.MetadataOutput;
import com.google.android.exoplayer2.metadata.MetadataRenderer;
import com.google.android.exoplayer2.source.DefaultMediaSourceFactory;
@ -471,22 +470,6 @@ public interface ExoPlayer extends Player {
/** The device component of an {@link ExoPlayer}. */
interface DeviceComponent {
/**
* Adds a listener to receive device events.
*
* @deprecated Use {@link #addListener(Listener)}.
*/
@Deprecated
void addDeviceListener(DeviceListener listener);
/**
* Removes a listener of device events.
*
* @deprecated Use {@link #removeListener(Listener)}.
*/
@Deprecated
void removeDeviceListener(DeviceListener listener);
/** Gets the device information. */
DeviceInfo getDeviceInfo();

View file

@ -55,7 +55,6 @@ import com.google.android.exoplayer2.audio.AuxEffectInfo;
import com.google.android.exoplayer2.decoder.DecoderCounters;
import com.google.android.exoplayer2.decoder.DecoderReuseEvaluation;
import com.google.android.exoplayer2.device.DeviceInfo;
import com.google.android.exoplayer2.device.DeviceListener;
import com.google.android.exoplayer2.extractor.DefaultExtractorsFactory;
import com.google.android.exoplayer2.extractor.ExtractorsFactory;
import com.google.android.exoplayer2.metadata.Metadata;
@ -667,7 +666,7 @@ public class SimpleExoPlayer extends BasePlayer
private final CopyOnWriteArraySet<AudioListener> audioListeners;
private final CopyOnWriteArraySet<TextOutput> textOutputs;
private final CopyOnWriteArraySet<MetadataOutput> metadataOutputs;
private final CopyOnWriteArraySet<DeviceListener> deviceListeners;
private final CopyOnWriteArraySet<Listener> deviceListeners;
private final AnalyticsCollector analyticsCollector;
private final AudioBecomingNoisyManager audioBecomingNoisyManager;
private final AudioFocusManager audioFocusManager;
@ -1382,7 +1381,7 @@ public class SimpleExoPlayer extends BasePlayer
addVideoListener(listener);
addTextOutput(listener);
addMetadataOutput(listener);
addDeviceListener(listener);
deviceListeners.add(listener);
EventListener eventListener = listener;
addListener(eventListener);
}
@ -1402,7 +1401,7 @@ public class SimpleExoPlayer extends BasePlayer
removeVideoListener(listener);
removeTextOutput(listener);
removeMetadataOutput(listener);
removeDeviceListener(listener);
deviceListeners.remove(listener);
EventListener eventListener = listener;
removeListener(eventListener);
}
@ -1912,21 +1911,6 @@ public class SimpleExoPlayer extends BasePlayer
}
}
@Deprecated
@Override
public void addDeviceListener(DeviceListener listener) {
// Don't verify application thread. We allow calls to this method from any thread.
Assertions.checkNotNull(listener);
deviceListeners.add(listener);
}
@Deprecated
@Override
public void removeDeviceListener(DeviceListener listener) {
// Don't verify application thread. We allow calls to this method from any thread.
deviceListeners.remove(listener);
}
@Override
public DeviceInfo getDeviceInfo() {
verifyApplicationThread();
@ -2476,7 +2460,8 @@ public class SimpleExoPlayer extends BasePlayer
DeviceInfo deviceInfo = createDeviceInfo(streamVolumeManager);
if (!deviceInfo.equals(SimpleExoPlayer.this.deviceInfo)) {
SimpleExoPlayer.this.deviceInfo = deviceInfo;
for (DeviceListener deviceListener : deviceListeners) {
// TODO(internal b/187152483): Events should be dispatched via ListenerSet
for (Listener deviceListener : deviceListeners) {
deviceListener.onDeviceInfoChanged(deviceInfo);
}
}
@ -2484,7 +2469,8 @@ public class SimpleExoPlayer extends BasePlayer
@Override
public void onStreamVolumeChanged(int streamVolume, boolean streamMuted) {
for (DeviceListener deviceListener : deviceListeners) {
// TODO(internal b/187152483): Events should be dispatched via ListenerSet
for (Listener deviceListener : deviceListeners) {
deviceListener.onDeviceVolumeChanged(streamVolume, streamMuted);
}
}