Dragon Launcher banner

Dragon Launcher

40 devlogs
174h 2m 1s

Updated Project: Since I added the project in hackclub, I've worked on multiple features:

  • angle line customization
  • private space feature
  • tons of incredibly customizable features, check github!
    ⚠️⚠️⚠️⚠️
    WARNING DUE TO ANDROID NEW RESTR…

Updated Project: Since I added the project in hackclub, I’ve worked on multiple features:

  • angle line customization
  • private space feature
  • tons of incredibly customizable features, check github!
    ⚠️⚠️⚠️⚠️
    WARNING DUE TO ANDROID NEW RESTRICTIONS, YOU HAVE TO DISABLE PLAY PROTECT BEFORE INSTALL, re-enable it later if you want

I’m still working on new features to improve user experience, and customization

This project uses AI

Use ai to summarize Kdocs/write repetitive code

Demo Repository

Loading README...

elnix

I completely finished the expressive material disign convert of the settings screen, and I am now working on the refactor of the edit point dialog, that’ll become a screen, with clean categories

Changelog

Attachment
0
elnix

I’m working on the refactor of the main screen UI, using expressive material 3

Changelog

Attachment
0
cskartikey

Tagged your project as well cooked!

🔥 cskartikey marked your project as well cooked! As a prize for your nicely cooked project, look out for a bonus prize in the mail :)

elnix

I’m still working on the Yoan’s pull request, and modifying lots of things, actually, I have more than 70 files modified, and the pr review isn’t finished yet…

Attachment
0
elnix

I worked hard reviewing the PR of Yoann, that adds support for extentions and changed the storage system, now eveything is broken, but I’ll keep working on it!

Attachment
0
elnix

52c52499 fix: updated BehaviorTab.ktlayout
c48e8444 fix: moved lock method to BehaviorTab.kt and made expandable section able to be disabled, when no lock method provided
485bec8c feat: implement migration logic for legacy settings and JSON formats
97c30313 feat: improve extension signature check logic to handle null signatures
5253e472 feat: enhance DebugTab with new settings and improved UI elements
be9144ef feat: implement option to disable extension signature check in Debug settings
b8655287 feat: add font management and extension permissions for improved font handling
3633c93f feat: enhance extension installation checks and improve JSON parsing in LogsTab
f60a8264 feat: enhance APK installation process and update extension management in UI
ba8c678c feat: add package search functionality to DebugTab and update permissions in AndroidManifest
0a64535d feat: remove extensions registry and implement APK installation functionality
4ba66f1f feat: implement FontPickerDialog for selecting custom fonts
32201293 feat: update extensions registry with package names and fix translation errors
7b25cfc6 feat: add USB connectivity detection and status icon to status bar
60d37a7f Refactor SwipeJson and SwipePointSerializable for Kotlin Serialization
533791e1 feat: enhance extension management with error handling and additional metadata
c273c4d2 fix: created unified fontNameToFontFamily function to display the funt name in his font family in the picker fix: improved font picker dialog that was mess
adf1a8c9 fix: changed default value of angle line object (even if disabled by default)
9e610c24 fix: changed hard coded logs tag to constants-owned const in LauncherWidgetHolder.kt
487cf036 fix: corrected what I thought was a state loading issue in resetting workspaces, end up being cleaner than the previous version, I’ll keep it
267c53d9 fix: reviewed and corrected logs-based files to a cleaner and solved compiler warnings

Attachment
0
elnix

Shipped this project!

Hours: 22.54
Cookies: 🍪 588
Multiplier: 26.11 cookies/hr

Udate 2.7.0 (Glowel)
Glowel is actually the code name for this version

elnix

Changelog

Attachment
Attachment
0
elnix

Changelog

Attachment
Attachment
0
elnix

Changelog

Attachment
0
elnix

Shipped this project!

Hours: 131.14
Cookies: 🍪 3081
Multiplier: 24.87 cookies/hr

Update 2.6.0!
That is the biggest update since a while!
Changelog:

[NEW]

  • Custom nest point icons (closes #139)
  • Hover-to-merge points feature
  • Status bar enhancements: block system, fully customizable
  • Loading arc & drag hole customization
    [FIXED]
  • workspace app management (rename/add/remove)
  • app aliases sorting (closes #219, #213)
    [IMPROVED]
  • Complete settings refactor with CompositionLocals
  • Icon caching for drawing performance
  • Settings screen performance optimizations
    [NOTE]
  • Density-based sizing require icon reconfiguration
elnix

Changelog

Attachment
Attachment
0
elnix

Working on the drag and hover feature, where you can drag your point on the circle and stay on another point and hover it to merge them

If the hovered point is a nest, the dragged poitn will be inserted in it, else the 2 points merge to form a new nest

Attachment
0
elnix

Changelog

Attachment
Attachment
0
elnix

Resume

  • Hey guys! I did some progress, I reduced lag almost entirely on dragging things (both main screen and settings) by
    putting the clip logic in the icons computing, instead of runtime (60/sec)
  • Fdroid merged (finally) so the latest will be available soon (if not already)
  • I changed the way icons are rendered, and will continue to change: their size are now computed by Density-Pixels (Dp)
    , that mean drawing will be similar on different devices (I noticed some on you get ultra big icons while mine are
    quite small by default) ⚠️ this will lead (maybe) to either oversized icons size and inner padding, or mini icons, that
    you will need to change, by pressing the … more icon on settings points screen, and “Edit default point settings”, then change the default size. fi you didn’t touched it, it should be automatically changed to the new default value
  • I changed the way private space loads, I noticed that on some devices, (mine) the private space api successfully gets
    the private apps while on some others it don’t, so I made 2 separate loadings one faster, as it directly uses the private space api, and the one for who the private space is shit (Nothing apparently) the differential loading which you can find in Behavior Settings. only enable it if you notice private space apps not applying to the correct workspace. THis last feature is very likely to break, so please if you record anything that broke, tell me

Changelog

Attachment
0
elnix

Changelog

Attachment
Attachment
0
elnix

Full refactor of all state system collecting in the app: now uses CompositionLocalProvider to avoid passing argumants all across every composables

Added bandwith and notifications to the status bar

1835284 (HEAD -> main) Fixed app cache not working (removed it) useless
9d37b80 Fixed typo
b0de68b (origin/main, origin/HEAD) Changed recently used packages from json to stringSet
d8464e7 Use proper enum instead of string
498c72d Allowed nullable selected
fbdfd41 Removed old comment
0d3f090 Add Keep Android Open link to README
9387b72 Merge pull request #214 from Elnix90/refactor-composition-local-provider
0d5f101 (origin/refactor-composition-local-provider, refactor-composition-local-provider) Resolved old TODO
2fb36ef Improved saving on SettingsScreen.kt
cba33ab Improved a little performances on settings screen canva drawing
83e1138 Fixed down drag on drawer not willing to drag down
be780e3 Moved the angle last in hierarchy to make it appear after nests
231a60f Updated some translations
e590775 Refactor part , but I move the default points out of the viewmodel and use it as composition local
d5ee14f Updated usages globally to compositionLocals for nests / points and icons
54fbd05 Merged with main
32aa4b6 Merge pull request #212 from YoannDev90/main
d190733 Add TODO for LocalIcons search refactor
859b955 Improve exception handling and settings access
e22f324 Use onCheck lambda on showNotifications to open settings when turned on without permission
ffd17f4 Mega refactor using Composition local provider for nests points and lots of global settings
16f002b Add openNotificationSettings function and wire it to UI

Attachment
2

Comments

Saif
Saif 24 days ago

is there your entire git-history-tree?

elnix
elnix 24 days ago

no there are more than900 commits

elnix

Worked on new status bar update and still correcting drawer bugs on drawer actions

Attachment
Attachment
0
elnix

1b8c873 (HEAD -> main, origin/main, origin/HEAD) Added docstring + new invoke operator function that allow assign a new value to the BaseSettingObject
f0ee58d Changed internal ui components and logic to make it simpler to read
2d5ac8e Changed drawer animation for something faster and cleaner
885dab3 Fixed wrong nested scroll + offset strange behavior with the pager (forgot to add some modifier to grid
992c441 Fixed json cache app loading (not working)

Attachment
0
elnix

Yesterday: Update 2.5.2 with new pin lock ui and super warning alert when someone enters a wrong pin (kinda funny) + improved app picker dialog with private space implementation on it (alog with the drawer)

Today, started working on some optimizations and also the dragable drawer for cleaner visual feedback + haptic feedback

0
elnix

Worked on App grid and app picker dialog, merged and corrected the pin dialogs file

Attachment
Attachment
0
elnix

Finally merged the private space feature, Dragon no supports the Android Private Space feature, that allows you to lock apps under a new profile completely separated from others

Attachment
0
elnix

Hey sorry for the super big devlog, hope you won’t reject it, I was in a place without clean internet connection and couldn’t dev log correctly. (I also forgot a bit)

Since last time, I released the v2.5.0, with lock settings lots of Ui improvemelnts and fixes, also fixed lots of Issues on github

Attachment
0
elnix

5880630 (HEAD -> main, origin/main, origin/HEAD) Fixed Shape adapter Gson serializations issues
247f9aa Changed types from data object to just object due to some Gson deserialization issue and clear
7f0ba76 Allowed customization of shapes for points icons borders
e42bd6d Improved Icon Editor dialog Ui
4b04cf0 ’Fixed Wrong UI colors and shapes
00490c8 Reduced obtainium icon size, closes #142
d4803a4 Fixed dp Dragon shape globally
54360bf Fixed version name in changelogs
7c63b98 Fixed Dragon shape not rendering and fallback to platform default on shapes selector; closes #153
8013b75 Remove useless comments
bb36890 Hide None action when not needed for the selector
7be7903 Fixed drawer tab and added back action
a330720 Removed useless comments
5b64516 Merged
c3301de Fixed reseting drawer action toggles in drawer tab, closes #147
a02a4f6 Add note on Android Play Protect for installation
32d2825 Remove credits section from README
94ffcc6 update user screenshots in README
3491cf4 rename screenshot
99a1a2b Merge branch ‘main’ of https://github.com/Elnix90/Dragon-Launcher
da69134 Delete assets/user-screenshots/speedhog.webp
ffa7dbb rename screenshot
5f1f8c9 Rename Screenshot_20260130-085556.jpg to oniyon.jpg
37e1dc4 Added user screenshots
4da0932 fix changelog

Attachment
0
elnix

UPDATE 2.4.0!

Attachment
0
elnix

Added new global custom icon button, with animations, removed old color files and classes

Attachment
0
elnix

Added picro interraction on ActionRow
Fixed crash bug where a small drawer width was making the launcher crash

Attachment
Attachment
0
elnix

Finished refactoring colors system, now is way simpler and functional, with a dynamic colors handling and themes separated

Attachment
0
elnix

Refactored the colors system, now composes fadter, cleaner and supports dynamic android colors.
Made some super helpers thanks to Kotlin’s power that makes the code way more readable, like the remembers (doesn’t really remember but act like so) and the states for the settings objects

Attachment
Attachment
Attachment
0
elnix

Merged the digital wellbeing feature and started working on the big colors update

Attachment
0
elnix

Patch v2.3.3, fixed Broken icon shapes, new drawer customization and icon shapes customization

Attachment
0
elnix

Worked on fixed forr previous update, correctd lots of behavior bugs, and started working on icons shapes big issue

Attachment
0
elnix

Shipped this project!

Hours: 7.97
Cookies: 🍪 181
Multiplier: 22.7 cookies/hr

Dragon launcher - Fast gesture based Android launcher - privacy first

I’m building it from Koltlin since I learned it months ago,

elnix

Update 2.3.0!!

Attachment
0
elnix

Working on this wtf bug where only openApps action icons can be customized others are not working

Attachment
0
elnix

App aliases

253d10d (HEAD -> main, origin/main, origin/HEAD) Working app aliases
9cfd74e Fix text color
cda06c4 Changed default value of min anggle to activate to 0 everywhere cuz it is annoying
c4a3b00 Started implementing app aliases

Attachment
0
elnix

27f50d4 Cleaned prizewhisper theme
04802db removed trailing line
740f9c1 Added Prizewhisper theme in theme list
c2ab571 Changed icon next to color picker color preview behavior, now stores the current icon and long click can change its action
2782eb4 Changed slightly surface color
357f9ec removed old themes, updated red and ThemeList.kt
aa1b7b7 Fixed some translations
fa81cdb Updatedt translations and some ui elements
b2067d8 Changed rounded corner to 5dp
b324eb2 Fixed some translations texts
d9e376e Corrected user screenshots links
4c06b40 Added user’s screenshots to readme
abaa01f Added user’s screenshots to assets
337124b Removed pre-release manual, and added manual trigger to existing workflow
d87090c Fixed Ui colors + translations
156feec Fixed Translations

Attachment
Attachment
0
elnix

Worked on new min angle distance to activate inside circles settings, per nest

Attachment
0