1/*
2 * Copyright (C) 2011 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
5 * use this file except in compliance with the License. You may obtain a copy of
6 * the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13 * License for the specific language governing permissions and limitations under
14 * the License.
15 */
16package android.speech.tts;
17
18import android.os.ConditionVariable;
19import android.speech.tts.TextToSpeechService.UtteranceProgressDispatcher;
20import android.util.Log;
21
22class SilencePlaybackQueueItem extends PlaybackQueueItem {
23    private final ConditionVariable mCondVar = new ConditionVariable();
24    private final long mSilenceDurationMs;
25
26    SilencePlaybackQueueItem(UtteranceProgressDispatcher dispatcher,
27            Object callerIdentity, long silenceDurationMs) {
28        super(dispatcher, callerIdentity);
29        mSilenceDurationMs = silenceDurationMs;
30    }
31
32    @Override
33    public void run() {
34        getDispatcher().dispatchOnStart();
35        if (mSilenceDurationMs > 0) {
36            mCondVar.block(mSilenceDurationMs);
37        }
38        getDispatcher().dispatchOnDone();
39    }
40
41    @Override
42    void stop(boolean isError) {
43        mCondVar.open();
44    }
45}
46