Commit Graph

33 Commits

Author SHA1 Message Date
ComixHe
23dcd13f10 feat: support persistent stroage and lastLaunchedTime
Signed-off-by: ComixHe <heyuming@deepin.org>
2023-09-14 17:41:16 +08:00
ComixHe
6a95a97599 refact: use graphical-session.target's InvocationID to determine
autostart

Signed-off-by: ComixHe <heyuming@deepin.org>
2023-09-12 10:59:40 +08:00
ComixHe
98ef11dc27 refact: guarantee XDG_CONFIG_HOME is first element
and ensure that config dirs only has an XDG_CONFIG_HOME

Signed-off-by: ComixHe <heyuming@deepin.org>
2023-09-11 15:15:54 +08:00
ComixHe
3f38233306 refact: use QFileInfo to get File's timeInfo
Signed-off-by: ComixHe <heyuming@deepin.org>
2023-09-11 15:15:54 +08:00
ComixHe
6561747c7d refact: Compatible with Qt 6.2
Signed-off-by: ComixHe <heyuming@deepin.org>
2023-09-06 17:01:06 +08:00
black-desk
4ff60db556 refact: improve scanAutoStart
improve scanAutoStart
2023-09-05 11:48:14 +08:00
black-desk
7d0c5bb615 refact: remove IconMap
remove unused types
2023-09-05 11:48:14 +08:00
ComixHe
94f7b3c01d fix: correct property check logic
Signed-off-by: ComixHe <heyuming@deepin.org>
2023-09-01 17:15:40 +08:00
ComixHe
4c9d4491df refact: remove unnecessary open operation
fix AM can't access some dirs due to
systemd 254's sandboxing option: PrivateUser
is true by default.

Signed-off-by: ComixHe <heyuming@deepin.org>
2023-09-01 15:58:16 +08:00
black-desk
d1bdab899d feat: add property installedTime,X-flatpak,X-linglong
Signed-off-by: black-desk <me@black-desk.cn>
2023-08-31 16:55:35 +08:00
ComixHe
f2d5b7b307 refact: remove static env instance
Signed-off-by: ComixHe <heyuming@deepin.org>
2023-08-30 15:02:29 +08:00
ComixHe
26a0b67157 feat: filter service and scope by subState and app prefix
Signed-off-by: ComixHe <heyuming@deepin.org>
2023-08-29 13:07:44 +08:00
black-desk
b0dd943e1d fix: adjust processUnitName
`<2` should be fine to make later two takeLast work fine and avoid crash.

It seems that `<3` will
make kde scope (without launcher in unit name) not working.
2023-08-29 10:19:32 +08:00
black-desk
6adc02375f feat: scan existing systemd unit
We should scan existing systemd unit when we start application manager.
As application manager crash and restarted later,
we can get the launched application instances back.
2023-08-29 10:07:26 +08:00
ComixHe
8a662314f2 fix: core dumped under Qt 6.4
call method metaObject of QMetaType will coredump under Qt 6.4

Signed-off-by: ComixHe <heyuming@deepin.org>
2023-08-29 10:07:26 +08:00
black-desk
25a7acb6fd Revert "fix: core dumped under Qt 6.4"
Github bug makes me commit wrong content, revert it.

This reverts commit 6fae5a758b.
2023-08-29 10:06:57 +08:00
ComixHe
6fae5a758b fix: core dumped under Qt 6.4
1. call method metaObject of QMetaType will coredump under Qt 6.4
2. remove `std::terminate()` when AM can't connect to Systemd Signals.
3. call `Subscribe` before connecting to Systemd Signals to guarantee that
   systemd will send UnitNew and UnitRemoved.

Signed-off-by: ComixHe <heyuming@deepin.org>
2023-08-29 09:58:02 +08:00
ComixHe
ce2148e5cd fix: incorrect behavior when parse and launch
Signed-off-by: ComixHe <heyuming@deepin.org>
2023-08-25 18:23:21 +08:00
black-desk
3988e0c526 refact: improve desktop parsing 2023-08-25 18:23:21 +08:00
ComixHe
ccfb245419 refact: Desktop file parsing process and Application methods to
Properties

Signed-off-by: ComixHe <heyuming@deepin.org>
2023-08-25 18:23:21 +08:00
ComixHe
9f2a8b6798 feat: add property "LastLaunchedTime"
1. reactor some utils implementation.
2. remove constexpr before `decltype(auto)` due to GCC bug.
refer: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102229

Signed-off-by: ComixHe <heyuming@deepin.org>
2023-08-23 17:46:57 +08:00
ComixHe
2bdb9e99ee refact: optimize regular expression initialization
add profiling test.

Signed-off-by: ComixHe <heyuming@deepin.org>
2023-08-22 11:42:13 +08:00
ComixHe
06ee5e5899 refact: DesktopFile's method and structure
Signed-off-by: ComixHe <heyuming@deepin.org>
2023-08-22 11:42:13 +08:00
ComixHe
0e7d84f61d refact: change dbus api and service impl
1. change IconName and DisplayName to method
2. refactor impl of GetManagedObject and move it to global.h
3. refactor impl of JobService::status
4. add ut_job.cpp

Signed-off-by: ComixHe <heyuming@deepin.org>
2023-08-22 11:42:13 +08:00
ComixHe
d49a99d252 feat: add objectManager interface
refact the way to get DBus interface from Qt Meta System

Signed-off-by: ComixHe <heyuming@deepin.org>
2023-08-22 11:42:13 +08:00
ComixHe
a3dd315e33 test: add identify test
fix some bugs found in testing

Signed-off-by: ComixHe <heyuming@deepin.org>
2023-08-16 17:54:42 +08:00
black-desk
b0c3475a3d fix: correct getXDGDataDirs
Signed-off-by: black-desk <me@black-desk.cn>
2023-08-14 13:39:05 +08:00
ComixHe
2fa74e40e5 refact: change implementation of UpdateApplicationInfo
adjust the way of get XDG_DATA_DIRS.

Signed-off-by: ComixHe <heyuming@deepin.org>
Signed-off-by: black-desk <me@black-desk.cn>
2023-08-14 13:39:05 +08:00
black-desk
5183716873 refact: apply review suggestions
Signed-off-by: black-desk <me@black-desk.cn>
2023-08-14 13:39:05 +08:00
ComixHe
bc2bdf559e example: add launch application example
fix some bug while testing the example

Signed-off-by: ComixHe <heyuming@deepin.org>
Signed-off-by: black-desk <me@black-desk.cn>
2023-08-14 13:39:05 +08:00
ComixHe
722d0666d3 feat: add impl of updateApplicationInfo
1. change the way to traverse files
2. refact some code

Signed-off-by: ComixHe <heyuming@deepin.org>
Signed-off-by: black-desk <me@black-desk.cn>
2023-08-14 13:39:05 +08:00
ComixHe
799100436c feat: watch systemd unit new and remove to sync state
add default values to XDG_DATA_DIRS if it dosen't set

Signed-off-by: ComixHe <heyuming@deepin.org>
Signed-off-by: black-desk <me@black-desk.cn>
2023-08-14 13:39:05 +08:00
black-desk
4687265e65 refact: restructure project
1. adjust project structure;
2. use config.h to locate app-launch-helper binary.
2023-08-07 16:46:57 +08:00