private Api() { HandlerThread bgThread = new HandlerThread("api_thread"); bgThread.start(); bgHandler = new Handler(bgThread.getLooper()); mainHandler = new Handler(Looper.getMainLooper()); // Do nothing. }
public AndroidWatchExecutor(long initialDelayMillis) { mainHandler = new Handler(Looper.getMainLooper()); HandlerThread handlerThread = new HandlerThread(LEAK_CANARY_THREAD_NAME); handlerThread.start(); backgroundHandler = new Handler(handlerThread.getLooper()); this.initialDelayMillis = initialDelayMillis; maxBackoffFactor = Long.MAX_VALUE / initialDelayMillis; }
@Override public void onMediaPeriodCreated(int windowIndex, MediaPeriodId mediaPeriodId) { Assertions.checkState(Looper.myLooper() == playbackThread.getLooper()); lastCreatedMediaPeriod.set(mediaPeriodId); }
@Override public void onLoadCanceled( int windowIndex, @Nullable MediaPeriodId mediaPeriodId, LoadEventInfo loadEventInfo, MediaLoadData mediaLoadData) { Assertions.checkState(Looper.myLooper() == playbackThread.getLooper()); }
@Override public void onLoadError( int windowIndex, @Nullable MediaPeriodId mediaPeriodId, LoadEventInfo loadEventInfo, MediaLoadData mediaLoadData, IOException error, boolean wasCanceled) { Assertions.checkState(Looper.myLooper() == playbackThread.getLooper()); }
@Override public void onUpstreamDiscarded( int windowIndex, @Nullable MediaPeriodId mediaPeriodId, MediaLoadData mediaLoadData) { Assertions.checkState(Looper.myLooper() == playbackThread.getLooper()); }
@Override public void onLoadStarted( int windowIndex, @Nullable MediaPeriodId mediaPeriodId, LoadEventInfo loadEventInfo, MediaLoadData mediaLoadData) { Assertions.checkState(Looper.myLooper() == playbackThread.getLooper()); }
private VSyncSampler() { sampledVsyncTimeNs = C.TIME_UNSET; choreographerOwnerThread = new HandlerThread("ChoreographerOwner:Handler"); choreographerOwnerThread.start(); handler = Util.createHandler(choreographerOwnerThread.getLooper(), /* callback= */ this); handler.sendEmptyMessage(CREATE_CHOREOGRAPHER); }
@Override public void onMediaPeriodReleased(int windowIndex, MediaPeriodId mediaPeriodId) { Assertions.checkState(Looper.myLooper() == playbackThread.getLooper()); lastReleasedMediaPeriod.set(mediaPeriodId); }
@Override public void onSourceInfoRefreshed(MediaSource source, Timeline timeline, Object manifest) { Assertions.checkState(Looper.myLooper() == playbackThread.getLooper()); timelines.addLast(timeline); }
public DummyMainThread() { thread = new HandlerThread("DummyMainThread"); thread.start(); handler = new Handler(thread.getLooper()); }
@Override public void onMediaPeriodReleased(int windowIndex, MediaPeriodId mediaPeriodId) { Assertions.checkState(Looper.myLooper() == playbackThread.getLooper()); lastReleasedMediaPeriod.set(mediaPeriodId); }
@Override public void onLoadCanceled( int windowIndex, @Nullable MediaPeriodId mediaPeriodId, LoadEventInfo loadEventInfo, MediaLoadData mediaLoadData) { Assertions.checkState(Looper.myLooper() == playbackThread.getLooper()); }
@Override public void onLoadError( int windowIndex, @Nullable MediaPeriodId mediaPeriodId, LoadEventInfo loadEventInfo, MediaLoadData mediaLoadData, IOException error, boolean wasCanceled) { Assertions.checkState(Looper.myLooper() == playbackThread.getLooper()); }
@Override public void onDownstreamFormatChanged( int windowIndex, @Nullable MediaPeriodId mediaPeriodId, MediaLoadData mediaLoadData) { Assertions.checkState(Looper.myLooper() == playbackThread.getLooper()); } }
@Override public void onUpstreamDiscarded( int windowIndex, @Nullable MediaPeriodId mediaPeriodId, MediaLoadData mediaLoadData) { Assertions.checkState(Looper.myLooper() == playbackThread.getLooper()); }
@Override public void onMediaPeriodCreated(int windowIndex, MediaPeriodId mediaPeriodId) { Assertions.checkState(Looper.myLooper() == playbackThread.getLooper()); lastCreatedMediaPeriod.set(mediaPeriodId); }
@Override public void onLoadStarted( int windowIndex, @Nullable MediaPeriodId mediaPeriodId, LoadEventInfo loadEventInfo, MediaLoadData mediaLoadData) { Assertions.checkState(Looper.myLooper() == playbackThread.getLooper()); }
private DrmSession<T> openBlockingKeyRequest(@Mode int licenseMode, byte[] offlineLicenseKeySetId, DrmInitData drmInitData) { drmSessionManager.setMode(licenseMode, offlineLicenseKeySetId); conditionVariable.close(); DrmSession<T> drmSession = drmSessionManager.acquireSession(handlerThread.getLooper(), drmInitData); // Block current thread until key loading is finished conditionVariable.block(); return drmSession; }