Android application

This is a simple Android application whose purpose is to display fullscreen non-interactive dashboards on Android devices. Its main use is to be run from an Android stick plug on some TV to run the web application to display dashboards.

Supported devices

Currently, the minimal version of Android is 4.2 (Jelly Bean). It may work with earlier versions but it has not been tested. Dashkiosk is using the Crosswalk project to provide an up-to-date webview with support of recent technologies.

There are a lot of Android devices that you can choose to run Dashkiosk on. When choosing one, prefer the ones which can be upgraded to Android 4.4.

Many cheap devices are using a Rockchip SoC limited to a 720p resolution. This can be circumvented with some non official experimental firmwares but usually, this is a sufficient resolution to display dashboards.

The following devices [1] are known to work reasonably well:

Features

  • It registers as a possible home screen. It is therefore to run the application on boot.
  • It provides a really fullscreen webview. Absolutely no space lost in bars.
  • No possible interactions. If run on a tablet, the user is mostly locked out. However, there are still some way to interact with the device while the application is running by invoking the settings and changing the home application from here.
  • Prevent the device going to sleep.

Compilation

If you don’t want to compile the Android app yourself, you can download a pre-compiled version from GitHub.

Building from source is just a matter of following those two simple steps:

  1. Clone the git repository.

  2. Build the application with the following command:

    ./gradlew assemble
    

At the end of the compilation, you get build/outputs/apk/dashkiosk-android-debug.apk that should be installed on the Android device.

Installation

You need the adb tool. On Debian and Ubuntu, you can install the android-tools-adb package to get it. Otherwise, it is available in the platform-tools of the Android SDK. If you didn’t install the SDK yourself, it should be in ~/.android-sdk. If adb is not present in the platform-tools directory, you can install it with:

tools/android update sdk --no-ui --all --filter platform-tool

You can then install the APK on a device attached through USB on your computer with the following command:

adb install -r build/outputs/apk/dashkiosk-android-debug.apk

Alternatively, you can just point a browser to the APK and you will get proposed to install it. You need to ensure that you allowed the installation of APK from unknown sources.

The next step is to run the configuration panel. This panel can be accessed by using the back button while the loading screen is running. It can be accessed later by clicking on the pen icon in the action bar.

Configuration

The orientation is configured to landscape by default. You can choose either auto or portrait.

If you want to lock a bit the application, you can lock settings to prevent any further modifications. You can still revert the changes by invoking the preferences activity with adb:

adb shell am start -n \
   com.deezer.android.dashkiosk/com.deezer.android.dashkiosk.DashboardPreferences

The important part is to input the receiver URL. You can check that this is the correct URL with any browser. You should see a dashboard with some nice images cycling.

The timeout is not really important. Until the application is able to make contact with the receiver, it will try to reload the receiver if the timeout is reached.

Another interesting setting is the ability to ignore SSL errors. This can be useful if you need to access a lot of self-signed pages. However, if you have an internal root certificate, it is better to add it to the Android system. This can be done in the preferences: SecurityCredential StorageInstall from storage.

Alternatively, the configuration can be done at compile-time by modifying res/xml/preferences.xml.

Usage

Once configured, just run the application as usual. You can also click on the home button and choose the application from here to make it starts on boot.

Troubleshooting

Still with adb, you can see the log generated by the application with the following command:

adb logcat -s DashKiosk AndroidRuntime

The log also includes Javascript errors that can be generated by the dashboards. Javascript errors from the receiver are prefixed with [Dashkiosk].

Footnotes

[1]Please, open an issue if you want to contribute to this list.