Dankass remote control thang for k0di vidy0 (Android only lmao)

Wazakindjes 3b0d484df0 Configurable socket timeout (100-9999 ms) cuz sometimes k0di may respond a little later than 100ms lol 3 days ago
app 3b0d484df0 Configurable socket timeout (100-9999 ms) cuz sometimes k0di may respond a little later than 100ms lol 3 days ago
ass b5d2ad4147 Added scr0t of persistent notification and mentioned some shit about showing over the l0cc screen, also added een 0ption to not close the notification drawer after tapping on an action button 1 week ago
.gitignore 2b2aaac8a5 Initial commit 8 months ago
LICENSE 2b2aaac8a5 Initial commit 8 months ago
README.md b5d2ad4147 Added scr0t of persistent notification and mentioned some shit about showing over the l0cc screen, also added een 0ption to not close the notification drawer after tapping on an action button 1 week ago

README.md

The fuck is this

This shit started as a dankass remote control thanggGgGg for Kodi (as in the home theater shit) to forward/rewind playback using fixed intervals, based on what you're watching. I mostly made it for myself because I cbf to keep using a mouse to skip past an intro or credits roll, depending on the show. It's not a full-fledged remote control cuz there are better apps for that already. ;]

This app has a target SDK of 25 which corresponds to Android 7.1 (I'm using 25 cuz that gives me full-size app icons w/o that adaptive cancer). It was tested against Kodi v17.6 ("Krypton") which uses JSON-RPC v8. Anything newer should work just fine as well though.

Dependencies/installation

The app makes use of Kodi's webserver functionality as well as the separate JSON-RPC API. If you already have another remote app (like Kore) then you should be good already. Otherwise:

  • Webserver (HTTP): In System > Settings > Network > Services activate Allow control of Kodi via HTTP
  • JSON-RPC (TCP): In System > Settings > Network > Services activate Allow programs on other systems to control Kodi

The webserver is only used in the initial connection to check your user credentials, cuz apparently the TCP API doesn't support authentication?

Releasing modified (and signed) APKs

You'll need to make some adjustments if you want to release signed APKs lol. Refer to the section right here (only applies to Mac OS X, if you're on Windows then idk how to do something similar :>).

Usage

scr0t

If enabled in the settings, this entire activity can be shown on the lock screen (but it requires you to l0cc the screen while the app itself is in the foreground)

  1. Obviously you're gonna use the plus sign for adding shit brah

  2. If you want to edit existing "shortcuts" you'll have to enable edit mode. I went with a separate "mode" so you won't accidentally skip ahead when you just wanted to change some shit. In edit mode you can:

    • Short press on a button to change its label and/or skip-ahead value, or to delete it entirely.
    • Long press to initiate dragging. You can then drop it onto another button and it will take its place, moving everything after it to the right.

  3. Reconnect to Kodi in case shit rips =]

  4. Import/export shortcuts. They will be saved to the Downloads directory on y0 SD card to a file named k0di.jayson. When importing that shit it will clear all existing shortcuts and replace them with the JSON contents.

  5. Settings 0bv lol

  6. Connection status, which can be either W E   G U C C I or R I P and is col0urised to match. In some cases the text will be gucci but the col0ur is also red, this means that you're still connected but it's just a command that returned an error. ;]

  7. Extra error information when applicable, which may be the raw JSON as received from Kodi. =]

  8. The (re)store functionality is so you can save your playlist's current position (including time as you can see), which you can quickly restore so you don't have to try and remember that shit yourself. When rest0ring, it checks the current play/pause status and repauses that shit if it wasn't playing before either. Also, if the "playlist" (aka "Now Playing" shit) changed it will try to find the st0red vidy0 in the list by name.

  9. Area for the shortcuts y0. The buttons are rendered in a grid-based layout which will wrap them onto new "lines" (or rows) automatically when necessary.

There's also an optional persistent notification which will be shown on the l0cc screen as well, so you won't have to unlock that shit just to skip some shit. ;3
scr0t

Muy imp0rtante: the Toast message popups with success feedback or even errors won't show up when using this notification from the l0cc screen (THANKS GOOGLE)

  1. Name of last used shortcut

  2. Restore the saved vidy0 information, will be hidden if nothing was st0red obv

  3. st0re current vidy0 information

  4. Redo the last used skip action (shortcut)