JOIN/SIGN UP
Already a Member? |
GET INVOLVED
Understanding and Engaging in COVESA Expert Groups & Projects |
COLLABORATIVE PROJECTS
HISTORICAL
SDV Telemetry Project - On Hold |
...
Reference Architecture (access requires Genivi Member Login)
In the following review comments can be added to the App FW scope and concept document.
App FW Scope and Concept - Review
The Application Manager component is a part of the Application Framework set of components, aimed at supporting Applications, "Apps", in a GENIVI setting.
...
Sl No. | Tizen Web API | Description | Tizen Native | Description | Apertis (formerly eCORE) | Description | Qt Automotive Suite Application Manager | Description | Comments / Remarks | ||
---|---|---|---|---|---|---|---|---|---|---|---|
1 | getCurrentApplication | Gets the Application object defining the current application. | CurrentActiveApp | Property update Get the current active application on top of the application stack | Defined by the System UI, can support multiple active applications at once. | ||||||
2 | kill | Kills an application with the specified application context ID. | Its not exposed to application but internal to the Application manager. | Don’t see the needApps are killed based on their states by app manager. | Apps are killed based on their activity state. There is no exposed API using which system UI or managed app can request another app to be killed. | ApplicationManager::stopApplication(string id, bool forceKill). | Only available to System UI and via System DBus | ||||
3 | launch | Launches an application with the given application ID. | LaunchNewApp () | Launch an application from any other application | ApplicationManager::startApplication ApplicationManager::openUrl | Only available to System UI and via System DBus. Apps themselves can only launch other apps through mime-types. | |||||
4 | launchAppControl | Launches an application with the specified application control. | OpenURI() | This method is used to launch an application which handles the MIME type of the arguments. | For apps: [http://doc.qt.io/qt-5/qml-qtqml-qt.html#openUrlExternally-method ] For System UI: ApplicationManager::startApplication | Applications uses standard Qt interfaces, i.e. they are independent of Application Manager. | |||||
5 | findAppControl | Finds application information can be launched with the given application control. | AppLaunchDatabase | Takes the MIME type orReturns a list of apps and the MIMEs that they can handle. NOTE: the name will be corrected. | The ApplicationManager singleton presents a model with the metadata regarding all installed apps and information regarding if the application is running or not. | Only available to System UI and via System DBus. | |||||
6 | getAppsContext | Gets a list of application contexts for applications that are currently running on a device. | Its not exposed to application but internal to the Application manager. | Don’t see the need | Not clear about the API | Not sure what a context is. | |||||
7 | getAppContext | Gets the application context for the specified application context ID. | app_manager_get _app_context | Gets the application context for the given ID of the application. | Its not exposed to application but internal to the Application manager. | Don’t see the needNot clear about the API | Not sure what a context is. | ||||
8 | getAppsInfo | Gets the list of installed application's information on a device. | Its not exposed to application but internal to the Application manager. | A complete list of apps Not yet implemented | Assuming that this API should provide a complete list of apps that are installed on the device. NOTE: there are API for system UI like launcher to get this info. But not in general for managed apps. | The ApplicationManager singleton presents a model with the metadata regarding all installed apps and information regarding if the application is running or not. | Only available to System UI and via System DBus. | ||||
9 | getAppInfo | Gets application information for a specified application ID. | GetApplicationInfo | Returns manifest info to the calling process | The ApplicationManager singleton presents a model with the metadata regarding all installed apps and information regarding if the application is running or not. | Only available to System UI and via System DBus. | |||||
10 | getAppSharedURI | Gets URI of read-only shared directory of application for a specified application ID. | Not yet implemented | ||||||||
11 | getAppMetaData | Gets application meta data array for a specified application ID. | Not clear if this is different from GetAppInfo | The ApplicationManager singleton presents a model with the metadata regarding all installed apps and information regarding if the application is running or not. | Only available to System UI and via System DBus. | ||||||
12 | addAppInfoEventListener | Adds a listener for receiving any notification for changes in the list of the installed applications on a device. | Not implemented yet | The application entries use the freedesktop desktop entry format and method. [https://developer.gnome.org/desktop-entry-spec/ ] | Available through the object returned from ApplicationManager::get. | Only available to System UI and via System DBus. | |||||
13 | removeAppInfoEvent Listener | Removes the listener to stop receiving notifications for changes on the list of installed applications on a device. | Not implemented yet | As above | Yes, through Qt signals/slots. | Only available to System UI and via System DBus. | |||||
14 | GetGlobalSearchApps | Global search is distributed over all apps. This API gives a list of apps that are supporting global search NOTE: This is a product specific feature | This would be implemented as a tag in the manifest, e.g. another capability. | Global search is not a part of the Application Manager but would have to be supported through some other service. | |||||||
15 | RegisterMyApp | All applications register to application manager The registration is needed as app manager is a dbus service. | The ApplicationManager itself is not tied to a specific appstore implementation - as long as the package can be downloaded via HTTP, HTTPS or FTP; it can also be provided as a local file or via a UNIX socket connection. QtAS comes with a PoC appstore implementation (server side: django, client side: QML). See ApplicationInstaller singleton (system-UI and system DBus) | Not sure if this refers installation or during run-time. Installation is initiated through an Application Manager interface, so it works automatically. Apps are launched through Application Manager, so again, it works automatically. | |||||||
16 | SetUninstalledApplication | DEPRECATED API ! AppStore :Set the application manifest name which isuninstalled. | Application Manager handles uninstall, no need to call. | ||||||||
17 | InsertNewEntry | DEPRECATED! AppStore :Launcher displays categories of applications and the list of applications in each category. | Application Manager handles install, no need to call. AppStore is integrated through a custom plugin, so anything apart from the reference store needs to be integrated by writing a C++ plugin. | ||||||||
18 | SetInstalledApplication Manifest | DEPRECATED API ! AppStore :Set the manifest file of the installed application. | Application Manager handles install, no need to call. | ||||||||
20 | |||||||||||
21 | "signal: AppLaunchDatabase Update " | This signal indicates an update of the app database | Application Manager owns the database. No need to call. System UI is notified through the QAbstractItemModel interface of the ApplicationManager singleton object. | ||||||||
24 | app_manager_foreach _app_context | Retrieves all application contexts of running applications. | Not sure what a context is. | ||||||||
25 | app_manager_foreach _app_info | Retrieves all installed applications information. | The ApplicationManager singleton presents a model with the metadata regarding all installed apps and information regarding if the application is running or not. | ||||||||
26 | int app_manager_get _app_id | Gets the ID of the application for the given process ID. | The ApplicationManager singleton presents a model with the metadata regarding all installed apps and information regarding if the application is running or not. | ||||||||
27 | app_manager_get_ external_shared_ data_path | Gets the absolute path to the shared data directory of the application specified with an application ID. | ApplicationInstaller::getInstallationLocation | There's no real "shared" directory, but the path to the app's private data directory is available. Only available to System UI and via System DBus. | |||||||
28 | app_manager_get_ shared_ resource_path | ApplicationInstaller::getInstallationLocation | There's no real "shared" directory, but the path to the app's installation directory is available. Only available to System UI and via System DBus. | ||||||||
29 | int app_manager_is _running | Checks whether the application with the given package name is running. | The ApplicationManager singleton presents a model with the metadata regarding all installed apps and information regarding if the application is running or not. | ||||||||
30 | int app_manager_ resume_app | Resumes the application. | ApplicationManager::startApplication ApplicationManager::openUrl | The "docs" just state "resumes app". If this means bringing a background app to the foreground, then the ApplicationManager will take care of that transparently. | |||||||
31 | Many API's wrt Application context | https://developer.tizen.org /dev-guide/2.3.0 /org.tizen.mobile.native .apireference /group_CAPIAPP_ CONTEXT__MODULE.html | |||||||||
32 | Many Api's wrt Application information | https://developer.tizen.org /dev-guide/2.3.0 /org.tizen.mobile. native.apireference /group_CAPI_APP _INFO_MODULE.html |
...
Manifest contains App meta data. some of the information will help to determine is this App compatible/installable on a particular device.
...