Skip to content

feat: Add swipe gestures and multi-select to app buttons on main screen#446

Merged
MarcaDian merged 18 commits into
devfrom
add-swipe-gestures
Apr 19, 2026
Merged

feat: Add swipe gestures and multi-select to app buttons on main screen#446
MarcaDian merged 18 commits into
devfrom
add-swipe-gestures

Conversation

@MarcaDian

@MarcaDian MarcaDian commented Apr 18, 2026

Copy link
Copy Markdown
Contributor

Swipe gestures

Right - shows the hide app button dialog:

Screenshot_2026-04-18-16-17-45-230_app.morphe.manager.debug-edit.jpg


Left - shows the dialog of all compatible patches for this package in all active bundles:

Screenshot_2026-04-18-16-17-30-891_app.morphe.manager.debug-edit.jpg


Long press on the app button adds ability to multi-select buttons at once to hide them from the main screen:

Screenshot_2026-04-18-16-18-03-980_app.morphe.manager.debug-edit.jpg

@MarcaDian MarcaDian changed the title feat: Add swipe gestures to app buttons on main screen feat: Add swipe gestures and multi-select to app buttons on main screen Apr 18, 2026
@MarcaDian

Copy link
Copy Markdown
Contributor Author

It seems that it can be merged, there are many fixes in this PR that do not concern it.

@MarcaDian MarcaDian merged commit 0330699 into dev Apr 19, 2026
1 check passed
@MarcaDian MarcaDian deleted the add-swipe-gestures branch April 19, 2026 09:28
github-actions Bot pushed a commit that referenced this pull request Apr 19, 2026
# [1.16.0-dev.4](v1.16.0-dev.3...v1.16.0-dev.4) (2026-04-19)

### Bug Fixes

* Add logging and fix stale installer cache ([78b5aee](78b5aee))
* Merge 'Filter split APKs' and `Remove unused native libraries` into 'Optimize for device architecture' setting ([2edb15f](2edb15f))

### Features

* Add swipe gestures and multi-select to app buttons on main screen ([#446](#446)) ([0330699](0330699))
* Add toggle to disable home screen patching phrases ([#443](#443)) ([f53ad64](f53ad64))
github-actions Bot pushed a commit that referenced this pull request May 4, 2026
# [1.16.0](v1.15.0...v1.16.0) (2026-05-04)

### Bug Fixes

* "SessionBasedInstallConfirmationActivity was finished by user" install error on some devices ([3e74857](3e74857))
* `Session is dead` error on Pixels devices when installing apps ([#458](#458)) ([ce1ce6e](ce1ce6e))
* Adapt accent color contrast for extreme black/white values in app info dialog ([c4f883f](c4f883f))
* Add logging and fix stale installer cache ([78b5aee](78b5aee))
* Always respect manager prerelease preference for update channel ([090ee0c](090ee0c))
* Apply locale via context wrap on Android < 13 ([ce193ee](ce193ee))
* Check primary ABI only in `isArmV7` to avoid false positives on `ArmV8` devices ([14729c2](14729c2))
* Eliminate background flash on `InstalledAppInfo` → patch flow transition ([b246a4b](b246a4b))
* Fall back to `Downloads` export on devices without `DocumentsUI` (Android TV) ([1e21c39](1e21c39))
* File picker and export for Android TV ([#491](#491)) ([7c1cfba](7c1cfba))
* Handle `InstallFailure` result when installing manager update ([a4d1eb8](a4d1eb8))
* Hoist install state reads to prevent recomposition on install ([9b82048](9b82048))
* Merge 'Filter split APKs' and `Remove unused native libraries` into 'Optimize for device architecture' setting ([2edb15f](2edb15f))
* Patch bundles do not load on Android 8.0 devices ([3116619](3116619))
* Prevent `InstalledAppInfoViewModel` collision on dialog reopen ([15ae79a](15ae79a))
* Replace `Ackpine` with native `SessionInstaller` ([#508](#508)) ([cf0f4db](cf0f4db))
* Replace `isLoaded` flag with `BundleState` sealed class and simplify `homeAppState` ([72976d3](72976d3))
* Resolve app icon from saved APK when app is not installed ([fe3ef6c](fe3ef6c))
* Resolve display name from bundle metadata over patched APK label ([6c6e065](6c6e065))
* Scope `InstalledAppInfoViewModel` to dialog instance via dialog token ([0cf2f6a](0cf2f6a))
* Shizuku installer couldn't update an already installed app ([#454](#454)) ([d4e74e3](d4e74e3))
* Show reinstall button and installer dialog for deleted apps ([472d046](472d046))
* Show SDK-incompatible versions as disabled, block patching when no versions are compatible with device SDK ([f90d5ba](f90d5ba))
* Show swipe gesture hint on every custom bundle addition ([0c66503](0c66503))
* System installer couldn't update an already installed app ([#455](#455)) ([adc93e4](adc93e4))
* Update home screen cards immediately after install/uninstall ([8f671bd](8f671bd))
* Use `SharedPreferences` as locale side-channel on Android < 13 ([a5f91bd](a5f91bd))
* When greeting message is disabled, show a small top spacer so the app cards don't sit flush against the top of the screen ([6900cc2](6900cc2))

### Features

* Adaptive two-column layout for `InstalledAppInfoDialog` on tablets ([40a29a9](40a29a9))
* Add `BundleAppMetadata` as a data source for `AppDataResolver` ([3bdc1f5](3bdc1f5))
* Add fast bytecode mode setting to expert mode ([#403](#403)) ([e73c63c](e73c63c))
* Add manual `JKS` parser for keystore import without BC provider dependency ([#494](#494)) ([ccc99a2](ccc99a2))
* Add random background mode with rotation interval ([2d12fbb](2d12fbb))
* Add swipe gestures and multi-select to app buttons on main screen ([#446](#446)) ([0330699](0330699))
* Add swipe gestures to hidden apps dialog and search results ([8cf1f13](8cf1f13))
* Add toggle to disable home screen patching phrases ([#443](#443)) ([f53ad64](f53ad64))
* Import keystore from `PKCS12`, `BKS` and `JKS` formats ([3f38387](3f38387))
* Improve patch visibility in bundle and app patch dialogs ([#457](#457)) ([1881991](1881991))
* Live patching progress in foreground notification ([c25af8f](c25af8f))
* Migrate to `Ackpine` for package installation/uninstallation ([#444](#444)) ([aa7207d](aa7207d))
* Open `.mpp` patch sources directly from file manager ([#483](#483)) ([f46a11f](f46a11f))
* Open patches dialog on hidden app tap in search ([1898e74](1898e74))
* Prompt bundle selection before APK selection in simple mode ([#511](#511)) ([8161d9b](8161d9b))
* Sort universal patches to bottom of each bundle in patches dialog ([eac672e](eac672e))
* Store merged APK from split archives as original for repatching ([#438](#438)) ([be0b868](be0b868))
LisoUseInAIKyrios pushed a commit that referenced this pull request May 17, 2026
# [1.16.0-dev.4](v1.16.0-dev.3...v1.16.0-dev.4) (2026-04-19)

### Bug Fixes

* Add logging and fix stale installer cache ([fd1f97e](fd1f97e))
* Merge 'Filter split APKs' and `Remove unused native libraries` into 'Optimize for device architecture' setting ([96d0c4c](96d0c4c))

### Features

* Add swipe gestures and multi-select to app buttons on main screen ([#446](#446)) ([1093c43](1093c43))
* Add toggle to disable home screen patching phrases ([#443](#443)) ([91a66e3](91a66e3))
LisoUseInAIKyrios pushed a commit that referenced this pull request May 17, 2026
# [1.16.0](v1.15.0...v1.16.0) (2026-05-04)

### Bug Fixes

* "SessionBasedInstallConfirmationActivity was finished by user" install error on some devices ([4fdef34](4fdef34))
* `Session is dead` error on Pixels devices when installing apps ([#458](#458)) ([3b556cf](3b556cf))
* Adapt accent color contrast for extreme black/white values in app info dialog ([b34fd77](b34fd77))
* Add logging and fix stale installer cache ([fd1f97e](fd1f97e))
* Always respect manager prerelease preference for update channel ([6c90248](6c90248))
* Apply locale via context wrap on Android < 13 ([dc6536f](dc6536f))
* Check primary ABI only in `isArmV7` to avoid false positives on `ArmV8` devices ([71c6c6d](71c6c6d))
* Eliminate background flash on `InstalledAppInfo` → patch flow transition ([bf2865a](bf2865a))
* Fall back to `Downloads` export on devices without `DocumentsUI` (Android TV) ([afeff7e](afeff7e))
* File picker and export for Android TV ([#491](#491)) ([7cd5e1d](7cd5e1d))
* Handle `InstallFailure` result when installing manager update ([7df2907](7df2907))
* Hoist install state reads to prevent recomposition on install ([f184d4a](f184d4a))
* Merge 'Filter split APKs' and `Remove unused native libraries` into 'Optimize for device architecture' setting ([96d0c4c](96d0c4c))
* Patch bundles do not load on Android 8.0 devices ([48bb842](48bb842))
* Prevent `InstalledAppInfoViewModel` collision on dialog reopen ([0648062](0648062))
* Replace `Ackpine` with native `SessionInstaller` ([#508](#508)) ([2162f92](2162f92))
* Replace `isLoaded` flag with `BundleState` sealed class and simplify `homeAppState` ([d51d9df](d51d9df))
* Resolve app icon from saved APK when app is not installed ([ff15269](ff15269))
* Resolve display name from bundle metadata over patched APK label ([65500b6](65500b6))
* Scope `InstalledAppInfoViewModel` to dialog instance via dialog token ([88d7352](88d7352))
* Shizuku installer couldn't update an already installed app ([#454](#454)) ([8313342](8313342))
* Show reinstall button and installer dialog for deleted apps ([faa53ba](faa53ba))
* Show SDK-incompatible versions as disabled, block patching when no versions are compatible with device SDK ([f2176a1](f2176a1))
* Show swipe gesture hint on every custom bundle addition ([9c68eee](9c68eee))
* System installer couldn't update an already installed app ([#455](#455)) ([2d7f9d5](2d7f9d5))
* Update home screen cards immediately after install/uninstall ([6e58e51](6e58e51))
* Use `SharedPreferences` as locale side-channel on Android < 13 ([88dc77f](88dc77f))
* When greeting message is disabled, show a small top spacer so the app cards don't sit flush against the top of the screen ([14a5144](14a5144))

### Features

* Adaptive two-column layout for `InstalledAppInfoDialog` on tablets ([dd068c4](dd068c4))
* Add `BundleAppMetadata` as a data source for `AppDataResolver` ([d174ed4](d174ed4))
* Add fast bytecode mode setting to expert mode ([#403](#403)) ([70daa22](70daa22))
* Add manual `JKS` parser for keystore import without BC provider dependency ([#494](#494)) ([4493265](4493265))
* Add random background mode with rotation interval ([c0e3310](c0e3310))
* Add swipe gestures and multi-select to app buttons on main screen ([#446](#446)) ([1093c43](1093c43))
* Add swipe gestures to hidden apps dialog and search results ([a424a62](a424a62))
* Add toggle to disable home screen patching phrases ([#443](#443)) ([91a66e3](91a66e3))
* Import keystore from `PKCS12`, `BKS` and `JKS` formats ([eb5c9ab](eb5c9ab))
* Improve patch visibility in bundle and app patch dialogs ([#457](#457)) ([df53801](df53801))
* Live patching progress in foreground notification ([202dd76](202dd76))
* Migrate to `Ackpine` for package installation/uninstallation ([#444](#444)) ([574e404](574e404))
* Open `.mpp` patch sources directly from file manager ([#483](#483)) ([288868d](288868d))
* Open patches dialog on hidden app tap in search ([396e5cd](396e5cd))
* Prompt bundle selection before APK selection in simple mode ([#511](#511)) ([bbc9206](bbc9206))
* Sort universal patches to bottom of each bundle in patches dialog ([14e284e](14e284e))
* Store merged APK from split archives as original for repatching ([#438](#438)) ([71cc022](71cc022))
SA-SUJON pushed a commit to SA-SUJON/MorpheManager that referenced this pull request May 24, 2026
SA-SUJON pushed a commit to SA-SUJON/MorpheManager that referenced this pull request May 24, 2026
# [1.16.0-dev.4](MorpheApp/morphe-manager@v1.16.0-dev.3...v1.16.0-dev.4) (2026-04-19)

### Bug Fixes

* Add logging and fix stale installer cache ([fabe26d](MorpheApp@fabe26d))
* Merge 'Filter split APKs' and `Remove unused native libraries` into 'Optimize for device architecture' setting ([006e1cc](MorpheApp@006e1cc))

### Features

* Add swipe gestures and multi-select to app buttons on main screen ([MorpheApp#446](MorpheApp#446)) ([822c23f](MorpheApp@822c23f))
* Add toggle to disable home screen patching phrases ([MorpheApp#443](MorpheApp#443)) ([108e60b](MorpheApp@108e60b))
SA-SUJON pushed a commit to SA-SUJON/MorpheManager that referenced this pull request May 24, 2026
# [1.16.0](MorpheApp/morphe-manager@v1.15.0...v1.16.0) (2026-05-04)

### Bug Fixes

* "SessionBasedInstallConfirmationActivity was finished by user" install error on some devices ([036efb0](MorpheApp@036efb0))
* `Session is dead` error on Pixels devices when installing apps ([MorpheApp#458](MorpheApp#458)) ([d1476a6](MorpheApp@d1476a6))
* Adapt accent color contrast for extreme black/white values in app info dialog ([c81b5f5](MorpheApp@c81b5f5))
* Add logging and fix stale installer cache ([fabe26d](MorpheApp@fabe26d))
* Always respect manager prerelease preference for update channel ([6fe4cb5](MorpheApp@6fe4cb5))
* Apply locale via context wrap on Android < 13 ([ece000c](MorpheApp@ece000c))
* Check primary ABI only in `isArmV7` to avoid false positives on `ArmV8` devices ([3fa61c1](MorpheApp@3fa61c1))
* Eliminate background flash on `InstalledAppInfo` → patch flow transition ([e59c7d5](MorpheApp@e59c7d5))
* Fall back to `Downloads` export on devices without `DocumentsUI` (Android TV) ([27b9b9c](MorpheApp@27b9b9c))
* File picker and export for Android TV ([MorpheApp#491](MorpheApp#491)) ([a25d84f](MorpheApp@a25d84f))
* Handle `InstallFailure` result when installing manager update ([8ac0c38](MorpheApp@8ac0c38))
* Hoist install state reads to prevent recomposition on install ([0c23b23](MorpheApp@0c23b23))
* Merge 'Filter split APKs' and `Remove unused native libraries` into 'Optimize for device architecture' setting ([006e1cc](MorpheApp@006e1cc))
* Patch bundles do not load on Android 8.0 devices ([793f591](MorpheApp@793f591))
* Prevent `InstalledAppInfoViewModel` collision on dialog reopen ([3ee12bc](MorpheApp@3ee12bc))
* Replace `Ackpine` with native `SessionInstaller` ([MorpheApp#508](MorpheApp#508)) ([633e4b3](MorpheApp@633e4b3))
* Replace `isLoaded` flag with `BundleState` sealed class and simplify `homeAppState` ([cf42e4f](MorpheApp@cf42e4f))
* Resolve app icon from saved APK when app is not installed ([d9c836a](MorpheApp@d9c836a))
* Resolve display name from bundle metadata over patched APK label ([1132abe](MorpheApp@1132abe))
* Scope `InstalledAppInfoViewModel` to dialog instance via dialog token ([3961404](MorpheApp@3961404))
* Shizuku installer couldn't update an already installed app ([MorpheApp#454](MorpheApp#454)) ([aaf237e](MorpheApp@aaf237e))
* Show reinstall button and installer dialog for deleted apps ([ec8599d](MorpheApp@ec8599d))
* Show SDK-incompatible versions as disabled, block patching when no versions are compatible with device SDK ([39f3bc7](MorpheApp@39f3bc7))
* Show swipe gesture hint on every custom bundle addition ([e66d598](MorpheApp@e66d598))
* System installer couldn't update an already installed app ([MorpheApp#455](MorpheApp#455)) ([e83af35](MorpheApp@e83af35))
* Update home screen cards immediately after install/uninstall ([4f3ab2b](MorpheApp@4f3ab2b))
* Use `SharedPreferences` as locale side-channel on Android < 13 ([4c32ac5](MorpheApp@4c32ac5))
* When greeting message is disabled, show a small top spacer so the app cards don't sit flush against the top of the screen ([ed22214](MorpheApp@ed22214))

### Features

* Adaptive two-column layout for `InstalledAppInfoDialog` on tablets ([bc4c3ae](MorpheApp@bc4c3ae))
* Add `BundleAppMetadata` as a data source for `AppDataResolver` ([f2097c6](MorpheApp@f2097c6))
* Add fast bytecode mode setting to expert mode ([MorpheApp#403](MorpheApp#403)) ([4bcd828](MorpheApp@4bcd828))
* Add manual `JKS` parser for keystore import without BC provider dependency ([MorpheApp#494](MorpheApp#494)) ([fd8902b](MorpheApp@fd8902b))
* Add random background mode with rotation interval ([6bacce3](MorpheApp@6bacce3))
* Add swipe gestures and multi-select to app buttons on main screen ([MorpheApp#446](MorpheApp#446)) ([822c23f](MorpheApp@822c23f))
* Add swipe gestures to hidden apps dialog and search results ([882a7d5](MorpheApp@882a7d5))
* Add toggle to disable home screen patching phrases ([MorpheApp#443](MorpheApp#443)) ([108e60b](MorpheApp@108e60b))
* Import keystore from `PKCS12`, `BKS` and `JKS` formats ([da3ec82](MorpheApp@da3ec82))
* Improve patch visibility in bundle and app patch dialogs ([MorpheApp#457](MorpheApp#457)) ([739cb32](MorpheApp@739cb32))
* Live patching progress in foreground notification ([fb9b6e7](MorpheApp@fb9b6e7))
* Migrate to `Ackpine` for package installation/uninstallation ([MorpheApp#444](MorpheApp#444)) ([316fecf](MorpheApp@316fecf))
* Open `.mpp` patch sources directly from file manager ([MorpheApp#483](MorpheApp#483)) ([8df6ed9](MorpheApp@8df6ed9))
* Open patches dialog on hidden app tap in search ([e538457](MorpheApp@e538457))
* Prompt bundle selection before APK selection in simple mode ([MorpheApp#511](MorpheApp#511)) ([650befe](MorpheApp@650befe))
* Sort universal patches to bottom of each bundle in patches dialog ([53f43d9](MorpheApp@53f43d9))
* Store merged APK from split archives as original for repatching ([MorpheApp#438](MorpheApp#438)) ([2bacd4c](MorpheApp@2bacd4c))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant