125 lines
3.7 KiB
Java
125 lines
3.7 KiB
Java
/*
|
|
* Copyright (C) 2015 The Android Open Source Project
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
|
|
package com.android.tv;
|
|
|
|
import android.content.Context;
|
|
|
|
import com.android.tv.analytics.Analytics;
|
|
import com.android.tv.analytics.Tracker;
|
|
import com.android.tv.common.BaseApplication;
|
|
import com.android.tv.common.BaseSingletons;
|
|
import com.android.tv.common.flags.has.HasUiFlags;
|
|
import com.android.tv.data.ChannelDataManager;
|
|
import com.android.tv.data.PreviewDataManager;
|
|
import com.android.tv.data.ProgramDataManager;
|
|
import com.android.tv.data.epg.EpgReader;
|
|
import com.android.tv.dvr.DvrDataManager;
|
|
import com.android.tv.dvr.DvrManager;
|
|
import com.android.tv.dvr.DvrScheduleManager;
|
|
import com.android.tv.dvr.DvrWatchedPositionManager;
|
|
import com.android.tv.dvr.recorder.RecordingScheduler;
|
|
import com.android.tv.perf.PerformanceMonitor;
|
|
import com.android.tv.tunerinputcontroller.HasBuiltInTunerManager;
|
|
import com.android.tv.util.SetupUtils;
|
|
import com.android.tv.util.TvInputManagerHelper;
|
|
|
|
import dagger.Lazy;
|
|
|
|
import com.android.tv.common.flags.BackendKnobsFlags;
|
|
|
|
import java.util.concurrent.Executor;
|
|
|
|
/** Interface with getters for application scoped singletons. */
|
|
public interface TvSingletons extends BaseSingletons, HasBuiltInTunerManager, HasUiFlags {
|
|
|
|
/*
|
|
* Do not add any new methods here.
|
|
*
|
|
* To move a getter to Injection.
|
|
* 1. Make a type injectable @Singleton.
|
|
* 2. Mark the getter here as deprecated.
|
|
* 3. Lazily inject the object in TvApplication.
|
|
* 4. Move easy usages of getters to injection instead.
|
|
* 5. Delete the method when all usages are migrated.
|
|
*/
|
|
|
|
/**
|
|
* Returns the @{@link TvSingletons} using the application context.
|
|
*
|
|
* @deprecated use injection instead.
|
|
*/
|
|
@Deprecated
|
|
static TvSingletons getSingletons(Context context) {
|
|
return (TvSingletons) BaseApplication.getSingletons(context);
|
|
}
|
|
|
|
Analytics getAnalytics();
|
|
|
|
void handleInputCountChanged();
|
|
|
|
@Deprecated
|
|
ChannelDataManager getChannelDataManager();
|
|
|
|
/** @deprecated use injection instead. */
|
|
@Deprecated
|
|
ProgramDataManager getProgramDataManager();
|
|
|
|
PreviewDataManager getPreviewDataManager();
|
|
|
|
/** @deprecated use injection instead. */
|
|
@Deprecated
|
|
DvrDataManager getDvrDataManager();
|
|
|
|
DvrScheduleManager getDvrScheduleManager();
|
|
|
|
DvrManager getDvrManager();
|
|
|
|
RecordingScheduler getRecordingScheduler();
|
|
|
|
/** @deprecated use injection instead. */
|
|
@Deprecated
|
|
DvrWatchedPositionManager getDvrWatchedPositionManager();
|
|
|
|
InputSessionManager getInputSessionManager();
|
|
|
|
Tracker getTracker();
|
|
|
|
MainActivityWrapper getMainActivityWrapper();
|
|
|
|
boolean isRunningInMainProcess();
|
|
|
|
/** @deprecated use injection instead. */
|
|
@Deprecated
|
|
PerformanceMonitor getPerformanceMonitor();
|
|
|
|
/** @deprecated use injection instead. */
|
|
@Deprecated
|
|
TvInputManagerHelper getTvInputManagerHelper();
|
|
|
|
Lazy<EpgReader> providesEpgReader();
|
|
|
|
/** @deprecated use injection instead. */
|
|
@Deprecated
|
|
SetupUtils getSetupUtils();
|
|
|
|
/** @deprecated use injection instead. */
|
|
@Deprecated
|
|
Executor getDbExecutor();
|
|
|
|
BackendKnobsFlags getBackendKnobs();
|
|
}
|