You've already forked android_translation_layer
mirror of
https://gitlab.com/android_translation_layer/android_translation_layer.git
synced 2025-10-27 11:48:10 -07:00
add more stubs to make exoplayer not crash
This commit is contained in:
@@ -1,4 +1,19 @@
|
||||
package android.media;
|
||||
|
||||
public class AudioAttributes {
|
||||
|
||||
public int getFlags() {return 0;}
|
||||
|
||||
public int getUsage() {return 0;}
|
||||
|
||||
public class Builder {
|
||||
|
||||
public Builder setUsage(int usage) {
|
||||
return this;
|
||||
}
|
||||
|
||||
public AudioAttributes build() {
|
||||
return new AudioAttributes();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -32,4 +32,12 @@ public class AudioManager {
|
||||
public int getStreamVolume(int streamType) {
|
||||
return 0; // arbitrary, shouldn't matter too much?
|
||||
}
|
||||
|
||||
public int getStreamMaxVolume(int streamType) {
|
||||
return 100;
|
||||
}
|
||||
|
||||
public int requestAudioFocus(OnAudioFocusChangeListener listener, int streamType, int durationHint) {
|
||||
return /*AUDIOFOCUS_REQUEST_GRANTED*/1;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,6 +12,7 @@ public class AudioTrack {
|
||||
int audioFormat;
|
||||
int bufferSizeInBytes;
|
||||
int mode;
|
||||
private int sessionId;
|
||||
|
||||
// for native code's use
|
||||
long pcm_handle;
|
||||
@@ -45,6 +46,11 @@ public class AudioTrack {
|
||||
native_constructor(streamType, sampleRateInHz, num_channels, audioFormat, bufferSizeInBytes, mode);
|
||||
}
|
||||
|
||||
public AudioTrack(int streamType, int sampleRateInHz, int channelConfig, int audioFormat, int bufferSizeInBytes, int mode, int sessionId) {
|
||||
this(streamType, sampleRateInHz, channelConfig, audioFormat, bufferSizeInBytes, mode);
|
||||
this.sessionId = sessionId;
|
||||
}
|
||||
|
||||
public static native int getMinBufferSize(int sampleRateInHz, int channelConfig, int audioFormat);
|
||||
|
||||
public void setPlaybackPositionUpdateListener(OnPlaybackPositionUpdateListener listener) {
|
||||
@@ -79,4 +85,8 @@ public class AudioTrack {
|
||||
}
|
||||
|
||||
public native int write(byte[] audioData, int offsetInBytes, int sizeInBytes);
|
||||
|
||||
public int getAudioSessionId() {
|
||||
return sessionId;
|
||||
}
|
||||
}
|
||||
|
||||
9
src/api-impl/android/media/MediaCodec.java
Normal file
9
src/api-impl/android/media/MediaCodec.java
Normal file
@@ -0,0 +1,9 @@
|
||||
package android.media;
|
||||
|
||||
public class MediaCodec {
|
||||
|
||||
public static final class CryptoInfo {}
|
||||
|
||||
public static final class BufferInfo {}
|
||||
|
||||
}
|
||||
9
src/api-impl/android/media/MediaCodecList.java
Normal file
9
src/api-impl/android/media/MediaCodecList.java
Normal file
@@ -0,0 +1,9 @@
|
||||
package android.media;
|
||||
|
||||
public class MediaCodecList {
|
||||
|
||||
public static int getCodecCount() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
}
|
||||
30
src/api-impl/android/media/MediaDescription.java
Normal file
30
src/api-impl/android/media/MediaDescription.java
Normal file
@@ -0,0 +1,30 @@
|
||||
package android.media;
|
||||
|
||||
import android.graphics.Bitmap;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
|
||||
public class MediaDescription {
|
||||
|
||||
public static class Builder {
|
||||
|
||||
public Builder setMediaId(String mediaId) {return this;}
|
||||
|
||||
public Builder setTitle(CharSequence title) {return this;}
|
||||
|
||||
public Builder setSubtitle(CharSequence subtitle) {return this;}
|
||||
|
||||
public Builder setDescription(CharSequence description) {return this;}
|
||||
|
||||
public Builder setIconBitmap(Bitmap iconBitmap) {return this;}
|
||||
|
||||
public Builder setIconUri(Uri iconUri) {return this;}
|
||||
|
||||
public Builder setExtras(Bundle extras) {return this;}
|
||||
|
||||
public MediaDescription build() {
|
||||
return new MediaDescription();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
16
src/api-impl/android/media/MediaMetadata.java
Normal file
16
src/api-impl/android/media/MediaMetadata.java
Normal file
@@ -0,0 +1,16 @@
|
||||
package android.media;
|
||||
|
||||
import android.os.Parcel;
|
||||
import android.os.Parcelable.Creator;
|
||||
|
||||
public class MediaMetadata {
|
||||
|
||||
public static final Creator<MediaMetadata> CREATOR = new Creator<MediaMetadata>() {
|
||||
@Override
|
||||
public MediaMetadata createFromParcel(Parcel source) {
|
||||
return new MediaMetadata();
|
||||
}
|
||||
};
|
||||
|
||||
public void writeToParcel(Parcel dest, int flags) {}
|
||||
}
|
||||
13
src/api-impl/android/media/session/MediaController.java
Normal file
13
src/api-impl/android/media/session/MediaController.java
Normal file
@@ -0,0 +1,13 @@
|
||||
package android.media.session;
|
||||
|
||||
import android.content.Context;
|
||||
import android.media.MediaMetadata;
|
||||
|
||||
public class MediaController {
|
||||
|
||||
public MediaController(Context context, MediaSession.Token token) {}
|
||||
|
||||
public MediaMetadata getMetadata() {
|
||||
return new MediaMetadata();
|
||||
}
|
||||
}
|
||||
40
src/api-impl/android/media/session/MediaSession.java
Normal file
40
src/api-impl/android/media/session/MediaSession.java
Normal file
@@ -0,0 +1,40 @@
|
||||
package android.media.session;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import android.app.PendingIntent;
|
||||
import android.content.Context;
|
||||
import android.media.MediaDescription;
|
||||
import android.media.MediaMetadata;
|
||||
import android.os.Handler;
|
||||
|
||||
public class MediaSession {
|
||||
|
||||
public static final class Token {}
|
||||
|
||||
public static abstract class Callback {}
|
||||
|
||||
public static class QueueItem {
|
||||
public QueueItem(MediaDescription description, long id) {}
|
||||
}
|
||||
|
||||
public MediaSession(Context context, String tag) {}
|
||||
|
||||
public Token getSessionToken() {
|
||||
return new Token();
|
||||
}
|
||||
|
||||
public void setFlags(int flags) {}
|
||||
|
||||
public void setCallback(Callback callback, Handler handler) {}
|
||||
|
||||
public void setMediaButtonReceiver(PendingIntent pendingIntent) {}
|
||||
|
||||
public void setActive(boolean active) {}
|
||||
|
||||
public void setPlaybackState(PlaybackState state) {}
|
||||
|
||||
public void setMetadata(MediaMetadata metadata) {}
|
||||
|
||||
public void setQueue(List<QueueItem> queue) {}
|
||||
}
|
||||
23
src/api-impl/android/media/session/PlaybackState.java
Normal file
23
src/api-impl/android/media/session/PlaybackState.java
Normal file
@@ -0,0 +1,23 @@
|
||||
package android.media.session;
|
||||
|
||||
public class PlaybackState {
|
||||
|
||||
public class Builder {
|
||||
|
||||
public Builder setState(int state, long position, float playbackSpeed, long updateTime) {return this;}
|
||||
|
||||
public Builder setBufferedPosition(long bufferedPosition) {return this;}
|
||||
|
||||
public Builder setActions(long actions) {return this;}
|
||||
|
||||
public Builder setErrorMessage(CharSequence errorMessage) {return this;}
|
||||
|
||||
public Builder setActiveQueueItemId(long activeQueueItemId) {return this;}
|
||||
|
||||
public PlaybackState build() {
|
||||
return new PlaybackState();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user