MediaSession Android bits

This commit is contained in:
Fernando Jiménez Moreno 2019-10-10 17:09:55 +02:00
parent 7ca74d598c
commit 3f6569447d
4 changed files with 34 additions and 3 deletions

View file

@ -15,9 +15,7 @@ use jni::{errors, JNIEnv, JavaVM};
use libc::{dup2, pipe, read};
use log::Level;
use simpleservo::{self, gl_glue, ServoGlue, SERVO};
use simpleservo::{
Coordinates, EventLoopWaker, HostTrait, InitOptions, MediaSessionEvent, VRInitOptions,
};
use simpleservo::{Coordinates, EventLoopWaker, HostTrait, InitOptions, VRInitOptions};
use std::os::raw::{c_char, c_int, c_void};
use std::ptr::{null, null_mut};
use std::sync::Arc;

View file

@ -23,6 +23,8 @@ import android.widget.ProgressBar;
import android.widget.TextView;
import android.util.Log;
//import org.mozilla.servo.MediaSessionCallback;
import org.mozilla.servoview.ServoView;
import org.mozilla.servoview.Servo;
@ -41,6 +43,7 @@ public class MainActivity extends Activity implements Servo.Client {
ProgressBar mProgressBar;
TextView mIdleText;
boolean mCanGoBack;
// MediaSession mSession;
@Override
protected void onCreate(Bundle savedInstanceState) {
@ -217,4 +220,18 @@ public class MainActivity extends Activity implements Servo.Client {
super.onBackPressed();
}
}
@Override
public void onMediaSessionMetadata(String title, String artist, String album) {
Log.d("SERVOMEDIA", "METADATA");
}
@Override
public void onMediaSessionPlaybackStateChange(int state) {
Log.d("SERVOMEDIA", "PLAYBACK STATE CHANGED");
}
/* private void createMediaSession() {
mSession = new MediaSession(this, "ServoMediaSession");
}*/
}

View file

@ -109,6 +109,10 @@ public class JNIServo {
void onHistoryChanged(boolean canGoBack, boolean canGoForward);
void onShutdownComplete();
void onMediaSessionMetadata(String title, String artist, String album);
void onMediaSessionPlaybackStateChange(int state);
}
}

View file

@ -184,6 +184,10 @@ public class Servo {
void onHistoryChanged(boolean canGoBack, boolean canGoForward);
void onRedrawing(boolean redrawing);
void onMediaSessionMetadata(String title, String artist, String album);
void onMediaSessionPlaybackStateChange(int state);
}
public interface RunCallback {
@ -269,5 +273,13 @@ public class Servo {
public void onRedrawing(boolean redrawing) {
mRunCallback.inUIThread(() -> mClient.onRedrawing(redrawing));
}
public void onMediaSessionMetadata(String title, String artist, String album) {
mRunCallback.inUIThread(() -> mClient.onMediaSessionMetadata(title, artist, album));
}
public void onMediaSessionPlaybackStateChange(int state) {
mRunCallback.inUIThread(() -> mClient.onMediaSessionPlaybackStateChange(state));
}
}
}