mirror of
https://github.com/YTVanced/VancedMicroG
synced 2024-11-24 12:15:12 +00:00
More interface details for the cast framework
This commit is contained in:
parent
64d76cee70
commit
718b9071a9
13 changed files with 172 additions and 21 deletions
|
@ -16,8 +16,47 @@
|
||||||
|
|
||||||
package com.google.android.gms.common.images;
|
package com.google.android.gms.common.images;
|
||||||
|
|
||||||
|
import android.net.Uri;
|
||||||
|
|
||||||
import org.microg.safeparcel.AutoSafeParcelable;
|
import org.microg.safeparcel.AutoSafeParcelable;
|
||||||
|
import org.microg.safeparcel.SafeParceled;
|
||||||
|
|
||||||
public class WebImage extends AutoSafeParcelable {
|
public class WebImage extends AutoSafeParcelable {
|
||||||
public static final Creator<WebImage> CREATOR = new AutoCreator<WebImage>(WebImage.class);
|
public static final Creator<WebImage> CREATOR = new AutoCreator<WebImage>(WebImage.class);
|
||||||
|
|
||||||
|
public WebImage (Uri uri) {
|
||||||
|
this.uri = uri;
|
||||||
|
}
|
||||||
|
|
||||||
|
@SafeParceled(1)
|
||||||
|
private int versionCode = 1;
|
||||||
|
|
||||||
|
@SafeParceled(2)
|
||||||
|
private final Uri uri;
|
||||||
|
|
||||||
|
@SafeParceled(3)
|
||||||
|
private final int width = 0;
|
||||||
|
|
||||||
|
@SafeParceled(4)
|
||||||
|
private final int height = 0;
|
||||||
|
|
||||||
|
public Uri getUrl()
|
||||||
|
{
|
||||||
|
return uri;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getWidth()
|
||||||
|
{
|
||||||
|
return width;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getHeight()
|
||||||
|
{
|
||||||
|
return height;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String toString()
|
||||||
|
{
|
||||||
|
return String.format("Image %dx%d %s", new Object[] { Integer.valueOf(width), Integer.valueOf(height), uri.toString() });
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -33,6 +33,10 @@ import java.util.List;
|
||||||
public class CastDevice extends AutoSafeParcelable {
|
public class CastDevice extends AutoSafeParcelable {
|
||||||
private static final String EXTRA_CAST_DEVICE = "com.google.android.gms.cast.EXTRA_CAST_DEVICE";
|
private static final String EXTRA_CAST_DEVICE = "com.google.android.gms.cast.EXTRA_CAST_DEVICE";
|
||||||
|
|
||||||
|
public CastDevice (String deviceId) {
|
||||||
|
this.deviceId = deviceId;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Video-output device capability.
|
* Video-output device capability.
|
||||||
*/
|
*/
|
||||||
|
@ -78,12 +82,15 @@ public class CastDevice extends AutoSafeParcelable {
|
||||||
@SafeParceled(value = 8, subClass = WebImage.class)
|
@SafeParceled(value = 8, subClass = WebImage.class)
|
||||||
private ArrayList<WebImage> icons;
|
private ArrayList<WebImage> icons;
|
||||||
|
|
||||||
@SafeParceled(8)
|
@SafeParceled(9)
|
||||||
private int capabilities;
|
private int capabilities;
|
||||||
|
|
||||||
@SafeParceled(9)
|
@SafeParceled(10)
|
||||||
private int status;
|
private int status;
|
||||||
|
|
||||||
|
@SafeParceled(11)
|
||||||
|
private String unknown; // TODO: Need to figure this one out
|
||||||
|
|
||||||
public String getDeviceId() {
|
public String getDeviceId() {
|
||||||
return deviceId;
|
return deviceId;
|
||||||
}
|
}
|
||||||
|
@ -125,7 +132,12 @@ public class CastDevice extends AutoSafeParcelable {
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean hasCapabilities(int[] capabilities) {
|
public boolean hasCapabilities(int[] capabilities) {
|
||||||
return false;
|
for (int capability : capabilities) {
|
||||||
|
if (!this.hasCapability(capability)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean hasCapability(int capability) {
|
public boolean hasCapability(int capability) {
|
||||||
|
|
|
@ -1,15 +1,20 @@
|
||||||
package com.google.android.gms.cast.framework;
|
package com.google.android.gms.cast.framework;
|
||||||
|
|
||||||
import com.google.android.gms.cast.framework.ISessionManager;
|
import com.google.android.gms.cast.framework.ISessionManager;
|
||||||
|
import com.google.android.gms.cast.framework.IDiscoveryManager;
|
||||||
import com.google.android.gms.dynamic.IObjectWrapper;
|
import com.google.android.gms.dynamic.IObjectWrapper;
|
||||||
|
|
||||||
interface ICastContext {
|
interface ICastContext {
|
||||||
Bundle getMergedSelectorAsBundle() = 0;
|
Bundle getMergedSelectorAsBundle() = 0;
|
||||||
boolean isApplicationVisible() = 1;
|
boolean isApplicationVisible() = 1;
|
||||||
//void addAppVisibilityListener(IAppVisibilityListener listener) = 2;
|
//void removeAppVisibilityListener(IAppVisibilityListener listener) = 2;
|
||||||
//void removeAppVisibilityListener(IAppVisibilityListener listener) = 3;
|
//void addAppVisibilityListener(IAppVisibilityListener listener) = 3;
|
||||||
ISessionManager getSessionManager() = 4;
|
ISessionManager getSessionManagerImpl() = 4;
|
||||||
void destroy() = 5;
|
IDiscoveryManager getDiscoveryManagerImpl() = 5;
|
||||||
void onActivityResumed(in IObjectWrapper activity) = 6;
|
|
||||||
void onActivityPaused(in IObjectWrapper activity) = 7;
|
void destroy() = 6;
|
||||||
|
void onActivityResumed(in IObjectWrapper activity) = 7;
|
||||||
|
void onActivityPaused(in IObjectWrapper activity) = 8;
|
||||||
|
IObjectWrapper getWrappedThis() = 9;
|
||||||
|
void unknown(String s1, in Map m1) = 10; // TODO
|
||||||
}
|
}
|
|
@ -0,0 +1,8 @@
|
||||||
|
package com.google.android.gms.cast.framework;
|
||||||
|
|
||||||
|
import com.google.android.gms.dynamic.IObjectWrapper;
|
||||||
|
|
||||||
|
interface ICastStateListener {
|
||||||
|
IObjectWrapper getWrappedThis() = 0;
|
||||||
|
void onCastStateChanged(int newState) = 1;
|
||||||
|
}
|
|
@ -0,0 +1,12 @@
|
||||||
|
package com.google.android.gms.cast.framework;
|
||||||
|
|
||||||
|
import com.google.android.gms.cast.framework.IDiscoveryManagerListener;
|
||||||
|
import com.google.android.gms.dynamic.IObjectWrapper;
|
||||||
|
|
||||||
|
interface IDiscoveryManager {
|
||||||
|
void startDiscovery() = 0; // Maybe?
|
||||||
|
void stopDiscovery() = 1; // Maybe?
|
||||||
|
void addDiscoveryManagerListener(IDiscoveryManagerListener listener) = 2;
|
||||||
|
void removeDiscoveryManagerListener(IDiscoveryManagerListener listener) = 3;
|
||||||
|
IObjectWrapper getWrappedThis() = 4;
|
||||||
|
}
|
|
@ -0,0 +1,8 @@
|
||||||
|
package com.google.android.gms.cast.framework;
|
||||||
|
|
||||||
|
import com.google.android.gms.dynamic.IObjectWrapper;
|
||||||
|
|
||||||
|
interface IDiscoveryManagerListener {
|
||||||
|
IObjectWrapper getWrappedThis() = 0;
|
||||||
|
void onDeviceAvailabilityChanged(boolean deviceAvailable) = 1;
|
||||||
|
}
|
|
@ -1,5 +1,10 @@
|
||||||
package com.google.android.gms.cast.framework;
|
package com.google.android.gms.cast.framework;
|
||||||
|
|
||||||
interface ISession {
|
import com.google.android.gms.dynamic.IObjectWrapper;
|
||||||
|
|
||||||
|
interface ISession {
|
||||||
|
IObjectWrapper getWrappedThis() = 0;
|
||||||
|
void notifySessionEnded(int error) = 5;
|
||||||
|
boolean isConnected() = 10;
|
||||||
|
boolean isResuming() = 14;
|
||||||
}
|
}
|
|
@ -1,13 +1,15 @@
|
||||||
package com.google.android.gms.cast.framework;
|
package com.google.android.gms.cast.framework;
|
||||||
|
|
||||||
import com.google.android.gms.dynamic.IObjectWrapper;
|
import com.google.android.gms.dynamic.IObjectWrapper;
|
||||||
|
import com.google.android.gms.cast.framework.ISessionManagerListener;
|
||||||
|
import com.google.android.gms.cast.framework.ICastStateListener;
|
||||||
|
|
||||||
interface ISessionManager {
|
interface ISessionManager {
|
||||||
IObjectWrapper getWrappedCurrentSession() = 0;
|
IObjectWrapper getWrappedCurrentSession() = 0;
|
||||||
//void addSessionManagerListener(ISessionManagerListener listener) = 1;
|
void addSessionManagerListener(ISessionManagerListener listener) = 1;
|
||||||
//void removeSessionManagerListener(ISessionManagerListener listener) = 2;
|
void removeSessionManagerListener(ISessionManagerListener listener) = 2;
|
||||||
//void addCastStateListener(ICastStateListener listener) = 3;
|
void addCastStateListener(ICastStateListener listener) = 3;
|
||||||
//void removeCastStateListener(ICastStateListener listener) = 4;
|
void removeCastStateListener(ICastStateListener listener) = 4;
|
||||||
void endCurrentSession(boolean b, boolean stopCasting) = 5;
|
void endCurrentSession(boolean b, boolean stopCasting) = 5;
|
||||||
IObjectWrapper getWrappedThis() = 6;
|
IObjectWrapper getWrappedThis() = 6;
|
||||||
}
|
}
|
|
@ -0,0 +1,16 @@
|
||||||
|
package com.google.android.gms.cast.framework;
|
||||||
|
|
||||||
|
import com.google.android.gms.dynamic.IObjectWrapper;
|
||||||
|
|
||||||
|
interface ISessionManagerListener {
|
||||||
|
IObjectWrapper getWrappedThis() = 0;
|
||||||
|
void onSessionStarting(IObjectWrapper session) = 1;
|
||||||
|
void onSessionStartFailed(IObjectWrapper session, int error) = 2;
|
||||||
|
void onSessionStarted(IObjectWrapper session, String sessionId) = 3;
|
||||||
|
void onSessionResumed(IObjectWrapper session, boolean wasSuspended) = 4;
|
||||||
|
void onSessionEnding(IObjectWrapper session) = 5;
|
||||||
|
void onSessionEnded(IObjectWrapper session, int error) = 6;
|
||||||
|
void onSessionResuming(IObjectWrapper session, String sessionId) = 7;
|
||||||
|
void onSessionResumeFailed(IObjectWrapper session, int error) = 8;
|
||||||
|
void onSessionSuspended(IObjectWrapper session, int reason) = 9;
|
||||||
|
}
|
|
@ -0,0 +1,9 @@
|
||||||
|
package com.google.android.gms.cast.framework;
|
||||||
|
|
||||||
|
import com.google.android.gms.dynamic.IObjectWrapper;
|
||||||
|
|
||||||
|
interface ISessionProvider {
|
||||||
|
IObjectWrapper getWrappedSession(String id) = 0;
|
||||||
|
boolean isSessionRecoverable() = 1;
|
||||||
|
String getCategory() = 2;
|
||||||
|
}
|
|
@ -1,5 +1,15 @@
|
||||||
package com.google.android.gms.cast.framework;
|
package com.google.android.gms.cast.framework;
|
||||||
|
|
||||||
interface ISessionProxy {
|
import com.google.android.gms.dynamic.IObjectWrapper;
|
||||||
|
|
||||||
|
// TODO: Functionality still needs to be determined
|
||||||
|
interface ISessionProxy {
|
||||||
|
IObjectWrapper getWrappedThis() = 0;
|
||||||
|
void method1(in Bundle paramBundle) = 1;
|
||||||
|
void method2(in Bundle paramBundle) = 2;
|
||||||
|
void method3(boolean paramBoolean) = 3;
|
||||||
|
long method4() = 4;
|
||||||
|
int method5() = 5;
|
||||||
|
void method6(in Bundle paramBundle) = 6;
|
||||||
|
void method7(in Bundle paramBundle) = 7;
|
||||||
}
|
}
|
|
@ -1,5 +1,18 @@
|
||||||
package com.google.android.gms.cast.framework.internal;
|
package com.google.android.gms.cast.framework.internal;
|
||||||
|
|
||||||
interface IMediaRouter {
|
import android.os.Bundle;
|
||||||
|
|
||||||
|
import com.google.android.gms.cast.framework.internal.IMediaRouterCallback;
|
||||||
|
|
||||||
|
interface IMediaRouter {
|
||||||
|
void registerMediaRouterCallbackImpl(in Bundle selector, IMediaRouterCallback callback) = 0;
|
||||||
|
void addCallback(in Bundle selector, int flags) = 1;
|
||||||
|
void removeCallback(in Bundle selector) = 2;
|
||||||
|
boolean isRouteAvailable(in Bundle selector, int flags) = 3;
|
||||||
|
void selectRouteById(String routeId) = 4;
|
||||||
|
void selectDefaultRoute() = 5;
|
||||||
|
boolean isDefaultRouteSelected() = 6; // Maybe?
|
||||||
|
Bundle getRouteInfoExtrasById(String routeId) = 7;
|
||||||
|
String hashKey() = 8; // Maybe?
|
||||||
|
void clearCallbacks() = 10;
|
||||||
}
|
}
|
|
@ -0,0 +1,12 @@
|
||||||
|
package com.google.android.gms.cast.framework.internal;
|
||||||
|
|
||||||
|
import android.os.Bundle;
|
||||||
|
|
||||||
|
interface IMediaRouterCallback {
|
||||||
|
void onRouteAdded(String routeId, in Bundle extras) = 0;
|
||||||
|
void onRouteChanged(String routeId, in Bundle extras) = 1;
|
||||||
|
void onRouteRemoved(String routeId, in Bundle extras) = 2;
|
||||||
|
void onRouteSelected(String routeId, in Bundle extras) = 3;
|
||||||
|
void unknown(String routeId, in Bundle extras) = 4;
|
||||||
|
void onRouteUnselected(String routeId, in Bundle extras, int reason) = 5;
|
||||||
|
}
|
Loading…
Reference in a new issue