apk
This commit is contained in:
parent
7c0c85addb
commit
4686243e01
6 changed files with 34 additions and 44 deletions
Binary file not shown.
|
|
@ -1,3 +1,3 @@
|
|||
set -e -v
|
||||
cp ~/mnemo_cards/build/app/outputs/flutter-apk/app-arm64-v8a-release.apk ~/mnemo_cards_telegram_bot/apks/app.apk
|
||||
cp ~/mnemo_cards/build/app/outputs/flutter-apk/app-arm64-v8a-release.apk ~/mnemo_cards_telegram_bot/apks/admin_app.apk
|
||||
|
||||
|
|
|
|||
|
|
@ -1,2 +1,2 @@
|
|||
|
||||
const ADMIN_BUILD = true;
|
||||
const ADMIN_BUILD = false;
|
||||
|
|
@ -3,13 +3,18 @@ import 'package:flutter_tts/flutter_tts.dart';
|
|||
import '../main.dart';
|
||||
|
||||
class AudioPlayer {
|
||||
static Future<void> playAudio(String? audio) async {
|
||||
static Future<void> playAudio(String? audio, {String? lang}) async {
|
||||
if (globalSharedPreferences.getBool('sound_on') != false && audio != null) {
|
||||
FlutterTts flutterTts = FlutterTts();
|
||||
var playText = audio;
|
||||
if (audio.contains('_')) {
|
||||
final lang = audio.split('_').first;
|
||||
playText = audio.replaceFirst('${lang}_', '');
|
||||
final language = audio.split('_').first;
|
||||
playText = audio.replaceFirst('${language}_', '');
|
||||
if (lang == null) {
|
||||
await flutterTts.setLanguage(language);
|
||||
}
|
||||
}
|
||||
if (lang != null) {
|
||||
await flutterTts.setLanguage(lang);
|
||||
}
|
||||
await flutterTts.setSpeechRate(0.5);
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@ import 'package:flutter_tts/flutter_tts.dart';
|
|||
import 'package:mnemo_cards/di/locator.dart';
|
||||
import 'package:mnemo_cards/features/yandex_ads/yandex_ads.dart';
|
||||
import 'package:flutter/painting.dart';
|
||||
import 'package:mnemo_cards/managers/audio_player.dart';
|
||||
import 'package:mnemo_cards/utils/color_helper.dart';
|
||||
import 'package:mnemo_cards_common/mnemo_cards_common.dart';
|
||||
import 'package:shared_preferences/shared_preferences.dart';
|
||||
|
|
@ -229,27 +230,23 @@ class FrontCard extends StatelessWidget {
|
|||
maxLines: 1,
|
||||
),
|
||||
onTap: () async {
|
||||
final sp = await SharedPreferences.getInstance();
|
||||
if (sp.getBool('sound_on') != false &&
|
||||
card.original != null) {
|
||||
FlutterTts flutterTts = FlutterTts();
|
||||
await flutterTts.setLanguage('es-ES');
|
||||
await flutterTts.setSpeechRate(0.4);
|
||||
flutterTts.speak(card.original!);
|
||||
if (card.original != null) {
|
||||
AudioPlayer.playAudio(
|
||||
card.original!,
|
||||
lang: 'es-ES',
|
||||
);
|
||||
}
|
||||
},
|
||||
),
|
||||
GestureDetector(
|
||||
onTap: () async {
|
||||
final sp = await SharedPreferences.getInstance();
|
||||
if (sp.getBool('sound_on') != false &&
|
||||
card.translation != null) {
|
||||
FlutterTts flutterTts = FlutterTts();
|
||||
await flutterTts.setLanguage('ru');
|
||||
await flutterTts.setSpeechRate(0.5);
|
||||
flutterTts.speak(
|
||||
card.translation!,
|
||||
);
|
||||
if (card.translation != null) {
|
||||
if (card.original != null) {
|
||||
AudioPlayer.playAudio(
|
||||
card.translation!,
|
||||
lang: 'ru',
|
||||
);
|
||||
}
|
||||
}
|
||||
},
|
||||
child: MnemoText(
|
||||
|
|
@ -271,14 +268,10 @@ class FrontCard extends StatelessWidget {
|
|||
padding: EdgeInsets.only(top: 4.0.h * alpha),
|
||||
child: GestureDetector(
|
||||
onTap: () async {
|
||||
final sp =
|
||||
await SharedPreferences.getInstance();
|
||||
if (sp.getBool('sound_on') != false) {
|
||||
FlutterTts flutterTts = FlutterTts();
|
||||
await flutterTts.setLanguage('ru');
|
||||
await flutterTts.setSpeechRate(0.5);
|
||||
flutterTts.speak(
|
||||
"${card.transcription} - ${card.transcriptionMnemo}",
|
||||
if (card.transcription != null && card.transcriptionMnemo != null) {
|
||||
AudioPlayer.playAudio(
|
||||
'${card.transcription} - ${card.transcriptionMnemo}',
|
||||
lang: 'ru',
|
||||
);
|
||||
}
|
||||
},
|
||||
|
|
@ -316,14 +309,10 @@ class FrontCard extends StatelessWidget {
|
|||
if (card.mnemo?.trim().isNotEmpty != true) {
|
||||
return;
|
||||
}
|
||||
final sp = await SharedPreferences.getInstance();
|
||||
if (sp.getBool('sound_on') != false) {
|
||||
FlutterTts flutterTts = FlutterTts();
|
||||
await flutterTts.setLanguage('ru');
|
||||
await flutterTts.setSpeechRate(0.5);
|
||||
flutterTts.speak(
|
||||
card.mnemo!.replaceAll(RegExp(r'[\]\[]'), ''));
|
||||
}
|
||||
AudioPlayer.playAudio(
|
||||
card.mnemo!.replaceAll(RegExp(r'[\]\[]'), ''),
|
||||
lang: 'ru',
|
||||
);
|
||||
},
|
||||
child: MnemoText(
|
||||
card.mnemo?.isNotEmpty == true ? card.mnemo : ' ',
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
import 'dart:async';
|
||||
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:mnemo_cards/main.dart';
|
||||
import 'package:shared_preferences/shared_preferences.dart';
|
||||
|
||||
class SharedPrefButton extends StatefulWidget {
|
||||
|
|
@ -38,13 +39,8 @@ class _SharedPrefButtonState extends State<SharedPrefButton> {
|
|||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
SharedPreferences.getInstance().then((v) {
|
||||
_sp = v;
|
||||
value = _sp!.getBool(widget.spKey) ?? false;
|
||||
if (mounted) {
|
||||
setState(() {});
|
||||
}
|
||||
});
|
||||
_sp = globalSharedPreferences;
|
||||
value = _sp!.getBool(widget.spKey) ?? false;
|
||||
_streamSubscription = Stream.periodic(const Duration(milliseconds: 500),
|
||||
(_) => _sp?.getBool(widget.spKey) ?? false).distinct().listen((v) {
|
||||
value = v;
|
||||
|
|
|
|||
Loading…
Reference in a new issue