{
	"name": "MobileSystemFacade",
	"type": "facade",
	"senders": ["web"],
	"receivers": ["ios", "android"],
	"doc": "Common operations implemented by each mobile platform.",
	"methods": {
		"goToSettings": {
			"doc": "Redirect the user to Phone's Settings",
			"arg": [],
			"ret": "void"
		},
		"openLink": {
			"doc": "Open URI in the OS.",
			"arg": [
				{
					"uri": "string"
				}
			],
			"ret": "boolean"
		},
		"shareText": {
			"doc": "Share the text via OS sharing mechanism.",
			"arg": [
				{
					"text": "string"
				},
				{
					"title": "string"
				}
			],
			"ret": "boolean"
		},
		"hasPermission": {
			"doc": "Returns whether the specified system permission has already been granted by the user.",
			"arg": [
				{
					"permission": "PermissionType"
				}
			],
			"ret": "boolean"
		},
		"requestPermission": {
			"doc": "Requests a system permission from the user.",
			"arg": [
				{
					"permission": "PermissionType"
				}
			],
			"ret": "void"
		},
		"getAppLockMethod": {
			"arg": [],
			"ret": "AppLockMethod"
		},
		"setAppLockMethod": {
			"arg": [
				{
					"method": "AppLockMethod"
				}
			],
			"ret": "void"
		},
		"enforceAppLock": {
			"arg": [
				{
					"method": "AppLockMethod"
				}
			],
			"ret": "void"
		},
		"getSupportedAppLockMethods": {
			"arg": [],
			"ret": "List<AppLockMethod>"
		},
		"openMailApp": {
			"arg": [
				{
					"query": "string"
				}
			],
			"ret": "void"
		},
		"openCalendarApp": {
			"arg": [
				{
					"query": "string"
				}
			],
			"ret": "void"
		},
		"getInstallationDate": {
			"doc": "Returns the date and time the app was installed as a string with milliseconds in UNIX epoch.",
			"arg": [],
			"ret": "string"
		},
		"requestInAppRating": {
			"doc": "Requests the system in-app rating dialog to be displayed",
			"arg": [],
			"ret": "void"
		},
		"requestWidgetRefresh": {
			"doc": "Sends a refresh signal to the native side, updating widget last sync",
			"arg": [],
			"ret": "void"
		},
		"storeServerRemoteOrigin": {
			"doc": "Sends the URL from the remote origin to be stored on the device",
			"arg": [
				{
					"origin": "string"
				}
			],
			"ret": "void"
		},
		"print": {
			"arg": [],
			"ret": "void"
		}
	}
}
