Skip to content

Commit 3c3e7f1

Browse files
committed
tts: toggle toolbar visibility on outside-click, instead of stopping TTS
1 parent 9a12ef7 commit 3c3e7f1

1 file changed

Lines changed: 12 additions & 0 deletions

File tree

android/src/org/coolreader/crengine/TTSToolbarDlg.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import android.view.ViewGroup;
1919
import android.view.WindowManager;
2020
import android.widget.ImageButton;
21+
import android.widget.LinearLayout;
2122
import android.widget.PopupWindow;
2223
import android.widget.SeekBar;
2324
import android.widget.SeekBar.OnSeekBarChangeListener;
@@ -44,6 +45,8 @@ public class TTSToolbarDlg implements Settings {
4445
private final PopupWindow mWindow;
4546
private final CoolReader mCoolReader;
4647
private final ReaderView mReaderView;
48+
private final LinearLayout glassPanel;
49+
private final LinearLayout toolbarBody;
4750
private final TTSControlServiceAccessor mTTSControl;
4851
private final ImageButton mPlayPauseButton;
4952
private final TextView mVolumeTextView;
@@ -56,6 +59,7 @@ public class TTSToolbarDlg implements Settings {
5659
private boolean mClosed;
5760
private Selection mCurrentSelection;
5861
private boolean isSpeaking;
62+
private boolean isToolbarHidden;
5963
private int mMotionTimeout;
6064
private boolean mAutoSetDocLang;
6165
private String mBookAuthors;
@@ -417,6 +421,14 @@ public TTSToolbarDlg(CoolReader coolReader, ReaderView readerView, TTSControlSer
417421
LayoutInflater inflater = LayoutInflater.from(context);
418422
View panel = inflater.inflate(R.layout.tts_toolbar, null);
419423

424+
glassPanel = panel.findViewById(R.id.tts_glass_panel);
425+
toolbarBody = panel.findViewById(R.id.tts_toolbar_body);
426+
427+
glassPanel.setOnClickListener(v -> {
428+
isToolbarHidden = !isToolbarHidden;
429+
toolbarBody.setVisibility(isToolbarHidden ? View.INVISIBLE: View.VISIBLE);
430+
});
431+
420432
mPlayPauseButton = panel.findViewById(R.id.tts_play_pause);
421433
mPlayPauseButton.setImageResource(Utils.resolveResourceIdByAttr(mCoolReader, R.attr.ic_media_play_drawable, R.drawable.ic_media_play));
422434
ImageButton backButton = panel.findViewById(R.id.tts_back);

0 commit comments

Comments
 (0)