2839 Commits

Author SHA1 Message Date
LooKeR
24e86dc04b
Merge remote-tracking branch 'origin/main' 2025-06-23 22:52:17 +05:30
LooKeR
b45a0aaf33
build: Update deps and gradle version 2025-06-23 22:52:07 +05:30
LooKeR
9c04d4f2de
Merge pull request #1023 from RokeJulianLockhart/patch-1
Replace the (301) `Iamlooker/Droid-ify` URI with `Droid-ify/client` in `SettingsFragment.kt`.
2025-06-23 22:41:55 +05:30
LooKeR
2cf7ec1ba6
Merge pull request #1032 from RokeJulianLockhart/patch-2
Remove Umbrella and LibRetro from `Repository.kt`.
2025-06-23 20:28:20 +05:30
Mr. Beedell, Roke Julian Lockhart (RJLB)
e22de97b97
Update Repository.kt to remove Umbrella and LibRetro.
Remediates:

1. https://github.com/Droid-ify/client/issues/1005#issuecomment-2996790623

2. https://github.com/Droid-ify/client/issues/1006#issuecomment-2996791174
2025-06-23 15:56:41 +01:00
LooKeR
53df86b72a
fix: Possible crash if given url is wrong 2025-06-23 20:22:56 +05:30
LooKeR
4223cea6d7
feat: Implement repository removal during database upgrades
This commit introduces a mechanism to remove specific repositories from the user's database during an `onUpgrade` event.

Key changes:
- Added a `toRemove` list in `Repository.kt` to specify addresses of repositories to be removed.
- Implemented `SQLiteDatabase.removeRepositories()` in `DatabaseHelper.kt`. This function:
    - Queries the database for existing repositories.
    - Compares them against the `toRemove` list.
    - Marks matching repositories as deleted in the database by setting the `ROW_DELETED` flag to 1.
- The `onUpgrade` method in `DatabaseHelper.kt` now calls `db.removeRepositories()` before adding newly added repositories.
2025-06-23 20:16:40 +05:30
LooKeR
6a00b6bc0c
Merge remote-tracking branch 'origin/main' 2025-06-23 20:12:01 +05:30
LooKeR
d6163a518d
Refactor: Extract database helper logic into separate classes
This commit refactors the database management logic by:

- Introducing a `Table` interface to define common table operations.
- Creating a `DatabaseHelper` class that extends `SQLiteOpenHelper` to encapsulate database creation, upgrades, and table/index management.
- Moving the `Schema` object into `Database` to maintain its accessibility.
- Making the `query` extension function on `SQLiteDatabase` public.

This improves code organization and maintainability by separating concerns related to database structure and helper functionalities.
2025-06-23 19:49:28 +05:30
ℂ𝕠𝕠𝕠𝕝 (𝕘𝕚𝕥𝕙𝕦𝕓.𝕔𝕠𝕞/ℂ𝕠𝕠𝕠𝕝)
ab2c107281
Translated using Weblate (Latvian)
Currently translated at 97.8% (224 of 229 strings)

Translation: Droid-ify/Localization
Translate-URL: https://hosted.weblate.org/projects/droidify/localization/lv/
2025-06-19 20:05:44 +02:00
Rex_sa
1468dec818
Translated using Weblate (Arabic)
Currently translated at 100.0% (229 of 229 strings)

Translation: Droid-ify/Localization
Translate-URL: https://hosted.weblate.org/projects/droidify/localization/ar/
2025-06-19 20:05:42 +02:00
NEXI
d977b9999d
Translated using Weblate (Serbian)
Currently translated at 100.0% (229 of 229 strings)

Translation: Droid-ify/Localization
Translate-URL: https://hosted.weblate.org/projects/droidify/localization/sr/
2025-06-17 23:04:46 +02:00
OlliesGudh
3be529bbd9
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (229 of 229 strings)

Translation: Droid-ify/Localization
Translate-URL: https://hosted.weblate.org/projects/droidify/localization/pt_BR/
2025-06-17 23:04:45 +02:00
Mr. Beedell, Roke Julian Lockhart (RJLB)
d7cf0f8a77
Replace the 301 GH URI in SettingsFragment.kt 2025-06-16 14:55:01 +01:00
Poesty Li
8a4db58947
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (229 of 229 strings)

Translation: Droid-ify/Localization
Translate-URL: https://hosted.weblate.org/projects/droidify/localization/zh_Hans/
2025-06-15 22:01:55 +02:00
Yago Raña Gayoso
4375189a77
Translated using Weblate (Galician)
Currently translated at 100.0% (229 of 229 strings)

Translation: Droid-ify/Localization
Translate-URL: https://hosted.weblate.org/projects/droidify/localization/gl/
2025-06-15 22:01:53 +02:00
Yago Raña Gayoso
789634c6b8
Translated using Weblate (Spanish)
Currently translated at 97.8% (224 of 229 strings)

Translation: Droid-ify/Localization
Translate-URL: https://hosted.weblate.org/projects/droidify/localization/es/
2025-06-15 22:01:50 +02:00
LooKeR
402482e4c1
Merge remote-tracking branch 'origin/main' 2025-06-14 19:40:44 +05:30
samko5sam
1b536c74a0
Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 100.0% (229 of 229 strings)

Translation: Droid-ify/Localization
Translate-URL: https://hosted.weblate.org/projects/droidify/localization/zh_Hant/
2025-06-13 04:01:50 +02:00
diskacz
ed8b31a925
Translated using Weblate (Polish)
Currently translated at 100.0% (229 of 229 strings)

Translation: Droid-ify/Localization
Translate-URL: https://hosted.weblate.org/projects/droidify/localization/pl/
2025-06-11 09:01:54 +02:00
LooKeR
e87427be58
Merge remote-tracking branch 'origin/main' 2025-06-10 16:22:41 +05:30
Максим Горпиніч
bdb3acc7fe
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (229 of 229 strings)

Translation: Droid-ify/Localization
Translate-URL: https://hosted.weblate.org/projects/droidify/localization/uk/
2025-06-10 08:01:59 +02:00
solokot
11fcc7d6ca
Translated using Weblate (Russian)
Currently translated at 100.0% (229 of 229 strings)

Translation: Droid-ify/Localization
Translate-URL: https://hosted.weblate.org/projects/droidify/localization/ru/
2025-06-10 08:01:56 +02:00
Stephan Paternotte
3e426643e2
Translated using Weblate (Dutch)
Currently translated at 100.0% (229 of 229 strings)

Translation: Droid-ify/Localization
Translate-URL: https://hosted.weblate.org/projects/droidify/localization/nl/
2025-06-10 08:01:55 +02:00
elid
44f6878a33
Translated using Weblate (Hebrew)
Currently translated at 98.6% (226 of 229 strings)

Translation: Droid-ify/Localization
Translate-URL: https://hosted.weblate.org/projects/droidify/localization/he/
2025-06-10 08:01:51 +02:00
Fjuro
c85fa68624
Translated using Weblate (Czech)
Currently translated at 100.0% (229 of 229 strings)

Translation: Droid-ify/Localization
Translate-URL: https://hosted.weblate.org/projects/droidify/localization/cs/
2025-06-10 08:01:49 +02:00
trunars
eefb1c3db9
Translated using Weblate (Bulgarian)
Currently translated at 100.0% (229 of 229 strings)

Translation: Droid-ify/Localization
Translate-URL: https://hosted.weblate.org/projects/droidify/localization/bg/
2025-06-10 08:01:47 +02:00
Hosted Weblate
3aca1e20c1
Update translation files
Updated by "Cleanup translation files" hook in Weblate.

Translation: Droid-ify/Localization
Translate-URL: https://hosted.weblate.org/projects/droidify/localization/
2025-06-09 06:50:16 +02:00
LooKeR
26f6fbbe17
fix: Auto verify izzy droid links 2025-06-08 19:49:09 +05:30
LooKeR
de003aeed0
fix: Dont let fdroid break share links 2025-06-08 19:48:45 +05:30
LooKeR
159bcb97e1
perf: perform refresh in ui layer
Improve refresh performance
2025-06-08 18:24:04 +05:30
LooKeR
cc71af1402
fix: Remove redundant page refresh after coming back 2025-06-08 18:03:24 +05:30
LooKeR
d29b85544f
fix: Show sort order on each page 2025-06-08 18:02:29 +05:30
LooKeR
0a54fcf097
fix: skipSignatureStream from AppListViewModel
This allows the AppListFragment to observe changes to the skipSignature setting and update the app list request accordingly.
2025-06-08 17:48:49 +05:30
LooKeR
f34ca109d8
chore: Upgrade deps and fix merge issues 2025-06-08 17:48:24 +05:30
LooKeR
249df47bef
Merge pull request #998 from Droid-ify/room-entity
Room entity
2025-06-08 17:23:47 +05:30
LooKeR
22a1b09d2d
Merge branch 'main' into room-entity 2025-06-08 17:23:36 +05:30
LooKeR
ae2bdaea19
Refactor: Enhance AppDao query capabilities
This commit refactors the `AppDao` to provide more flexible and robust querying options for application data.

Key changes:

- **Renamed `_rawQueryAppEntities` to `_rawStreamAppEntities`**: This clarifies the function's purpose of returning a Flow of entities.
- **Added `_rawQueryAppEntities`**: A new suspend function that directly returns a List of entities, for non-streaming use cases.
- **Introduced `query` function**: A new public suspend function that mirrors the functionality of `stream` but returns a `List<AppEntity>` instead of a `Flow`.
- **Enhanced `searchQuery` private function**:
    - Now accepts lists for `categoriesToInclude`, `categoriesToExclude`, `antiFeaturesToInclude`, and `antiFeaturesToExclude` to allow filtering by multiple criteria.
    - Uses `DISTINCT` in the SQL query to avoid duplicate app entries.
    - Corrected join condition for `category_app_relation` from `app.id = category_app_relation.appId` to `app.id = category_app_relation.id`.
    - Corrected table name for anti-features from `anti_feature_app_relation` to `anti_features_app_relation`.
    - Improved SQL query construction for category and anti-feature filtering using `IN` and `NOT IN` clauses.
    - Ensured `ORDER BY` clause is always present, even if `searchQuery` is null.
    - Prefixed table names in `ORDER BY` clause (e.g., `app.lastUpdated`) for clarity and to avoid ambiguity.
- **Updated `stream` function**: Now utilizes the refactored `searchQuery` function and passes through all new filtering parameters.
- **Updated database schema**:
    - Changed `onDelete` action for the foreign key in the `authentication` table to `CASCADE`.
- **Updated Room tests**:
    - Simplified setup by removing legacy database initialization.
    - Added tests for new sorting and category filtering functionalities in `AppDao`.
2025-06-01 01:47:59 +05:30
LooKeR
4d9c0b7778
Merge pull request #988 from CatotheCat11/show_min_sdk
Show minimum android version for apps
2025-05-31 19:15:06 +05:30
Cato the Cat
2036894fa4
Merge branch 'main' into show_min_sdk 2025-05-31 16:39:53 +03:00
Cato the Cat
cfd7b56a92
Show target and minimum SDK on one line 2025-05-31 16:36:50 +03:00
LooKeR
a4e11a02dc
Merge pull request #956 from Porkepix/fix_messanger_typo
Fix typo from messanger to messenger
2025-05-31 18:25:24 +05:30
LooKeR
582d526faf
Merge pull request #995 from ManiaciaChao/feat/custom-legacy-installer
Add support for specifying custom installer (`LegacyInstaller` only)
2025-05-31 18:22:49 +05:30
elid
08c3f50ad1
Translated using Weblate (Hebrew)
Currently translated at 100.0% (224 of 224 strings)

Translation: Droid-ify/Localization
Translate-URL: https://hosted.weblate.org/projects/droidify/localization/he/
2025-05-30 13:39:11 +02:00
LooKeR
c943c2a149
Merge remote-tracking branch 'origin/room-entity' into room-entity
# Conflicts:
#	app/src/main/kotlin/com/looker/droidify/data/local/model/AuthenticationEntity.kt
2025-05-29 19:56:42 +05:30
LooKeR
fa2ee28284
Refactor: Use cascade delete for repo auth
This commit simplifies the `RepoDao` by removing the manual deletion of authentication records when a repository is deleted.

Instead, it leverages Room's `onDelete = CASCADE` functionality in the `AuthenticationEntity`'s foreign key definition. This ensures that when a `RepoEntity` is deleted, its associated `AuthenticationEntity` records are automatically removed from the database.

The `deleteRepo` and `deleteAuth` methods in `RepoDao` have been removed as they are no longer necessary. Additionally, `stream()` and `repo()` methods have been added to `RepoDao` for observing repository data.
2025-05-29 19:56:10 +05:30
LooKeR
5a15b7e602
Refactor: Use cascade delete for repo auth
This commit simplifies the `RepoDao` by removing the manual deletion of authentication records when a repository is deleted.

Instead, it leverages Room's `onDelete = CASCADE` functionality in the `AuthenticationEntity`'s foreign key definition. This ensures that when a `RepoEntity` is deleted, its associated `AuthenticationEntity` records are automatically removed from the database.

The `deleteRepo` and `deleteAuth` methods in `RepoDao` have been removed as they are no longer necessary. Additionally, `stream()` and `repo()` methods have been added to `RepoDao` for observing repository data.
2025-05-26 10:47:46 +05:30
LooKeR
d1d65a3aeb
fix: Only insert repo and app if not duplicate 2025-05-24 22:17:50 +05:30
maniacata
d9d22809a9 refactor: impl LegacyInstallComponent as sealed class & new option always_choose 2025-05-23 01:54:40 +08:00
maniacata
815aebe28c feat: allow specify custom installer for LegacyInstaller
Useful for customizing installation behavior.
2025-05-22 01:18:51 +08:00