Added support for ToggleFullScreen. Using Input.ExecuteAction instead of GUI.SetFullscreen because the later doesn't work.

This commit is contained in:
Synced Synapse 2015-01-25 14:17:22 +00:00
parent be130b85e4
commit c4d5c4bca9
5 changed files with 41 additions and 1 deletions

View File

@ -18,6 +18,7 @@ package com.syncedsynapse.kore2.jsonrpc.method;
import com.fasterxml.jackson.databind.node.ObjectNode;
import com.syncedsynapse.kore2.jsonrpc.ApiException;
import com.syncedsynapse.kore2.jsonrpc.ApiMethod;
import com.syncedsynapse.kore2.utils.JsonUtils;
/**
* All JSON RPC methods in GUI.*
@ -181,4 +182,27 @@ public class GUI {
}
}
/**
* Toggle fullscreen/GUI
*/
public static final class SetFullscreen extends ApiMethod<Boolean> {
public final static String METHOD_NAME = "GUI.SetFullscreen";
/**
* Toggle fullscreen/GUI
*/
public SetFullscreen() {
super();
addParameterToRequest("fullscreen", "toggle");
}
@Override
public String getMethodName() { return METHOD_NAME; }
@Override
public Boolean resultFromJson(ObjectNode jsonObject) throws ApiException {
return JsonUtils.booleanFromJsonNode(jsonObject, RESULT_NODE);
}
}
}

View File

@ -34,8 +34,11 @@ import com.syncedsynapse.kore2.R;
import com.syncedsynapse.kore2.host.HostConnectionObserver;
import com.syncedsynapse.kore2.host.HostManager;
import com.syncedsynapse.kore2.jsonrpc.ApiCallback;
import com.syncedsynapse.kore2.jsonrpc.method.*;
import com.syncedsynapse.kore2.jsonrpc.method.Application;
import com.syncedsynapse.kore2.jsonrpc.method.AudioLibrary;
import com.syncedsynapse.kore2.jsonrpc.method.Input;
import com.syncedsynapse.kore2.jsonrpc.method.System;
import com.syncedsynapse.kore2.jsonrpc.method.VideoLibrary;
import com.syncedsynapse.kore2.jsonrpc.type.ListType;
import com.syncedsynapse.kore2.jsonrpc.type.PlayerType;
import com.syncedsynapse.kore2.ui.hosts.AddHostActivity;
@ -173,6 +176,11 @@ public class RemoteActivity extends HostConnectionActivity
SendTextDialogFragment.newInstance(getString(R.string.send_text));
dialog.show(getSupportFragmentManager(), null);
return true;
case R.id.toggle_fullscreen:
// GUI.SetFullscreen actionSetFullscreen = new GUI.SetFullscreen();
Input.ExecuteAction actionSetFullscreen = new Input.ExecuteAction(Input.ExecuteAction.TOGGLEFULLSCREEN);
actionSetFullscreen.execute(hostManager.getConnection(), null, null);
return true;
case R.id.clean_video_library:
VideoLibrary.Clean actionCleanVideo = new VideoLibrary.Clean();
actionCleanVideo.execute(hostManager.getConnection(), null, null);

View File

@ -58,4 +58,8 @@
app:showAsAction="never"/>
</menu>
</item>
<item android:id="@+id/toggle_fullscreen"
android:title="@string/toggle_fullscreen"
android:orderInCategory="4"
app:showAsAction="never"/>
</menu>

View File

@ -56,6 +56,8 @@
<string name="update_video_library">Mettre à jour la bibliothèque vidéo</string>
<string name="update_audio_library">Mettre à jour la bibliothèque audio</string>
<string name="toggle_fullscreen">Plein écran</string>
<string name="connected_to">Connecté à %1$s</string>
<string name="connecting">Connexion en cours\u2026</string>
<string name="connecting_to">Connexion à %1$s (%2$s)\u2026</string>

View File

@ -56,6 +56,8 @@
<string name="update_video_library">Update video library</string>
<string name="update_audio_library">Update audio library</string>
<string name="toggle_fullscreen">Toggle fullscreen</string>
<string name="connected_to">Connected to %1$s</string>
<string name="connecting">Connecting…</string>
<string name="connecting_to">Connecting to %1$s (%2$s)…</string>