583 Commits

Author SHA1 Message Date
machiav3lli
058d34dfed Add: Basic apps' Compose items 2022-01-08 01:09:32 +01:00
machiav3lli
3e149cf946 Fix: Conflict/breakage after merging #159 2022-01-05 00:43:06 +01:00
machiav3lli
874370f34a
Merge branch 'master' into installer-improvements 2022-01-04 23:34:54 +01:00
Matthew Crossman
430b18e77b
Rename auto install preference to better reflect behaviour.
Auto install preference always runs after a sync, even if it's manual.
The names of the preference & strings have been updated to reflect this
new behaviour.
2022-01-04 21:44:24 +11:00
Matthew Crossman
5fbb6dcb61
Improve SyncService post-sync behaviour, rewrite new preference.
Moved the update query disposable to before the post-sync if-else block
so that the debug flag can be removed and everything can operate as
normal.

Rewrote the title of the new preference for auto updates to reduce the
use of jargon and to be a bit clearer.
2022-01-04 21:30:57 +11:00
Matthew Crossman
3ea8cd8c66
Resolve SecurityException in installer, tweak installed notification.
Catch and ignore SecurityExceptions when cleaning up old installer
sessions. Catch and ignore session opening exceptions.

Reduce timeout for "Installed" notifications to 5s (as it was before).

Revert removal of intent data for the install prompt notification.
2022-01-04 20:50:48 +11:00
Matthew Crossman
375ab23edb
Improve install notifications, improve DefaultInstaller, misc. clean-up
Installer notifications have their own channel, their tags have been
fixed, and the timeout has been properly set instead of using sleep.

Ensured that DefaultInstaller's sessions use unique file names. Also
improved error handling by including broken pipes and by preventing
post-copy operations if an error has occurred.

Some cleaning up has been done in Common, DownloadService, and
SyncService. A few changes have been cherry-picked from master.
2022-01-04 20:26:07 +11:00
Matthew Crossman
e1fc3c656a
Make auto-update default on Android 12+ & stop background prompts.
Sets preference for auto updates to true by default if device runs
Android 12 and later.

Reverts change allowing the install prompt to show up from the
background and instead require the notification on all Android versions.
2022-01-04 16:21:08 +11:00
machiav3lli
07bc4c3cff Remove: MainActivityX's Cursor LoaderCallbacks' implementation 2022-01-04 00:30:20 +01:00
machiav3lli
3082e7153d Update: Replace CursorOwner's de-/attaching with VM's fillList 2022-01-03 23:36:04 +01:00
Matthew Crossman
fce311098d
Implement automatic updates after repository sync
Initial implementation of fully automatic updates, allowing apps to be
updated after a repo sync has been completed. It can be enabled with a
new preference in settings.

Implemented by greatly modifying SyncService to allow updates to be run
on every completed sync before notifications would be outputted. Note
that the update notification no longer appears if auto updates are
enabled.

BuildConfig.DEBUG is used to force syncing to run to completion, even if
there are no changes to the repos. This allow reliable testing by
turning the sync button into an "update all" button. This should be
removed once an "Update all" button has been implemented in the updates
tab.

Cache file checking in DefaultInstaller is now more robust.
2022-01-03 20:21:36 +11:00
Matthew Crossman
adf305ffc0
Prevent DefaultInstaller from working on a non-existent cache file.
Ensures that the cache file exists before attempting an install using
it. This fixes a crash that can occur if the file is not yet available,
likely due to an I/O-related race condition.
2022-01-03 19:20:00 +11:00
Matthew Crossman
3e8e23e111
Simplify install prompt handling
Reverts most changes to MainActivity and uses handleSpecialIntent
instead. handleSpecialIntent now defers installer prompt to
InstallerService by starting it again.

SpecialIntent has been modified to accommodate extra data needed to
handle these callbacks.
2022-01-03 14:51:31 +11:00
machiav3lli
4547ef8a55 Update: Replace repositories observable disposable with Room-RxJava's Flowable 2022-01-03 00:38:55 +01:00
machiav3lli
70eee26048 Add: Database instance to Main fragments VM 2022-01-03 00:29:16 +01:00
Matthew Crossman
73ac718ce2
Fix install prompt notification, further automate updates/installs.
Fixes "tap to install" notification not launching an activity. Install
notifications moved to InstallerService so that we only show them for
apps that need intervention (and lets us preserve our install session).

All installs go to the installer, allowing for downloads to jump
straight into installation if possible (auto updates or showing prompt
on A9 and earlier). If a prompt is needed, the notification is still
shown.

Additional utility function checks if app is in the foreground. Used to
ensure that we do not launch a prompt that cannot be launched.

Miscellaneous comments have been added and improved.
2021-12-31 10:41:45 +11:00
LooKeR
51030cfe1a Improve: Performance Improvement with inline function 2021-12-29 12:24:44 +05:30
LooKeR
0298875e14 Fix: Settings switch changing on theme changes 2021-12-28 13:55:55 +05:30
LooKeR
f090b506fe Fix: Remove Configuration Caching to fix building & some renaming 2021-12-28 13:37:48 +05:30
LooKeR
25fac9e773 Improve: Added Sync automatically only when on wifi and plugged in 2021-12-28 13:24:04 +05:30
LooKeR
66075c9e64 Fix: Micro-crash on download cancel
Improve: Use provided function
2021-12-27 13:27:26 +05:30
LooKeR
dbd43b1a2b Improve: Better Share menu 2021-12-27 13:27:26 +05:30
machiav3lli
292b4ae9c3 Add: New adapters to LatestFragment 2021-12-26 02:41:34 +01:00
machiav3lli
113cb9864d Add: New adapters to InstalledFragment 2021-12-26 02:41:18 +01:00
machiav3lli
6b49062093 Update: Allow creating V/HAppItems without repo (no icon downloaded) 2021-12-26 02:40:37 +01:00
machiav3lli
3f440dff2a Add: Horizontal and vertical apps' items' classes 2021-12-26 01:39:26 +01:00
machiav3lli
9e022d477d Fix: Calling the data repository with the real id 2021-12-26 00:44:15 +01:00
machiav3lli
814052d821 Fix: Crash on trying to readd/update data in installed table 2021-12-26 00:04:52 +01:00
machiav3lli
88776cbe04 Clean up 2021-12-24 15:13:07 +01:00
machiav3lli
066369e769 Add: Initiate repositories in new DB on first start 2021-12-24 15:11:44 +01:00
machiav3lli
3e4aa20c3d Fix: UNIQUE id failure for Repository 2021-12-24 15:10:31 +01:00
machiav3lli
5db9aa2591 Remove: Old database class 2021-12-24 15:09:15 +01:00
machiav3lli
b359475db7 Fix: Post merge errors/conflicts 2021-12-24 15:08:25 +01:00
machiav3lli
4778f128f2 Fix: Common content calls 2021-12-24 15:07:45 +01:00
machiav3lli
5386c9d843 Merge DB migration branch (Warning: possible conflict solving failures) 2021-12-24 13:20:38 +01:00
machiav3lli
1dab4dfe3d Update: Fix search bar initial setup [new UI] 2021-12-23 01:41:26 +01:00
machiav3lli
ea80e658cf Add: The main activity [new UI] 2021-12-23 01:41:03 +01:00
machiav3lli
7271528d7a Add: The main navigation fragments [new UI] 2021-12-23 01:38:09 +01:00
LooKeR
6eb3b96a83 Improve: Remove "Installed" Notification after 5 seconds
Improve: Scrolling performance in AppDetail
2021-12-19 23:29:54 +05:30
machiav3lli
0a959aeeaf Fix: Screenshot placeholder icon 2021-12-16 02:26:29 +01:00
machiav3lli
5de01f378c Fix: Soft crash when starting AppDetails 2021-12-16 01:33:41 +01:00
machiav3lli
5f4df77816 Fix: Run only one instance of root installer 2021-12-16 00:54:16 +01:00
machiav3lli
ef1036d8c7 Fix: Root installer 2021-12-16 00:53:40 +01:00
LooKeR
ebb77ffa71 Improve: Optimize Reload method (AppDetailAdapter) 2021-12-15 12:23:44 +05:30
machiav3lli
3cb535866d Update: Restructure ui package 2021-12-15 01:23:48 +01:00
LooKeR
9980582340 Fix: Over-reload on expanding description (Closes #138)
Fix: Wrong Appearing and Disappearing order in Releases
2021-12-14 01:40:09 +05:30
machiav3lli
a2f5a725a5 Fix: Screenshot's palceholder size size 2021-12-13 03:42:49 +01:00
LooKeR
80f8d2d36e Improve: Cleanup RepositoriesAdapter 2021-12-12 01:29:12 +05:30
LooKeR
96b4ef2bcb Improve: Cleanup ScreenShots ViewHolder
Fix: Typo in MainApplication.kt
2021-12-12 01:08:34 +05:30
LooKeR
ab49fae13e Update Chip Padding Fix 2021-12-12 00:51:11 +05:30