- 08 2月, 2018 8 次提交
-
-
由 Romain Vimont 提交于
The file scrcpy.c contains too many different things in addition to the main logic, so move the screen code to a separate file, screen.c.
-
由 Romain Vimont 提交于
In practice, these headers are included only once, but it's a good practice to always use include guards.
-
由 Romain Vimont 提交于
The struct decoder is defined in decoder.h. For naming consistency, define the struct controller in controller.h.
-
由 Romain Vimont 提交于
Some functions in scrcpy.c are not used outside the file, so declare them static.
-
由 Romain Vimont 提交于
Apply Genymobile checkstyle and gradle build files organization.
-
由 Romain Vimont 提交于
Use AXIS_HSCROLL (available since API 12) instead of AXIS_SCROLL (since API 26).
-
由 Romain Vimont 提交于
In handleEvent(), connection.receiveControlEvent() may never return null: either it returns a valid ControlEvent, either it throws an Exception. Therefore, there is no need to propagate a flag to indicate whether it returned a valid ControlEvent.
-
由 Romain Vimont 提交于
Use one parse method per control event type.
-
- 07 2月, 2018 11 次提交
-
-
由 Romain Vimont 提交于
The server is not a real Android application, it's just a jar with a main method. Instrumented tests are meaningless in this context.
-
由 Romain Vimont 提交于
On some devices, we can reuse the same codec and display, but on some others (e.g. Nexus 5X with Android 7.1.2), it crashes on codec.stop() with an IllegalStateException. Therefore, always recreate the codec and display, so that it works on all devices.
-
由 Romain Vimont 提交于
If rotation changed, the dequeued output buffer was never released. Move it to a finally block to avoid the leak.
-
由 Romain Vimont 提交于
Let some time to print any exception trace before killing it.
-
由 Romain Vimont 提交于
Log at debug level user requests to quit.
-
由 Romain Vimont 提交于
On --version, also print the dependencies version scrcpy has been compiled against.
-
由 Romain Vimont 提交于
Expose scrcpy version via -v or --version.
-
由 Romain Vimont 提交于
The skip_frames flag was a non-configurable runtime flag. Since it is not exposed to the user, there is no need for a (possible) runtime cost. For testing purpose, we still want it to be configurable, so make it a compilation flag.
-
由 Romain Vimont 提交于
Make meson generate config.h with configured values.
-
由 Romain Vimont 提交于
To highlight the debug/release mode of the running application, use a different window icon color in debug mode.
-
由 Romain Vimont 提交于
Expose commands to build the application in debug mode.
-
- 06 2月, 2018 2 次提交
-
-
由 Romain Vimont 提交于
We encounter some problems with SDL2_image on MSYS2 (Windows), so implement our own XPM parsing which does not depend on SDL_image. The input XPM is considered safe (it's in our source repo), so do not check XPM format errors. This implies that read_xpm() is not safe to call on any unsafe input. Although less straightforward, use SDL_CreateRGBSurfaceFrom() instead of SDL_CreateRGBSurfaceWithFormatFrom() because it is available with SDL versions older than 2.0.5.
-
由 Romain Vimont 提交于
In MSYS2 on Windows, the behavior is the same as on Linux. On systems where the behavior is not the same, just customize the GRADLE variable: GRADLE=gradlew make release This reverts commit de192cab.
-
- 05 2月, 2018 3 次提交
-
-
由 Romain Vimont 提交于
The hint SDL_HINT_MOUSE_FOCUS_CLICKTHROUGH appeared in SDL 2.0.5. Ignore it if the SDL version is older.
-
由 Romain Vimont 提交于
The default value of GRADLE is "./gradlew", which is the correct value on Linux. On Windows, it should use gradlew.bat (by calling "gradlew") instead.
-
由 Romain Vimont 提交于
Add a bugdroid icon loaded from an XPM.
-
- 04 2月, 2018 2 次提交
-
-
由 Romain Vimont 提交于
The scrcpy() function returns a SDL_bool to indicate its success, but was initialized to 0 (SDL_FALSE) instead of SDL_TRUE.
-
由 Romain Vimont 提交于
To run the app during development, add a recipe "run" to the Makefile.
-
- 03 2月, 2018 1 次提交
-
-
由 Romain Vimont 提交于
Expose useful methods directly in Device, without exposing the service managers.
-
- 02 2月, 2018 13 次提交
-
-
由 Romain Vimont 提交于
To guarantee that we instantiate services only one, cache the value the first time.
-
由 Romain Vimont 提交于
The purpose of handle_shortcut() was to group all actions together, whether they are initiated from a text input event or a keycode event. However, it did not handle the case where it was initiated from a mouse event (a right-click must turn the screen on), since the action was identified by the shortcut char. Instead, expose one function per action, to be called directly from where the event is handled.
-
由 Romain Vimont 提交于
-
由 Romain Vimont 提交于
Document the new shortcuts in the help (scrcpy --help).
-
由 Romain Vimont 提交于
When starting scrcpy, immediately turn the screen on.
-
由 Romain Vimont 提交于
The right-click is almost useless on Android, so use it to turn the screen on. Add a new control event type (command) to request the server to turn the screen on.
-
由 Romain Vimont 提交于
Reformated by Android Studio.
-
由 Romain Vimont 提交于
Shortcuts are sometimes initiated from a keycode event, and sometimes from a text input event. Move the handling to a unique function.
-
由 Romain Vimont 提交于
To simplify event handling code, move all actions to separate functions.
-
由 Romain Vimont 提交于
Logs were printed by the caller of switch_fullscreen(). Move them inside the function to simplify event handling code.
-
由 Romain Vimont 提交于
Add shortcuts for HOME, BACK, APPS, POWER, VOLUME_UP and VOLUME_DOWN.
-
由 Romain Vimont 提交于
The server is built as an APK to simplify the build, but in fact this is a simple jar (it is not even signed). In order to avoid confusion, rename it to .jar, so that users do not try to "adb install" it. Also rename it from "scrcpy" to "scrcpy-server" to distinguish from the client-side.
-
由 Romain Vimont 提交于
The server path may be customized using SCRCPY_APK. If its basename is different from "scrcpy.apk", it will be pushed with a different name, so the execution would fail. Therefore, force the push target filename.
-