On the UBIK® Android client, several user interface (UI) details can be customized. These include for example:
The UIConfigurations folder
All UI configuration files are placed in a certain folder structure, whereas the exact path of the UIConfigurations folder depends on the configuration level. The required file and folder structure on the client is:
|Folder / File||Purpose|
|UIConfigurations||main configuration folder|
|..\CSSButtonIcons'||resource folder for the start screen buttons|
|..\css_config.xml||start screen configuration|
|..\bg_portrait.png||background in portrait orientation|
|..\bg_landscape.png||background in landscape orientation|
|..\status_led.png||status led icon|
Depending on the use case, it can be desirable to customize a single app specifically for a single user or instead customize all UBIK® apps on a device in the same way. In order to provide all necessary possibilities, there are multiple configuration levels with different paths for the UIConfigurations folder.
|Device||<internal_storage>\UBIK\UIConfigurations||The configuration will be applied for all installed UBIK® apps, if it is not overruled by more specific configurations. The data will not be deleted when an app is uninstalled.|
|App (persistent)||<internal_storage>\UBIK\<app_package_name>\UIConfigurations||The configuration will be applied for the specified app, if it is not overruled by more specific configurations. The data will not be deleted when an app is uninstalled.|
|App (installation-bound)||<internal_storage>\Android\data\<app_package_name>\files\UIConfigurations||The configuration will be applied for the specified app, if it is not overruled by more specific configurations. The data will be deleted when an app is uninstalled.|
|User specific (server-bound)|| Delivered by web service, depending on the customizing. Stored in:
|The configuration will be applied for the specified user & app. There is no more specific configuration, so it will never be overruled. The data will be deleted when an app is uninstalled or overwritten, if the web service provides a new configuration.|
- <internal_storage> is the public root directory of a device.
- <app_package_name> is the app-specific package name, e.g. "com.augmensys.ubik.demo" or "com.augmensys.ubik.customer1.topicA" (depending on the customer and the topic the app exists for, if the customer has multiple apps).
- <user> is a specific user's account name (lower case).
One can freely combine these configuration levels for each detail configuration. This means that e.g. a status led can be configured for all apps, while the start screen configuration is app-specific and the background images are user-dependent at the same time. In other words, a missing detail in a UIConfigurations folder doesn't overrule existing configurations on a more general level.
Not server-customizable details
Not every UI configuration detail can be delivered by the server (user specific), e.g. the start screen configuration. All details can be configured on the device manually or using a Mobile Device Management (MDM) Software though.