412 Commits

Author SHA1 Message Date
machiav3lli
1050e7a85d Add: Prefernces for number of shown updated and new apps 2022-01-16 13:30:37 +01:00
LooKeR
f48958433d Remove boiler plate code for ViewModelFactory 2022-01-16 13:17:39 +05:30
machiav3lli
edf55849d1 Update: Move layout setup into onStart for activities 2022-01-15 00:18:24 +01:00
machiav3lli
039db23a64 Fix: Apply theme on MainActivity when changed 2022-01-15 00:07:44 +01:00
machiav3lli
2d0fe2fe61 Remove: CursorOwner from Activities 2022-01-15 00:06:52 +01:00
machiav3lli
5412f20032 Add: Prefs fragments 2022-01-14 01:41:47 +01:00
machiav3lli
1798c42d38 Add: Launching Prefs from Main 2022-01-14 01:41:01 +01:00
machiav3lli
08badc9327 Add: Prefs activity and base fragment 2022-01-14 01:38:29 +01:00
machiav3lli
61c4996277 Add: Setup methods to MainNav fragments 2022-01-14 00:23:28 +01:00
machiav3lli
e559f19529 Fix: Database access on Main crashes 2022-01-13 23:52:30 +01:00
machiav3lli
27a54c1b08 Remove: FastScrollerBuilder from MainNav fragments 2022-01-13 23:42:45 +01:00
machiav3lli
abaf7fae43 Update: Move laayout initialisation into onViewCreated for MainNav fragments 2022-01-13 23:36:05 +01:00
machiav3lli
67ebb45153 Update: Change latest (first) source to Updated 2022-01-13 23:26:26 +01:00
machiav3lli
fee60a3641 Add: Sources Updated & New 2022-01-13 23:26:01 +01:00
machiav3lli
efeb51ced7 Update: Replace top with limit 2022-01-13 23:25:24 +01:00
machiav3lli
4aeb0a5709 Clean up 2022-01-13 01:45:06 +01:00
machiav3lli
c2a58652f4 Add: Observe products' list to the MainNav fragments 2022-01-13 01:44:25 +01:00
machiav3lli
edc0235119 Update: Migrate to Paged FastAdapter 2022-01-13 01:43:40 +01:00
machiav3lli
f6ff3844ae Add: CreateIconUri for Compose's items 2022-01-13 01:41:05 +01:00
machiav3lli
32330744f3 Add: Source to MainNavFragment's VM 2022-01-13 01:36:02 +01:00
machiav3lli
d183ebd5fc Remove: MainNavFragments extension of CursorOwner.Callback 2022-01-13 01:05:12 +01:00
machiav3lli
d427968ccb Remove: Allowing queries on MainThread 2022-01-13 00:53:40 +01:00
machiav3lli
251b6195d6 Update: Revamp the Request class and add two new subclasses (ProductsUpdated, ProductsNew) 2022-01-12 23:53:26 +01:00
machiav3lli
cb56f9b053 Add: Field numberOfItems to the custom query 2022-01-12 23:41:46 +01:00
LooKeR
4cd50b971d Fix micro jitters on Download State change 2022-01-13 01:18:48 +05:30
LooKeR
33dd1961f5 Fix wrong sort order on restart (Closes #153) 2022-01-13 00:35:30 +05:30
LooKeR
9c82a9f7c4 Replace Default FastScroller (Closes #79) 2022-01-12 17:02:37 +05:30
LooKeR
eb254bce37 Update - Jetpack Compose 1.0.5 -> 1.1.0-rc01/02 2022-01-08 11:15:34 +05:30
machiav3lli
a4105940a1 Add: Basic apps' Compose items recyclers 2022-01-08 01:09:42 +01:00
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