<commit_before># Device Capabilities

## Introduction

Rhodes provide access to device specific capabilities such as GPS, PIM, camera, SMS, video player, accelerometer, proximity detector and [native UI elements](ui).  Below is the device support matrix showing what release supports what device capabilities on a per device operating system basis.

<table class="device-caps">
	<tr>
		<th>Capability</th>
		<th>iOS</th>
		<th>Windows Mobile</th>
		<th>Windows Phone</th>
		<th>BlackBerry</th>
		<th>Android</th>
		<th>RhoSimulator</th>
		<th>Symbian</th>
		<th>Windows Desktop</th>
	</tr>
	<tr><td class='cap'>GeoLocation</td><td>0.3</td><td>0.3</td><td class='tbd'>TBD</td><td>0.3</td><td>1.0</td><td class='tbd'>3.5</td><td class='tbd'>TBD</td><td class='tbd'>TBD</td></tr>
	<tr><td class='cap'>PIM Contacts</td><td>0.3</td><td>0.3</td><td class='tbd'>TBD</td><td>0.3</td><td>1.0</td><td class='tbd'>3.5</td><td>3.1</td><td class='tbd'>TBD</td></tr>
	<tr><td class='cap'>PIM Calendar</td><td>2.2</td><td>2.2</td><td class='tbd'>TBD</td><td>2.2</td><td>2.2</td><td class='tbd'>3.5</td><td class='tbd'>TBD</td><td class='tbd'>TBD</td></tr>
	<tr><td class='cap'>Camera</td><td>1.0</td><td>1.0</td><td class='tbd'>TBD</td><td>1.0</td><td>1.0</td><td>3.0</td><td class='tbd'>TBD</td><td class='tbd'>TBD</td></tr>
	<tr><td class='cap'>Barcode</td><td>2.1</td><td>2.1</td><td class='tbd'>TBD</td><td>2.1</td><td>2.1</td><td class='tbd'>4.0</td><td class='tbd'>TBD</td><td class='tbd'>TBD</td></tr>
	<tr><td class='cap'>Date/Time picker</td><td>1.2.2</td><td>2.0</td><td class='tbd'>TBD</td><td>1.2</td><td>1.2</td><td>3.0</td><td class='tbd'>TBD</td><td>3.0</td></tr>
	<tr><td class='cap'>Menu</td><td>1.2.2</td><td>2.0</td><td>3.0</td><td>1.2</td><td>1.5</td><td>3.0</td><td>3.1</td><td>3.0</td></tr>
	<tr><td class='cap'>Toolbar</td><td>1.2.2</td><td>2.3</td><td>3.0</td><td class='tbd'>n/a</td><td>1.5</td><td>3.0</td><td>3.1</td><td>3.0</td></tr>
	<tr><td class='cap'>Tab Bar</td><td>1.2.2</td><td class='tbd'>3.5</td><td>3.0</td><td class='tbd'>n/a</td><td>1.5</td><td>3.1</td><td>3.1</td><td class='tbd'>3.4</td></tr>
	<tr><td class='cap'>Nav Bar</td><td>2.0</td><td class='tbd'>3.5</td><td class='tbd'>TBD</td><td class='tbd'>n/a</td><td>2.0</td><td class='tbd'>4.0</td><td class='tbd'>TBD</td><td class='tbd'>TBD</td></tr>
	<tr><td class='cap'>Signature Capture</td><td>2.1</td><td>3.0</td><td class='tbd'>TBD</td><td class='tbd'>3.5</td><td>2.1</td><td class='tbd'>4.0</td><td class='tbd'>TBD</td><td class='tbd'>TBD</td></tr>
	<tr class='tbd'><td class='cap'>Audio/Video capture</td><td>4.0</td><td>4.0</td><td class='tbd'>TBD</td><td>4.0</td><td>4.0</td><td>4.0</td><td class='tbd'>TBD</td><td class='tbd'>TBD</td></tr>
	<tr><td class='cap'>Bluetooth</td><td>2.2</td><td>2.2</td><td class='tbd'>TBD</td><td>2.2</td><td>2.2</td><td class='tbd'>4.0</td><td class='tbd'>TBD</td><td class='tbd'>TBD</td></tr>
	<tr><td class='cap'>NFC</td><td class='tbd'>TBD</td><td class='tbd'>TBD</td><td class='tbd'>TBD</td><td class='tbd'>TBD</td><td>3.0</td><td class='tbd'>4.0</td><td class='tbd'>TBD</td><td class='tbd'>TBD</td></tr>
	<tr><td class='cap'>Push</td><td>1.2</td><td class='tbd'>4.0</td><td class='tbd'>TBD</td><td>1.2</td><td>2.2</td><td class='tbd'>3.5</td><td class='tbd'>TBD</td><td class='tbd'>TBD</td></tr>
	<tr><td class='cap'>Screen rotation</td><td>2.1</td><td class='tbd'>3.5</td><td class='tbd'>TBD</td><td>2.0</td><td>2.1</td><td class='tbd'>3.5</td><td class='tbd'>TBD</td><td class='tbd'>TBD</td></tr>
	<tr><td class='cap'>Native Maps</td><td>1.4</td><td class='tbd'>3.5</td><td class='tbd'>TBD</td><td>1.4</td><td>1.5</td><td class='tbd'>3.5</td><td class='tbd'>TBD</td><td class='tbd'>TBD</td></tr>
	<tr><td class='cap'>Alerts/Audio File Playback</td><td>1.2</td><td>1.5</td><td class='tbd'>TBD</td><td>1.2</td><td>1.2</td><td>3.1</td><td class='tbd'>TBD</td><td>3.1</td></tr>
	<tr><td class='cap'>Ringtones</td><td>3.5</td><td>1.5</td><td class='tbd'>TBD</td><td>1.5</td><td>1.5</td><td class='tbd'>3.5</td><td class='tbd'>TBD</td><td class='tbd'>TBD</td></tr>
	<tr><td class='cap'>Printing</td><td>3.4</td><td>3.4</td><td class='tbd'>TBD</td><td class='tbd'>TBD</td><td class='tbd'>TBD</td><td class='tbd'>TBD</td><td class='tbd'>TBD</td><td class='tbd'>TBD</td></tr>
</table>	

**NOTE: As of Rhodes version 3.3.3, the [Barcode](/rhodes/device-caps#barcode), [NFC](/rhodes/device-caps#nfc), and [Inline Signature Capture](/rhodes/device-caps#signature-capture) APIs, as well as [Rhom data encryption](/rhodes/rhom#database-encryption) are removed from Rhodes. These features are only supported in Motorola RhoMobile Suite. If you wish to use these features, you will need to [upgrade to RhoMobile Suite](/rhomobile-install). Your application's build.yml will also need to be modified to [indicate the application type is 'Rhoelements']( /rhoelements/rhoelements2-native#enabling-motorola-device-capabilities). Additionally, a [RhoElements license](/rhoelements/licensing) is required.**

## System class
The System Ruby class provides access to the system specific information.

To get value of a named system property:
	:::ruby
	System.get_property(property)

Properties:

* platform - APPLE, Blackberry, WINDOWS, ANDROID, WINDOWS_DESKTOP, SYMBIAN
* has_camera - is camera available on the device
* screen_width - screen width in logical pixels (used for set coordinates)
* screen_height - screen height in logical pixels (used for set coordinates)
* real_screen_width - screen width in real pixels
* real_screen_height - screen height in real pixels
* screen_orientation - screen orientation 'portrait', 'landscape'
* ppi_x - horizontal PPI (Pixels Per Inch)
* ppi_y - vertical PPI (Pixels Per Inch)
* has_network - is device connected to the network
* has_cell_network - is device connected to the cell network<commit_msg>rhosimulator: device capabilities matrix corrected<commit_after># Device Capabilities

## Introduction

Rhodes provide access to device specific capabilities such as GPS, PIM, camera, SMS, video player, accelerometer, proximity detector and [native UI elements](ui).  Below is the device support matrix showing what release supports what device capabilities on a per device operating system basis.

<table class="device-caps">
	<tr>
		<th>Capability</th>
		<th>iOS</th>
		<th>Windows Mobile</th>
		<th>Windows Phone</th>
		<th>BlackBerry</th>
		<th>Android</th>
		<th>RhoSimulator</th>
		<th>Symbian</th>
		<th>Windows Desktop</th>
	</tr>
	<tr><td class='cap'>GeoLocation</td><td>0.3</td><td>0.3</td><td class='tbd'>TBD</td><td>0.3</td><td>1.0</td><td class='tbd'>3.5</td><td class='tbd'>TBD</td><td class='tbd'>TBD</td></tr>
	<tr><td class='cap'>PIM Contacts</td><td>0.3</td><td>0.3</td><td class='tbd'>TBD</td><td>0.3</td><td>1.0</td><td class='tbd'>3.5</td><td>3.1</td><td class='tbd'>TBD</td></tr>
	<tr><td class='cap'>PIM Calendar</td><td>2.2</td><td>2.2</td><td class='tbd'>TBD</td><td>2.2</td><td>2.2</td><td class='tbd'>3.5</td><td class='tbd'>TBD</td><td class='tbd'>TBD</td></tr>
	<tr><td class='cap'>Camera</td><td>1.0</td><td>1.0</td><td class='tbd'>TBD</td><td>1.0</td><td>1.0</td><td>3.0</td><td class='tbd'>TBD</td><td class='tbd'>TBD</td></tr>
	<tr><td class='cap'>Barcode</td><td>2.1</td><td>2.1</td><td class='tbd'>TBD</td><td>2.1</td><td>2.1</td><td class='tbd'>4.0</td><td class='tbd'>TBD</td><td class='tbd'>TBD</td></tr>
	<tr><td class='cap'>Date/Time picker</td><td>1.2.2</td><td>2.0</td><td class='tbd'>TBD</td><td>1.2</td><td>1.2</td><td>3.0</td><td class='tbd'>TBD</td><td>3.0</td></tr>
	<tr><td class='cap'>Menu</td><td>1.2.2</td><td>2.0</td><td>3.0</td><td>1.2</td><td>1.5</td><td>3.0</td><td>3.1</td><td>3.0</td></tr>
	<tr><td class='cap'>Toolbar</td><td>1.2.2</td><td>2.3</td><td>3.0</td><td class='tbd'>n/a</td><td>1.5</td><td>3.0</td><td>3.1</td><td>3.0</td></tr>
	<tr><td class='cap'>Tab Bar</td><td>1.2.2</td><td class='tbd'>3.5</td><td>3.0</td><td class='tbd'>n/a</td><td>1.5</td><td>3.1</td><td>3.1</td><td class='tbd'>3.4</td></tr>
	<tr><td class='cap'>Nav Bar</td><td>2.0</td><td class='tbd'>3.5</td><td class='tbd'>TBD</td><td class='tbd'>n/a</td><td>2.0</td><td class='tbd'>4.0</td><td class='tbd'>TBD</td><td class='tbd'>TBD</td></tr>
	<tr><td class='cap'>Signature Capture</td><td>2.1</td><td>3.0</td><td class='tbd'>TBD</td><td class='tbd'>3.5</td><td>2.1</td><td class='tbd'>4.0</td><td class='tbd'>TBD</td><td class='tbd'>TBD</td></tr>
	<tr class='tbd'><td class='cap'>Audio/Video capture</td><td>4.0</td><td>4.0</td><td class='tbd'>TBD</td><td>4.0</td><td>4.0</td><td>4.0</td><td class='tbd'>TBD</td><td class='tbd'>TBD</td></tr>
	<tr><td class='cap'>Bluetooth</td><td>2.2</td><td>2.2</td><td class='tbd'>TBD</td><td>2.2</td><td>2.2</td><td class='tbd'>4.0</td><td class='tbd'>TBD</td><td class='tbd'>TBD</td></tr>
	<tr><td class='cap'>NFC</td><td class='tbd'>TBD</td><td class='tbd'>TBD</td><td class='tbd'>TBD</td><td class='tbd'>TBD</td><td>3.0</td><td class='tbd'>4.0</td><td class='tbd'>TBD</td><td class='tbd'>TBD</td></tr>
	<tr><td class='cap'>Push</td><td>1.2</td><td class='tbd'>4.0</td><td class='tbd'>TBD</td><td>1.2</td><td>2.2</td><td class='tbd'>3.5</td><td class='tbd'>TBD</td><td class='tbd'>TBD</td></tr>
	<tr><td class='cap'>Screen rotation</td><td>2.1</td><td class='tbd'>3.5</td><td class='tbd'>TBD</td><td>2.0</td><td>2.1</td><td class='tbd'>3.5</td><td class='tbd'>TBD</td><td class='tbd'>TBD</td></tr>
	<tr><td class='cap'>Native Maps</td><td>1.4</td><td class='tbd'>3.5</td><td class='tbd'>TBD</td><td>1.4</td><td>1.5</td><td>3.4</td><td class='tbd'>TBD</td><td class='tbd'>TBD</td></tr>
	<tr><td class='cap'>Alerts/Audio File Playback</td><td>1.2</td><td>1.5</td><td class='tbd'>TBD</td><td>1.2</td><td>1.2</td><td>3.1</td><td class='tbd'>TBD</td><td>3.1</td></tr>
	<tr><td class='cap'>Ringtones</td><td>3.5</td><td>1.5</td><td class='tbd'>TBD</td><td>1.5</td><td>1.5</td><td class='tbd'>3.5</td><td class='tbd'>TBD</td><td class='tbd'>TBD</td></tr>
	<tr><td class='cap'>Printing</td><td>3.4</td><td>3.4</td><td class='tbd'>TBD</td><td class='tbd'>TBD</td><td class='tbd'>TBD</td><td class='tbd'>TBD</td><td class='tbd'>TBD</td><td class='tbd'>TBD</td></tr>
</table>	

**NOTE: As of Rhodes version 3.3.3, the [Barcode](/rhodes/device-caps#barcode), [NFC](/rhodes/device-caps#nfc), and [Inline Signature Capture](/rhodes/device-caps#signature-capture) APIs, as well as [Rhom data encryption](/rhodes/rhom#database-encryption) are removed from Rhodes. These features are only supported in Motorola RhoMobile Suite. If you wish to use these features, you will need to [upgrade to RhoMobile Suite](/rhomobile-install). Your application's build.yml will also need to be modified to [indicate the application type is 'Rhoelements']( /rhoelements/rhoelements2-native#enabling-motorola-device-capabilities). Additionally, a [RhoElements license](/rhoelements/licensing) is required.**

## System class
The System Ruby class provides access to the system specific information.

To get value of a named system property:
	:::ruby
	System.get_property(property)

Properties:

* platform - APPLE, Blackberry, WINDOWS, ANDROID, WINDOWS_DESKTOP, SYMBIAN
* has_camera - is camera available on the device
* screen_width - screen width in logical pixels (used for set coordinates)
* screen_height - screen height in logical pixels (used for set coordinates)
* real_screen_width - screen width in real pixels
* real_screen_height - screen height in real pixels
* screen_orientation - screen orientation 'portrait', 'landscape'
* ppi_x - horizontal PPI (Pixels Per Inch)
* ppi_y - vertical PPI (Pixels Per Inch)
* has_network - is device connected to the network
* has_cell_network - is device connected to the cell network
{'fraction_non_alphanumeric': 0.2745031135374904, 'fraction_numerical': 0.03650942591486821, 'mean_word_length': 6.219211822660099, 'pattern_counts': {'":': 0, '<': 847, '<?xml version=': 0, '>': 847, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7106905', 'n_tokens_mistral': 5089, 'n_tokens_neox': 5030, 'n_words': 730}