This is the list of the core contextual properties of the Maemo platform.
This document is maintained as part of the contextkit package. Please report change requests as bugs against the contextkit package.
NOTE: Most of these properties are unstable and their definition will change for some time still. Only the ones explicitly marked as stable should be used for now.
These properties talk about the display screens of the device.
The edge of the main display screen where the user expects the top-most UI elements to be. Possible values are the strings "top", "bottom", "left", and "right", which refer to the edges of the screen in its normal orientation as defined by the graphics hardware. (stable)
Possible enumeration values:
top
bottom left right |
Whether or not the main display screen is covered and can thus not be seen by the user. This might mean that the device is laying face down on a table, or that its lid is closed if it has one. (stable)
The session goes to the "blanked" state when the user stops interacting with it and the the screen is blanked. In general, there is no point in trying to interact with the user when the session is blanked.
Best effort location information. If any of the keys are not appliciable to the current location, they will be unavailable.
Status of the connection to a satellite positioning system e.g. GPS.
Possible enumeration values:
on
off search |
The coordinates of the current position as a list of two or three doubles. The first two elemets are latitude and longitude, respectivly, in degrees. The third element, when present, is the altitude in meter.
The deviation, in degrees (0-360), from the geographical north.
Information about the physical position of the device.
A boolean indicating whether or not the position of the device is stable, i.e., the device does not move.
A boolean indicating whether or not the device is moving rapidly. Not necessarily the opposite of Position.Stable; both may be false simultaneously.
A boolean indicating whether or not the device is in a flat position.
Information about the batteries of the device.
The average charge level of the currently connected batteries. Expressed as percentage of the maximum charge level.
The charge bars property is a list of two integers. The first is the remaining capacity as number of bars, the second is the maximum number of battery bars.
Whether or not the device is currently running on battery power, i.e., whether at least one of its batteries is currently discharging.
Whether or not the device is currently running on low battery power. True if OnBattery is true and the charge levels of all batteries are below 10%.
Whether or not the device is currently charging at least one of its batteries.
Estimates the time that the device can run on battery before the property OnLowBattery becomes true. In seconds.
Estimates the needed charging time of the device. In seconds.
Information about the current state of the device.
Information about the connection of the devide to the Internet.
The type of the current connection to the Internet. This is one of the strings "WLAN", "wimax", "GPRS", "bluetooth", "ethernet", or "usb". (From ConnMan. New types might be defined in the future, of course.)
Possible enumeration values:
WLAN
wimax GPRS bluetooth ethernet |
The name of the current network.
The state of the Internet connection, as one of "connected", "disconnected", and "connecting".
Possible enumeration values:
disconnected
connecting connected |
The signal strength of the current connection to the Internet. For example, when Internet.NetworkType is "cellular", this is the signal strength at the cellular radio, when it is "wifi", it is the signal strength at the WLAN radio.
A rough indication of the current traffic rate to the Internet, in percent of the maximum possible rate.
A rough indication of the current traffic rate from the Internet, in percent of the maximum possible rate.
Information about Bluetooth related things.
A boolean indicating whether or not the Bluetooth radio is enabled.
A boolean indicating whether or not the device is visible to other Bluetooth devices when they search for others.
A boolean indicating whether or not the device is connected to a Bluetooth device. At least one remote device is connected.
Information about the cellular radio.
The name of the cellular network.
Depending on SIM cards configuration, the NetworkName can consist of both the service provider name from the SIM and the current serving network name.
The format is in that case:
"service_provider (current_serving_network_name)"
Current cellular network operator name using local charset (if available).
The signal strength at the cellular radio, in percent of the maximum.
The signal strength at the cellular radio, in bars.
Type parameters:
min
|
0 |
max
|
5 |
The currently used Radio Access Technology.
Possible enumeration values:
gsm
umts lte |
The currently used Radio Access Technology for data transfer.
Possible enumeration values:
gprs
egprs umts hspa lte |
The current cellular network registration status.
Possible enumeration values:
home
|
Registered with the home network |
roam
|
Roaming |
no-sim
|
No SIM card is present |
offline
|
Cellular radio is powered off |
forbidden
|
Cellular access is denied, e.g., because of invalid SIM |
need-pin
|
PIN needed |
The current cellular service status.
Possible enumeration values:
full-service
limited-service no-coverage |
The broadcast name of the current base station.
A boolean indicating whether or not packet data are being transfered.
Setting for base station name display.
GSM frequency bands in use.
Information about the alams set by the user. We assume, that the user can disable or enable all the alarms. In addition, the user can enable or disable each alarm individually.
Indicates whether there is an upcoming alarm set by the user. Can be true even if alarms are disabled.
Trigger time of all alarm events. The keys of the map are decimal representations of the alarm cookies. A value is the next trigger time of the event in nano-seconds from the UNIX epoch.
Information about the environment the device is in.
Information about the expected behavior of the device.
The name of the currently active profile as a localized string. You should not try to interpret this string, it is only meant to be displayed as a reminder to the user.
Information about the end-user presence.
The most meaningful presence status for the user throughout the services.
Possible enumeration values:
offline
connecting busy available |
Information about the phone states.
A string indicaiting the telephony state on the device. It covers various telephony technologies e.g. VoIP.
Possible enumeration values:
inactive
alerting active knocking |
A boolean indicating whether or not inputs are muted.
Information about the current user session. If there is no current session, all values are null.
The state of the current session, as string valued enumeration.
The session is in the "normal" state when the normal desktop UI components such as the panel, desktop icons, taskbars, notification areas and status menus are available to the user.
The session goes to the "blanked" state when the user stops interacting with it and the the screen is blanked. In general, there is no point in trying to interact with the user when the session is blanked.
The session is in the "fullscreen" state when the complete screen has been given to an application, such as full-screen video playback. In that state, the notification areas and status menus, etc of the desktop aren’t visible to the user, of course, and notifications should be unintrusive and important.
Applications should be prepared to see all states in any kind of order without getting confused.
+
Possible enumeration values:
normal
fullscreen blanked |
Information about media related activity.
The currently playing media, such as a video or audio track. The value is a dictionary with the listed entries. If "resource" is included, then "title", "artist", "genre", and "album" are consistent with what Tracker has stored.
The current position in the media is always "current-time - start-time". If the user seeks then that is expressed by changing "start-time". In other words, "start-time" is not the point in time when the user has clicked the play button, it is the point in time when the media would have had to start to play uninterrupted to reach its current position now. This slight complication is done in favor of transmitting the position directly to avoid telling you once every second that it is now one second later.
+
Possible map keys:
resource
title artist genre album duration start-time state |