wolfskin/app/src/main/java/com/github/damontecres/wholphin/services
Damontecres f91bca18ff
Add more searchable types & choose what to search (#1857)
## Description
This PR adds several more data types to search. It also adds a setting
(per use profile) to choose which types to include/exclude when
searching. The combined results now uses the same types instead of a
separate list.

A user can only search for types that they have access to. For example,
they need Live TV access for TV channels/programs or need access to a
movies-type library to search movies.

Added types to search:
- Photos & Photo albums
- Playlists
- People
- TV channels
- Live TV programs

Clicking a TV channel will play it. Clicking a TV program shows the
program dialog allowing for recording or watching live if it's currently
airing.

On the main search page you can also toggle whether to search Seerr or
not. This does not apply to the discover search tab.

Dev note: Some minor refactoring to move setting up/canceling live tv
recordings into a new service so it can be shared between with the live
tv & search pages. Also search related files are moved into the same
package now.

### Related issues
Closes #409
Closes #646 
Closes #1668
Closes #1750

### Testing
Emulator using users with different permissions and library access

## Screenshots
<img width="475" height="584" alt="image"
src="https://github.com/user-attachments/assets/ebcff697-07ba-4ddd-8c26-57f147cfa02a"
/>


## AI or LLM usage
None
2026-08-26 14:39:02 -04:00
..
hilt Use Wholphin-specific dispatchers (#1583) 2026-06-18 11:17:19 -04:00
tvprovider Parse intents to search, view, or play media (#1688) 2026-07-20 10:04:34 -04:00
AppUpgradeHandler.kt Fix experimental AC3 setting being used by default (#1879) 2026-08-20 17:08:31 -04:00
BackdropService.kt Use Wholphin-specific dispatchers (#1583) 2026-06-18 11:17:19 -04:00
DatePlayedService.kt Use Wholphin-specific dispatchers (#1583) 2026-06-18 11:17:19 -04:00
DeviceProfileService.kt Fix experimental AC3 setting being used by default (#1879) 2026-08-20 17:08:31 -04:00
DisplayPreferencesService.kt Add option to remove item from Continue Watching and Next Up rows (#1140) 2026-04-07 16:04:21 -04:00
ExtrasService.kt Update item fields queried & expand usage of primary aspect ratio (#1852) 2026-08-17 22:54:15 -04:00
FavoriteWatchManager.kt Add option to remove item from Continue Watching and Next Up rows (#1140) 2026-04-07 16:04:21 -04:00
FilterOptionCache.kt Fix loading a canceled discover tv show (#1709) 2026-07-16 11:35:32 -04:00
HomeSettingsService.kt Several minor bug fixes (#1811) 2026-08-13 12:36:20 -04:00
ImageUrlService.kt Fix trying to fetch images with zero fillWidth (#1753) 2026-07-26 16:36:49 -04:00
IntentService.kt Fix Next Up channel launch sign in (#1886) 2026-08-21 15:04:07 -04:00
KeyValueService.kt Better collection pages including more view options (#1137) 2026-03-28 10:31:03 -04:00
LatestNextUpService.kt Fix resume query for Jellyfin 12 (#1715) 2026-07-17 11:23:31 -04:00
LatestNextUpWorker.kt Use Wholphin-specific dispatchers (#1583) 2026-06-18 11:17:19 -04:00
LiveTvService.kt Add more searchable types & choose what to search (#1857) 2026-08-26 14:39:02 -04:00
MediaManagementService.kt Remove dependency on livedata libraries (#1453) 2026-05-25 08:27:19 -04:00
MediaReportService.kt Several minor bug fixes (#1811) 2026-08-13 12:36:20 -04:00
MusicService.kt Fix experimental AC3 setting being used by default (#1879) 2026-08-20 17:08:31 -04:00
NavDrawerService.kt Fixes for error handling, UI padding, & more (#1759) 2026-07-29 10:21:49 -04:00
NavigationManager.kt Better error handling for errors on home page rows (#1128) 2026-03-21 19:17:43 -04:00
PeopleFavorites.kt Add a lot of code documentation (#1145) 2026-03-29 10:52:25 -04:00
PlaybackLifecycleObserver.kt External player follow up fixes (#1294) 2026-04-23 15:08:25 -04:00
PlayerFactory.kt Pause music playback when another app takes audio focus (#1842) 2026-08-17 22:51:51 -04:00
PlaylistCreator.kt Update item fields queried & expand usage of primary aspect ratio (#1852) 2026-08-17 22:54:15 -04:00
RefreshRateService.kt Use Wholphin-specific dispatchers (#1583) 2026-06-18 11:17:19 -04:00
RememberedTabService.kt Use Wholphin-specific dispatchers (#1583) 2026-06-18 11:17:19 -04:00
ScreensaverService.kt Several minor bug fixes (#1866) 2026-08-20 17:09:39 -04:00
SeerrApi.kt Create FireTV specific app variant (#1230) 2026-04-11 19:30:23 -04:00
SeerrServerRepository.kt Remove dependency on livedata libraries (#1453) 2026-05-25 08:27:19 -04:00
SeerrService.kt Updates & fixes to discover pages (#1836) 2026-08-16 10:29:03 -04:00
ServerEventListener.kt Several minor bug fixes (#1811) 2026-08-13 12:36:20 -04:00
SetupNavigationManager.kt Better error handling for errors on home page rows (#1128) 2026-03-21 19:17:43 -04:00
StreamChoiceService.kt Various minor bug fixes (#1707) 2026-07-18 17:50:35 -04:00
SuggestionsCache.kt Use Wholphin-specific dispatchers (#1583) 2026-06-18 11:17:19 -04:00
SuggestionService.kt Remove dependency on livedata libraries (#1453) 2026-05-25 08:27:19 -04:00
SuggestionsSchedulerService.kt Remove dependency on livedata libraries (#1453) 2026-05-25 08:27:19 -04:00
SuggestionsWorker.kt Use Wholphin-specific dispatchers (#1583) 2026-06-18 11:17:19 -04:00
ThemeSongPlayer.kt Use Wholphin-specific dispatchers (#1583) 2026-06-18 11:17:19 -04:00
TrailerService.kt De-duplicate string resource keys (#1560) 2026-06-12 01:24:24 -04:00
UpdateChecker.kt Several minor bug fixes (#1811) 2026-08-13 12:36:20 -04:00
UserPreferencesService.kt Add option to override user profile settings for audio & subtitle languages (#1680) 2026-07-14 14:17:31 -04:00
UserSwitchListener.kt Use Wholphin-specific dispatchers (#1583) 2026-06-18 11:17:19 -04:00