feat: WebSocket now-playing via Socket.IO from backend

This commit is contained in:
nk
2026-06-02 19:52:15 +03:00
parent a83672b455
commit bcb999ace9
1159 changed files with 15703 additions and 9918 deletions

View File

@@ -10,31 +10,43 @@ import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableSet;
import com.radiola.data.local.AppDatabase;
import com.radiola.data.local.LocalStationDataSource;
import com.radiola.data.local.TokenDataStore;
import com.radiola.data.remote.AuthInterceptor;
import com.radiola.data.remote.RadiolaApi;
import com.radiola.data.remote.RecordApi;
import com.radiola.data.repository.AuthRepositoryImpl;
import com.radiola.data.repository.FavoritesRepositoryImpl;
import com.radiola.data.repository.NowPlayingRepositoryImpl;
import com.radiola.data.repository.RecordingRepositoryImpl;
import com.radiola.data.repository.SettingsRepositoryImpl;
import com.radiola.data.repository.StationRepositoryImpl;
import com.radiola.data.repository.StationTester;
import com.radiola.data.repository.SyncRepositoryImpl;
import com.radiola.data.repository.TrackHistoryRepositoryImpl;
import com.radiola.di.AppModule_ProvideAuthRepositoryFactory;
import com.radiola.di.AppModule_ProvideBaseOkHttpClientFactory;
import com.radiola.di.AppModule_ProvideDatabaseFactory;
import com.radiola.di.AppModule_ProvideFavoritesRepositoryFactory;
import com.radiola.di.AppModule_ProvideJsonFactory;
import com.radiola.di.AppModule_ProvideLocalStationDataSourceFactory;
import com.radiola.di.AppModule_ProvideNowPlayingRepositoryFactory;
import com.radiola.di.AppModule_ProvideOkHttpClientFactory;
import com.radiola.di.AppModule_ProvideRadiolaApiFactory;
import com.radiola.di.AppModule_ProvideRadiolaOkHttpClientFactory;
import com.radiola.di.AppModule_ProvideRadiolaRetrofitFactory;
import com.radiola.di.AppModule_ProvideRecordApiFactory;
import com.radiola.di.AppModule_ProvideRecordRetrofitFactory;
import com.radiola.di.AppModule_ProvideRecordingRepositoryFactory;
import com.radiola.di.AppModule_ProvideRetrofitFactory;
import com.radiola.di.AppModule_ProvideSettingsRepositoryFactory;
import com.radiola.di.AppModule_ProvideStationRepositoryFactory;
import com.radiola.di.AppModule_ProvideSyncRepositoryFactory;
import com.radiola.di.AppModule_ProvideTrackHistoryRepositoryFactory;
import com.radiola.domain.repository.AuthRepository;
import com.radiola.domain.repository.FavoritesRepository;
import com.radiola.domain.repository.NowPlayingRepository;
import com.radiola.domain.repository.RecordingRepository;
import com.radiola.domain.repository.SettingsRepository;
import com.radiola.domain.repository.StationRepository;
import com.radiola.domain.repository.SyncRepository;
import com.radiola.domain.repository.TrackHistoryRepository;
import com.radiola.domain.usecase.GetNowPlayingUseCase;
import com.radiola.domain.usecase.GetStationsUseCase;
@@ -43,9 +55,19 @@ import com.radiola.domain.usecase.RefreshStationsUseCase;
import com.radiola.domain.usecase.SearchTrackInServiceUseCase;
import com.radiola.domain.usecase.TestStationsUseCase;
import com.radiola.domain.usecase.ToggleFavoriteUseCase;
import com.radiola.domain.usecase.auth.GetAuthStateUseCase;
import com.radiola.domain.usecase.auth.GetCurrentUserUseCase;
import com.radiola.domain.usecase.auth.LogoutUseCase;
import com.radiola.domain.usecase.auth.PushFavoriteUseCase;
import com.radiola.domain.usecase.auth.PushHistoryUseCase;
import com.radiola.domain.usecase.auth.RequestMagicLinkUseCase;
import com.radiola.domain.usecase.auth.SyncFavoritesUseCase;
import com.radiola.domain.usecase.auth.VerifyMagicLinkUseCase;
import com.radiola.service.PlayerController;
import com.radiola.service.PlayerService;
import com.radiola.service.PlayerService_MembersInjector;
import com.radiola.ui.auth.AuthViewModel;
import com.radiola.ui.auth.AuthViewModel_HiltModules;
import com.radiola.ui.favorites.FavoritesViewModel;
import com.radiola.ui.favorites.FavoritesViewModel_HiltModules;
import com.radiola.ui.history.HistoryViewModel;
@@ -410,6 +432,7 @@ public final class DaggerRadiolaApplication_HiltComponents_SingletonC {
@Override
public void injectMainActivity(MainActivity mainActivity) {
injectMainActivity2(mainActivity);
}
@Override
@@ -419,7 +442,7 @@ public final class DaggerRadiolaApplication_HiltComponents_SingletonC {
@Override
public Map<Class<?>, Boolean> getViewModelKeys() {
return LazyClassKeyMap.<Boolean>of(ImmutableMap.<String, Boolean>builderWithExpectedSize(6).put(LazyClassKeyProvider.com_radiola_ui_favorites_FavoritesViewModel, FavoritesViewModel_HiltModules.KeyModule.provide()).put(LazyClassKeyProvider.com_radiola_ui_history_HistoryViewModel, HistoryViewModel_HiltModules.KeyModule.provide()).put(LazyClassKeyProvider.com_radiola_ui_player_PlayerViewModel, PlayerViewModel_HiltModules.KeyModule.provide()).put(LazyClassKeyProvider.com_radiola_ui_recordings_RecordingsViewModel, RecordingsViewModel_HiltModules.KeyModule.provide()).put(LazyClassKeyProvider.com_radiola_ui_settings_SettingsViewModel, SettingsViewModel_HiltModules.KeyModule.provide()).put(LazyClassKeyProvider.com_radiola_ui_stations_StationsViewModel, StationsViewModel_HiltModules.KeyModule.provide()).build());
return LazyClassKeyMap.<Boolean>of(ImmutableMap.<String, Boolean>builderWithExpectedSize(7).put(LazyClassKeyProvider.com_radiola_ui_auth_AuthViewModel, AuthViewModel_HiltModules.KeyModule.provide()).put(LazyClassKeyProvider.com_radiola_ui_favorites_FavoritesViewModel, FavoritesViewModel_HiltModules.KeyModule.provide()).put(LazyClassKeyProvider.com_radiola_ui_history_HistoryViewModel, HistoryViewModel_HiltModules.KeyModule.provide()).put(LazyClassKeyProvider.com_radiola_ui_player_PlayerViewModel, PlayerViewModel_HiltModules.KeyModule.provide()).put(LazyClassKeyProvider.com_radiola_ui_recordings_RecordingsViewModel, RecordingsViewModel_HiltModules.KeyModule.provide()).put(LazyClassKeyProvider.com_radiola_ui_settings_SettingsViewModel, SettingsViewModel_HiltModules.KeyModule.provide()).put(LazyClassKeyProvider.com_radiola_ui_stations_StationsViewModel, StationsViewModel_HiltModules.KeyModule.provide()).build());
}
@Override
@@ -437,37 +460,47 @@ public final class DaggerRadiolaApplication_HiltComponents_SingletonC {
return new ViewCBuilder(singletonCImpl, activityRetainedCImpl, activityCImpl);
}
private MainActivity injectMainActivity2(MainActivity instance) {
MainActivity_MembersInjector.injectTokenDataStore(instance, singletonCImpl.tokenDataStoreProvider.get());
return instance;
}
@IdentifierNameString
private static final class LazyClassKeyProvider {
static String com_radiola_ui_settings_SettingsViewModel = "com.radiola.ui.settings.SettingsViewModel";
static String com_radiola_ui_auth_AuthViewModel = "com.radiola.ui.auth.AuthViewModel";
static String com_radiola_ui_stations_StationsViewModel = "com.radiola.ui.stations.StationsViewModel";
static String com_radiola_ui_history_HistoryViewModel = "com.radiola.ui.history.HistoryViewModel";
static String com_radiola_ui_player_PlayerViewModel = "com.radiola.ui.player.PlayerViewModel";
static String com_radiola_ui_favorites_FavoritesViewModel = "com.radiola.ui.favorites.FavoritesViewModel";
static String com_radiola_ui_recordings_RecordingsViewModel = "com.radiola.ui.recordings.RecordingsViewModel";
static String com_radiola_ui_settings_SettingsViewModel = "com.radiola.ui.settings.SettingsViewModel";
@KeepFieldType
SettingsViewModel com_radiola_ui_settings_SettingsViewModel2;
static String com_radiola_ui_stations_StationsViewModel = "com.radiola.ui.stations.StationsViewModel";
@KeepFieldType
AuthViewModel com_radiola_ui_auth_AuthViewModel2;
static String com_radiola_ui_player_PlayerViewModel = "com.radiola.ui.player.PlayerViewModel";
@KeepFieldType
StationsViewModel com_radiola_ui_stations_StationsViewModel2;
@KeepFieldType
HistoryViewModel com_radiola_ui_history_HistoryViewModel2;
@KeepFieldType
PlayerViewModel com_radiola_ui_player_PlayerViewModel2;
@KeepFieldType
FavoritesViewModel com_radiola_ui_favorites_FavoritesViewModel2;
@KeepFieldType
RecordingsViewModel com_radiola_ui_recordings_RecordingsViewModel2;
@KeepFieldType
SettingsViewModel com_radiola_ui_settings_SettingsViewModel2;
@KeepFieldType
StationsViewModel com_radiola_ui_stations_StationsViewModel2;
@KeepFieldType
PlayerViewModel com_radiola_ui_player_PlayerViewModel2;
}
}
@@ -478,6 +511,8 @@ public final class DaggerRadiolaApplication_HiltComponents_SingletonC {
private final ViewModelCImpl viewModelCImpl = this;
private Provider<AuthViewModel> authViewModelProvider;
private Provider<FavoritesViewModel> favoritesViewModelProvider;
private Provider<HistoryViewModel> historyViewModelProvider;
@@ -500,10 +535,26 @@ public final class DaggerRadiolaApplication_HiltComponents_SingletonC {
}
private RequestMagicLinkUseCase requestMagicLinkUseCase() {
return new RequestMagicLinkUseCase(singletonCImpl.provideAuthRepositoryProvider.get());
}
private VerifyMagicLinkUseCase verifyMagicLinkUseCase() {
return new VerifyMagicLinkUseCase(singletonCImpl.provideAuthRepositoryProvider.get());
}
private ToggleFavoriteUseCase toggleFavoriteUseCase() {
return new ToggleFavoriteUseCase(singletonCImpl.provideFavoritesRepositoryProvider.get());
}
private PushFavoriteUseCase pushFavoriteUseCase() {
return new PushFavoriteUseCase(singletonCImpl.provideSyncRepositoryProvider.get());
}
private SyncFavoritesUseCase syncFavoritesUseCase() {
return new SyncFavoritesUseCase(singletonCImpl.provideFavoritesRepositoryProvider.get(), singletonCImpl.provideSyncRepositoryProvider.get());
}
private GetStationsUseCase getStationsUseCase() {
return new GetStationsUseCase(singletonCImpl.provideStationRepositoryProvider.get());
}
@@ -512,10 +563,26 @@ public final class DaggerRadiolaApplication_HiltComponents_SingletonC {
return new GetNowPlayingUseCase(singletonCImpl.provideNowPlayingRepositoryProvider.get());
}
private PushHistoryUseCase pushHistoryUseCase() {
return new PushHistoryUseCase(singletonCImpl.provideSyncRepositoryProvider.get());
}
private TestStationsUseCase testStationsUseCase() {
return new TestStationsUseCase(singletonCImpl.provideStationRepositoryProvider.get(), singletonCImpl.provideNowPlayingRepositoryProvider.get(), singletonCImpl.stationTesterProvider.get());
}
private GetAuthStateUseCase getAuthStateUseCase() {
return new GetAuthStateUseCase(singletonCImpl.provideAuthRepositoryProvider.get());
}
private GetCurrentUserUseCase getCurrentUserUseCase() {
return new GetCurrentUserUseCase(singletonCImpl.provideAuthRepositoryProvider.get());
}
private LogoutUseCase logoutUseCase() {
return new LogoutUseCase(singletonCImpl.provideAuthRepositoryProvider.get());
}
private RefreshStationsUseCase refreshStationsUseCase() {
return new RefreshStationsUseCase(singletonCImpl.provideStationRepositoryProvider.get());
}
@@ -527,17 +594,18 @@ public final class DaggerRadiolaApplication_HiltComponents_SingletonC {
@SuppressWarnings("unchecked")
private void initialize(final SavedStateHandle savedStateHandleParam,
final ViewModelLifecycle viewModelLifecycleParam) {
this.favoritesViewModelProvider = new SwitchingProvider<>(singletonCImpl, activityRetainedCImpl, viewModelCImpl, 0);
this.historyViewModelProvider = new SwitchingProvider<>(singletonCImpl, activityRetainedCImpl, viewModelCImpl, 1);
this.playerViewModelProvider = new SwitchingProvider<>(singletonCImpl, activityRetainedCImpl, viewModelCImpl, 2);
this.recordingsViewModelProvider = new SwitchingProvider<>(singletonCImpl, activityRetainedCImpl, viewModelCImpl, 3);
this.settingsViewModelProvider = new SwitchingProvider<>(singletonCImpl, activityRetainedCImpl, viewModelCImpl, 4);
this.stationsViewModelProvider = new SwitchingProvider<>(singletonCImpl, activityRetainedCImpl, viewModelCImpl, 5);
this.authViewModelProvider = new SwitchingProvider<>(singletonCImpl, activityRetainedCImpl, viewModelCImpl, 0);
this.favoritesViewModelProvider = new SwitchingProvider<>(singletonCImpl, activityRetainedCImpl, viewModelCImpl, 1);
this.historyViewModelProvider = new SwitchingProvider<>(singletonCImpl, activityRetainedCImpl, viewModelCImpl, 2);
this.playerViewModelProvider = new SwitchingProvider<>(singletonCImpl, activityRetainedCImpl, viewModelCImpl, 3);
this.recordingsViewModelProvider = new SwitchingProvider<>(singletonCImpl, activityRetainedCImpl, viewModelCImpl, 4);
this.settingsViewModelProvider = new SwitchingProvider<>(singletonCImpl, activityRetainedCImpl, viewModelCImpl, 5);
this.stationsViewModelProvider = new SwitchingProvider<>(singletonCImpl, activityRetainedCImpl, viewModelCImpl, 6);
}
@Override
public Map<Class<?>, javax.inject.Provider<ViewModel>> getHiltViewModelMap() {
return LazyClassKeyMap.<javax.inject.Provider<ViewModel>>of(ImmutableMap.<String, javax.inject.Provider<ViewModel>>builderWithExpectedSize(6).put(LazyClassKeyProvider.com_radiola_ui_favorites_FavoritesViewModel, ((Provider) favoritesViewModelProvider)).put(LazyClassKeyProvider.com_radiola_ui_history_HistoryViewModel, ((Provider) historyViewModelProvider)).put(LazyClassKeyProvider.com_radiola_ui_player_PlayerViewModel, ((Provider) playerViewModelProvider)).put(LazyClassKeyProvider.com_radiola_ui_recordings_RecordingsViewModel, ((Provider) recordingsViewModelProvider)).put(LazyClassKeyProvider.com_radiola_ui_settings_SettingsViewModel, ((Provider) settingsViewModelProvider)).put(LazyClassKeyProvider.com_radiola_ui_stations_StationsViewModel, ((Provider) stationsViewModelProvider)).build());
return LazyClassKeyMap.<javax.inject.Provider<ViewModel>>of(ImmutableMap.<String, javax.inject.Provider<ViewModel>>builderWithExpectedSize(7).put(LazyClassKeyProvider.com_radiola_ui_auth_AuthViewModel, ((Provider) authViewModelProvider)).put(LazyClassKeyProvider.com_radiola_ui_favorites_FavoritesViewModel, ((Provider) favoritesViewModelProvider)).put(LazyClassKeyProvider.com_radiola_ui_history_HistoryViewModel, ((Provider) historyViewModelProvider)).put(LazyClassKeyProvider.com_radiola_ui_player_PlayerViewModel, ((Provider) playerViewModelProvider)).put(LazyClassKeyProvider.com_radiola_ui_recordings_RecordingsViewModel, ((Provider) recordingsViewModelProvider)).put(LazyClassKeyProvider.com_radiola_ui_settings_SettingsViewModel, ((Provider) settingsViewModelProvider)).put(LazyClassKeyProvider.com_radiola_ui_stations_StationsViewModel, ((Provider) stationsViewModelProvider)).build());
}
@Override
@@ -547,35 +615,40 @@ public final class DaggerRadiolaApplication_HiltComponents_SingletonC {
@IdentifierNameString
private static final class LazyClassKeyProvider {
static String com_radiola_ui_history_HistoryViewModel = "com.radiola.ui.history.HistoryViewModel";
static String com_radiola_ui_stations_StationsViewModel = "com.radiola.ui.stations.StationsViewModel";
static String com_radiola_ui_settings_SettingsViewModel = "com.radiola.ui.settings.SettingsViewModel";
static String com_radiola_ui_auth_AuthViewModel = "com.radiola.ui.auth.AuthViewModel";
static String com_radiola_ui_player_PlayerViewModel = "com.radiola.ui.player.PlayerViewModel";
static String com_radiola_ui_favorites_FavoritesViewModel = "com.radiola.ui.favorites.FavoritesViewModel";
static String com_radiola_ui_recordings_RecordingsViewModel = "com.radiola.ui.recordings.RecordingsViewModel";
static String com_radiola_ui_settings_SettingsViewModel = "com.radiola.ui.settings.SettingsViewModel";
static String com_radiola_ui_history_HistoryViewModel = "com.radiola.ui.history.HistoryViewModel";
static String com_radiola_ui_player_PlayerViewModel = "com.radiola.ui.player.PlayerViewModel";
@KeepFieldType
HistoryViewModel com_radiola_ui_history_HistoryViewModel2;
@KeepFieldType
StationsViewModel com_radiola_ui_stations_StationsViewModel2;
@KeepFieldType
SettingsViewModel com_radiola_ui_settings_SettingsViewModel2;
@KeepFieldType
AuthViewModel com_radiola_ui_auth_AuthViewModel2;
@KeepFieldType
PlayerViewModel com_radiola_ui_player_PlayerViewModel2;
@KeepFieldType
FavoritesViewModel com_radiola_ui_favorites_FavoritesViewModel2;
@KeepFieldType
RecordingsViewModel com_radiola_ui_recordings_RecordingsViewModel2;
@KeepFieldType
SettingsViewModel com_radiola_ui_settings_SettingsViewModel2;
@KeepFieldType
HistoryViewModel com_radiola_ui_history_HistoryViewModel2;
@KeepFieldType
PlayerViewModel com_radiola_ui_player_PlayerViewModel2;
}
private static final class SwitchingProvider<T> implements Provider<T> {
@@ -599,22 +672,25 @@ public final class DaggerRadiolaApplication_HiltComponents_SingletonC {
@Override
public T get() {
switch (id) {
case 0: // com.radiola.ui.favorites.FavoritesViewModel
return (T) new FavoritesViewModel(singletonCImpl.provideFavoritesRepositoryProvider.get(), viewModelCImpl.toggleFavoriteUseCase());
case 0: // com.radiola.ui.auth.AuthViewModel
return (T) new AuthViewModel(viewModelCImpl.requestMagicLinkUseCase(), viewModelCImpl.verifyMagicLinkUseCase());
case 1: // com.radiola.ui.history.HistoryViewModel
case 1: // com.radiola.ui.favorites.FavoritesViewModel
return (T) new FavoritesViewModel(singletonCImpl.provideFavoritesRepositoryProvider.get(), viewModelCImpl.toggleFavoriteUseCase(), viewModelCImpl.pushFavoriteUseCase(), viewModelCImpl.syncFavoritesUseCase());
case 2: // com.radiola.ui.history.HistoryViewModel
return (T) new HistoryViewModel(singletonCImpl.provideTrackHistoryRepositoryProvider.get());
case 2: // com.radiola.ui.player.PlayerViewModel
return (T) new PlayerViewModel(singletonCImpl.playerControllerProvider.get(), singletonCImpl.provideStationRepositoryProvider.get(), singletonCImpl.provideNowPlayingRepositoryProvider.get(), viewModelCImpl.getStationsUseCase(), viewModelCImpl.getNowPlayingUseCase(), new SearchTrackInServiceUseCase(), viewModelCImpl.toggleFavoriteUseCase(), singletonCImpl.provideTrackHistoryRepositoryProvider.get(), singletonCImpl.provideSettingsRepositoryProvider.get(), singletonCImpl.provideRecordingRepositoryProvider.get());
case 3: // com.radiola.ui.player.PlayerViewModel
return (T) new PlayerViewModel(singletonCImpl.playerControllerProvider.get(), singletonCImpl.provideStationRepositoryProvider.get(), singletonCImpl.provideNowPlayingRepositoryProvider.get(), viewModelCImpl.getStationsUseCase(), viewModelCImpl.getNowPlayingUseCase(), new SearchTrackInServiceUseCase(), viewModelCImpl.toggleFavoriteUseCase(), singletonCImpl.provideTrackHistoryRepositoryProvider.get(), singletonCImpl.provideSettingsRepositoryProvider.get(), singletonCImpl.provideRecordingRepositoryProvider.get(), viewModelCImpl.pushHistoryUseCase());
case 3: // com.radiola.ui.recordings.RecordingsViewModel
case 4: // com.radiola.ui.recordings.RecordingsViewModel
return (T) new RecordingsViewModel(singletonCImpl.provideRecordingRepositoryProvider.get());
case 4: // com.radiola.ui.settings.SettingsViewModel
return (T) new SettingsViewModel(singletonCImpl.provideSettingsRepositoryProvider.get(), viewModelCImpl.testStationsUseCase());
case 5: // com.radiola.ui.settings.SettingsViewModel
return (T) new SettingsViewModel(singletonCImpl.provideSettingsRepositoryProvider.get(), viewModelCImpl.testStationsUseCase(), viewModelCImpl.getAuthStateUseCase(), viewModelCImpl.getCurrentUserUseCase(), viewModelCImpl.logoutUseCase());
case 5: // com.radiola.ui.stations.StationsViewModel
case 6: // com.radiola.ui.stations.StationsViewModel
return (T) new StationsViewModel(viewModelCImpl.getStationsUseCase(), viewModelCImpl.refreshStationsUseCase(), viewModelCImpl.playStationUseCase(), viewModelCImpl.toggleFavoriteUseCase(), singletonCImpl.provideFavoritesRepositoryProvider.get(), singletonCImpl.provideStationRepositoryProvider.get());
default: throw new AssertionError(id);
@@ -707,19 +783,35 @@ public final class DaggerRadiolaApplication_HiltComponents_SingletonC {
private final SingletonCImpl singletonCImpl = this;
private Provider<TokenDataStore> tokenDataStoreProvider;
private Provider<OkHttpClient> provideBaseOkHttpClientProvider;
private Provider<OkHttpClient> provideRadiolaOkHttpClientProvider;
private Provider<Json> provideJsonProvider;
private Provider<Retrofit> provideRadiolaRetrofitProvider;
private Provider<RadiolaApi> provideRadiolaApiProvider;
private Provider<AuthRepositoryImpl> authRepositoryImplProvider;
private Provider<AuthRepository> provideAuthRepositoryProvider;
private Provider<AppDatabase> provideDatabaseProvider;
private Provider<FavoritesRepository> provideFavoritesRepositoryProvider;
private Provider<SyncRepositoryImpl> syncRepositoryImplProvider;
private Provider<SyncRepository> provideSyncRepositoryProvider;
private Provider<TrackHistoryRepository> provideTrackHistoryRepositoryProvider;
private Provider<PlayerController> playerControllerProvider;
private Provider<OkHttpClient> provideOkHttpClientProvider;
private Provider<Json> provideJsonProvider;
private Provider<Retrofit> provideRetrofitProvider;
private Provider<Retrofit> provideRecordRetrofitProvider;
private Provider<RecordApi> provideRecordApiProvider;
@@ -741,6 +833,10 @@ public final class DaggerRadiolaApplication_HiltComponents_SingletonC {
}
private AuthInterceptor authInterceptor() {
return new AuthInterceptor(tokenDataStoreProvider.get());
}
private FavoritesRepositoryImpl favoritesRepositoryImpl() {
return new FavoritesRepositoryImpl(provideDatabaseProvider.get());
}
@@ -762,25 +858,33 @@ public final class DaggerRadiolaApplication_HiltComponents_SingletonC {
}
private RecordingRepositoryImpl recordingRepositoryImpl() {
return new RecordingRepositoryImpl(provideDatabaseProvider.get(), provideOkHttpClientProvider.get(), ApplicationContextModule_ProvideContextFactory.provideContext(applicationContextModule));
return new RecordingRepositoryImpl(provideDatabaseProvider.get(), provideBaseOkHttpClientProvider.get(), ApplicationContextModule_ProvideContextFactory.provideContext(applicationContextModule));
}
@SuppressWarnings("unchecked")
private void initialize(final ApplicationContextModule applicationContextModuleParam) {
this.provideDatabaseProvider = DoubleCheck.provider(new SwitchingProvider<AppDatabase>(singletonCImpl, 1));
this.provideFavoritesRepositoryProvider = DoubleCheck.provider(new SwitchingProvider<FavoritesRepository>(singletonCImpl, 0));
this.provideTrackHistoryRepositoryProvider = DoubleCheck.provider(new SwitchingProvider<TrackHistoryRepository>(singletonCImpl, 2));
this.playerControllerProvider = DoubleCheck.provider(new SwitchingProvider<PlayerController>(singletonCImpl, 3));
this.provideOkHttpClientProvider = DoubleCheck.provider(new SwitchingProvider<OkHttpClient>(singletonCImpl, 7));
this.provideJsonProvider = DoubleCheck.provider(new SwitchingProvider<Json>(singletonCImpl, 8));
this.provideRetrofitProvider = DoubleCheck.provider(new SwitchingProvider<Retrofit>(singletonCImpl, 6));
this.provideRecordApiProvider = DoubleCheck.provider(new SwitchingProvider<RecordApi>(singletonCImpl, 5));
this.provideLocalStationDataSourceProvider = DoubleCheck.provider(new SwitchingProvider<LocalStationDataSource>(singletonCImpl, 9));
this.provideStationRepositoryProvider = DoubleCheck.provider(new SwitchingProvider<StationRepository>(singletonCImpl, 4));
this.provideNowPlayingRepositoryProvider = DoubleCheck.provider(new SwitchingProvider<NowPlayingRepository>(singletonCImpl, 10));
this.provideSettingsRepositoryProvider = DoubleCheck.provider(new SwitchingProvider<SettingsRepository>(singletonCImpl, 11));
this.provideRecordingRepositoryProvider = DoubleCheck.provider(new SwitchingProvider<RecordingRepository>(singletonCImpl, 12));
this.stationTesterProvider = DoubleCheck.provider(new SwitchingProvider<StationTester>(singletonCImpl, 13));
this.tokenDataStoreProvider = DoubleCheck.provider(new SwitchingProvider<TokenDataStore>(singletonCImpl, 0));
this.provideBaseOkHttpClientProvider = DoubleCheck.provider(new SwitchingProvider<OkHttpClient>(singletonCImpl, 6));
this.provideRadiolaOkHttpClientProvider = DoubleCheck.provider(new SwitchingProvider<OkHttpClient>(singletonCImpl, 5));
this.provideJsonProvider = DoubleCheck.provider(new SwitchingProvider<Json>(singletonCImpl, 7));
this.provideRadiolaRetrofitProvider = DoubleCheck.provider(new SwitchingProvider<Retrofit>(singletonCImpl, 4));
this.provideRadiolaApiProvider = DoubleCheck.provider(new SwitchingProvider<RadiolaApi>(singletonCImpl, 3));
this.authRepositoryImplProvider = DoubleCheck.provider(new SwitchingProvider<AuthRepositoryImpl>(singletonCImpl, 2));
this.provideAuthRepositoryProvider = DoubleCheck.provider(new SwitchingProvider<AuthRepository>(singletonCImpl, 1));
this.provideDatabaseProvider = DoubleCheck.provider(new SwitchingProvider<AppDatabase>(singletonCImpl, 9));
this.provideFavoritesRepositoryProvider = DoubleCheck.provider(new SwitchingProvider<FavoritesRepository>(singletonCImpl, 8));
this.syncRepositoryImplProvider = DoubleCheck.provider(new SwitchingProvider<SyncRepositoryImpl>(singletonCImpl, 11));
this.provideSyncRepositoryProvider = DoubleCheck.provider(new SwitchingProvider<SyncRepository>(singletonCImpl, 10));
this.provideTrackHistoryRepositoryProvider = DoubleCheck.provider(new SwitchingProvider<TrackHistoryRepository>(singletonCImpl, 12));
this.playerControllerProvider = DoubleCheck.provider(new SwitchingProvider<PlayerController>(singletonCImpl, 13));
this.provideRecordRetrofitProvider = DoubleCheck.provider(new SwitchingProvider<Retrofit>(singletonCImpl, 16));
this.provideRecordApiProvider = DoubleCheck.provider(new SwitchingProvider<RecordApi>(singletonCImpl, 15));
this.provideLocalStationDataSourceProvider = DoubleCheck.provider(new SwitchingProvider<LocalStationDataSource>(singletonCImpl, 17));
this.provideStationRepositoryProvider = DoubleCheck.provider(new SwitchingProvider<StationRepository>(singletonCImpl, 14));
this.provideNowPlayingRepositoryProvider = DoubleCheck.provider(new SwitchingProvider<NowPlayingRepository>(singletonCImpl, 18));
this.provideSettingsRepositoryProvider = DoubleCheck.provider(new SwitchingProvider<SettingsRepository>(singletonCImpl, 19));
this.provideRecordingRepositoryProvider = DoubleCheck.provider(new SwitchingProvider<RecordingRepository>(singletonCImpl, 20));
this.stationTesterProvider = DoubleCheck.provider(new SwitchingProvider<StationTester>(singletonCImpl, 21));
}
@Override
@@ -816,47 +920,71 @@ public final class DaggerRadiolaApplication_HiltComponents_SingletonC {
@Override
public T get() {
switch (id) {
case 0: // com.radiola.domain.repository.FavoritesRepository
return (T) AppModule_ProvideFavoritesRepositoryFactory.provideFavoritesRepository(singletonCImpl.favoritesRepositoryImpl());
case 0: // com.radiola.data.local.TokenDataStore
return (T) new TokenDataStore(ApplicationContextModule_ProvideContextFactory.provideContext(singletonCImpl.applicationContextModule));
case 1: // com.radiola.data.local.AppDatabase
return (T) AppModule_ProvideDatabaseFactory.provideDatabase(ApplicationContextModule_ProvideContextFactory.provideContext(singletonCImpl.applicationContextModule));
case 1: // com.radiola.domain.repository.AuthRepository
return (T) AppModule_ProvideAuthRepositoryFactory.provideAuthRepository(singletonCImpl.authRepositoryImplProvider.get());
case 2: // com.radiola.domain.repository.TrackHistoryRepository
return (T) AppModule_ProvideTrackHistoryRepositoryFactory.provideTrackHistoryRepository(singletonCImpl.trackHistoryRepositoryImpl());
case 2: // com.radiola.data.repository.AuthRepositoryImpl
return (T) new AuthRepositoryImpl(singletonCImpl.provideRadiolaApiProvider.get(), singletonCImpl.tokenDataStoreProvider.get());
case 3: // com.radiola.service.PlayerController
return (T) new PlayerController(ApplicationContextModule_ProvideContextFactory.provideContext(singletonCImpl.applicationContextModule));
case 3: // com.radiola.data.remote.RadiolaApi
return (T) AppModule_ProvideRadiolaApiFactory.provideRadiolaApi(singletonCImpl.provideRadiolaRetrofitProvider.get());
case 4: // com.radiola.domain.repository.StationRepository
return (T) AppModule_ProvideStationRepositoryFactory.provideStationRepository(singletonCImpl.stationRepositoryImpl());
case 4: // @javax.inject.Named("radiola") retrofit2.Retrofit
return (T) AppModule_ProvideRadiolaRetrofitFactory.provideRadiolaRetrofit(singletonCImpl.provideRadiolaOkHttpClientProvider.get(), singletonCImpl.provideJsonProvider.get());
case 5: // com.radiola.data.remote.RecordApi
return (T) AppModule_ProvideRecordApiFactory.provideRecordApi(singletonCImpl.provideRetrofitProvider.get());
case 5: // @javax.inject.Named("radiolaClient") okhttp3.OkHttpClient
return (T) AppModule_ProvideRadiolaOkHttpClientFactory.provideRadiolaOkHttpClient(singletonCImpl.provideBaseOkHttpClientProvider.get(), singletonCImpl.authInterceptor());
case 6: // retrofit2.Retrofit
return (T) AppModule_ProvideRetrofitFactory.provideRetrofit(singletonCImpl.provideOkHttpClientProvider.get(), singletonCImpl.provideJsonProvider.get());
case 6: // okhttp3.OkHttpClient
return (T) AppModule_ProvideBaseOkHttpClientFactory.provideBaseOkHttpClient();
case 7: // okhttp3.OkHttpClient
return (T) AppModule_ProvideOkHttpClientFactory.provideOkHttpClient();
case 8: // kotlinx.serialization.json.Json
case 7: // kotlinx.serialization.json.Json
return (T) AppModule_ProvideJsonFactory.provideJson();
case 9: // com.radiola.data.local.LocalStationDataSource
case 8: // com.radiola.domain.repository.FavoritesRepository
return (T) AppModule_ProvideFavoritesRepositoryFactory.provideFavoritesRepository(singletonCImpl.favoritesRepositoryImpl());
case 9: // com.radiola.data.local.AppDatabase
return (T) AppModule_ProvideDatabaseFactory.provideDatabase(ApplicationContextModule_ProvideContextFactory.provideContext(singletonCImpl.applicationContextModule));
case 10: // com.radiola.domain.repository.SyncRepository
return (T) AppModule_ProvideSyncRepositoryFactory.provideSyncRepository(singletonCImpl.syncRepositoryImplProvider.get());
case 11: // com.radiola.data.repository.SyncRepositoryImpl
return (T) new SyncRepositoryImpl(singletonCImpl.provideRadiolaApiProvider.get(), singletonCImpl.tokenDataStoreProvider.get());
case 12: // com.radiola.domain.repository.TrackHistoryRepository
return (T) AppModule_ProvideTrackHistoryRepositoryFactory.provideTrackHistoryRepository(singletonCImpl.trackHistoryRepositoryImpl());
case 13: // com.radiola.service.PlayerController
return (T) new PlayerController(ApplicationContextModule_ProvideContextFactory.provideContext(singletonCImpl.applicationContextModule));
case 14: // com.radiola.domain.repository.StationRepository
return (T) AppModule_ProvideStationRepositoryFactory.provideStationRepository(singletonCImpl.stationRepositoryImpl());
case 15: // com.radiola.data.remote.RecordApi
return (T) AppModule_ProvideRecordApiFactory.provideRecordApi(singletonCImpl.provideRecordRetrofitProvider.get());
case 16: // @javax.inject.Named("record") retrofit2.Retrofit
return (T) AppModule_ProvideRecordRetrofitFactory.provideRecordRetrofit(singletonCImpl.provideBaseOkHttpClientProvider.get(), singletonCImpl.provideJsonProvider.get());
case 17: // com.radiola.data.local.LocalStationDataSource
return (T) AppModule_ProvideLocalStationDataSourceFactory.provideLocalStationDataSource(ApplicationContextModule_ProvideContextFactory.provideContext(singletonCImpl.applicationContextModule), singletonCImpl.provideJsonProvider.get());
case 10: // com.radiola.domain.repository.NowPlayingRepository
case 18: // com.radiola.domain.repository.NowPlayingRepository
return (T) AppModule_ProvideNowPlayingRepositoryFactory.provideNowPlayingRepository(singletonCImpl.nowPlayingRepositoryImpl());
case 11: // com.radiola.domain.repository.SettingsRepository
case 19: // com.radiola.domain.repository.SettingsRepository
return (T) AppModule_ProvideSettingsRepositoryFactory.provideSettingsRepository(singletonCImpl.settingsRepositoryImpl());
case 12: // com.radiola.domain.repository.RecordingRepository
case 20: // com.radiola.domain.repository.RecordingRepository
return (T) AppModule_ProvideRecordingRepositoryFactory.provideRecordingRepository(singletonCImpl.recordingRepositoryImpl());
case 13: // com.radiola.data.repository.StationTester
return (T) new StationTester(singletonCImpl.provideOkHttpClientProvider.get());
case 21: // com.radiola.data.repository.StationTester
return (T) new StationTester(singletonCImpl.provideBaseOkHttpClientProvider.get());
default: throw new AssertionError(id);
}

View File

@@ -2,6 +2,7 @@ package com.radiola;
import com.radiola.di.AppModule;
import com.radiola.service.PlayerService_GeneratedInjector;
import com.radiola.ui.auth.AuthViewModel_HiltModules;
import com.radiola.ui.favorites.FavoritesViewModel_HiltModules;
import com.radiola.ui.history.HistoryViewModel_HiltModules;
import com.radiola.ui.player.PlayerViewModel_HiltModules;
@@ -160,6 +161,7 @@ public final class RadiolaApplication_HiltComponents {
@Subcomponent(
modules = {
AuthViewModel_HiltModules.KeyModule.class,
FavoritesViewModel_HiltModules.KeyModule.class,
HiltWrapper_ActivityRetainedComponentManager_LifecycleModule.class,
HiltWrapper_SavedStateHandleModule.class,
@@ -205,6 +207,7 @@ public final class RadiolaApplication_HiltComponents {
@Subcomponent(
modules = {
AuthViewModel_HiltModules.BindsModule.class,
FavoritesViewModel_HiltModules.BindsModule.class,
HiltWrapper_HiltViewModelFactory_ViewModelModule.class,
HistoryViewModel_HiltModules.BindsModule.class,

View File

@@ -21,6 +21,8 @@ import hilt_aggregated_deps._com_radiola_MainActivity_GeneratedInjector;
import hilt_aggregated_deps._com_radiola_RadiolaApplication_GeneratedInjector;
import hilt_aggregated_deps._com_radiola_di_AppModule;
import hilt_aggregated_deps._com_radiola_service_PlayerService_GeneratedInjector;
import hilt_aggregated_deps._com_radiola_ui_auth_AuthViewModel_HiltModules_BindsModule;
import hilt_aggregated_deps._com_radiola_ui_auth_AuthViewModel_HiltModules_KeyModule;
import hilt_aggregated_deps._com_radiola_ui_favorites_FavoritesViewModel_HiltModules_BindsModule;
import hilt_aggregated_deps._com_radiola_ui_favorites_FavoritesViewModel_HiltModules_KeyModule;
import hilt_aggregated_deps._com_radiola_ui_history_HistoryViewModel_HiltModules_BindsModule;
@@ -77,6 +79,8 @@ import hilt_aggregated_deps._dagger_hilt_android_internal_modules_HiltWrapper_Ac
_com_radiola_RadiolaApplication_GeneratedInjector.class,
_com_radiola_di_AppModule.class,
_com_radiola_service_PlayerService_GeneratedInjector.class,
_com_radiola_ui_auth_AuthViewModel_HiltModules_BindsModule.class,
_com_radiola_ui_auth_AuthViewModel_HiltModules_KeyModule.class,
_com_radiola_ui_favorites_FavoritesViewModel_HiltModules_BindsModule.class,
_com_radiola_ui_favorites_FavoritesViewModel_HiltModules_KeyModule.class,
_com_radiola_ui_history_HistoryViewModel_HiltModules_BindsModule.class,

View File

@@ -0,0 +1,44 @@
package com.radiola.data.remote;
import dagger.internal.DaggerGenerated;
import dagger.internal.Factory;
import dagger.internal.QualifierMetadata;
import dagger.internal.ScopeMetadata;
import javax.annotation.processing.Generated;
import javax.inject.Provider;
import kotlinx.serialization.json.Json;
@ScopeMetadata("javax.inject.Singleton")
@QualifierMetadata
@DaggerGenerated
@Generated(
value = "dagger.internal.codegen.ComponentProcessor",
comments = "https://dagger.dev"
)
@SuppressWarnings({
"unchecked",
"rawtypes",
"KotlinInternal",
"KotlinInternalInJava",
"cast"
})
public final class NowPlayingSocketClient_Factory implements Factory<NowPlayingSocketClient> {
private final Provider<Json> jsonProvider;
public NowPlayingSocketClient_Factory(Provider<Json> jsonProvider) {
this.jsonProvider = jsonProvider;
}
@Override
public NowPlayingSocketClient get() {
return newInstance(jsonProvider.get());
}
public static NowPlayingSocketClient_Factory create(Provider<Json> jsonProvider) {
return new NowPlayingSocketClient_Factory(jsonProvider);
}
public static NowPlayingSocketClient newInstance(Json json) {
return new NowPlayingSocketClient(json);
}
}

View File

@@ -1,5 +1,6 @@
package com.radiola.data.repository;
import com.radiola.data.remote.NowPlayingSocketClient;
import com.radiola.data.remote.RecordApi;
import dagger.internal.DaggerGenerated;
import dagger.internal.Factory;
@@ -25,20 +26,26 @@ import javax.inject.Provider;
public final class NowPlayingRepositoryImpl_Factory implements Factory<NowPlayingRepositoryImpl> {
private final Provider<RecordApi> apiProvider;
public NowPlayingRepositoryImpl_Factory(Provider<RecordApi> apiProvider) {
private final Provider<NowPlayingSocketClient> socketClientProvider;
public NowPlayingRepositoryImpl_Factory(Provider<RecordApi> apiProvider,
Provider<NowPlayingSocketClient> socketClientProvider) {
this.apiProvider = apiProvider;
this.socketClientProvider = socketClientProvider;
}
@Override
public NowPlayingRepositoryImpl get() {
return newInstance(apiProvider.get());
return newInstance(apiProvider.get(), socketClientProvider.get());
}
public static NowPlayingRepositoryImpl_Factory create(Provider<RecordApi> apiProvider) {
return new NowPlayingRepositoryImpl_Factory(apiProvider);
public static NowPlayingRepositoryImpl_Factory create(Provider<RecordApi> apiProvider,
Provider<NowPlayingSocketClient> socketClientProvider) {
return new NowPlayingRepositoryImpl_Factory(apiProvider, socketClientProvider);
}
public static NowPlayingRepositoryImpl newInstance(RecordApi api) {
return new NowPlayingRepositoryImpl(api);
public static NowPlayingRepositoryImpl newInstance(RecordApi api,
NowPlayingSocketClient socketClient) {
return new NowPlayingRepositoryImpl(api, socketClient);
}
}