Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 19 additions & 6 deletions app/lib/backend/preferences.dart
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import 'package:omi/backend/schema/conversation.dart';
import 'package:omi/backend/schema/memory.dart';
import 'package:omi/backend/schema/message.dart';
import 'package:omi/backend/schema/person.dart';
import 'package:omi/models/omi_button_action.dart';
import 'package:omi/models/custom_stt_config.dart';
import 'package:omi/models/stt_provider.dart';
import 'package:omi/utils/logger.dart';
Expand Down Expand Up @@ -45,8 +46,10 @@ class SharedPreferencesUtil {
}

BtDevice get btDevice {
final String device = getString('btDevice') ?? '';
if (device.isEmpty) return BtDevice(id: '', name: '', type: DeviceType.omi, rssi: 0);
final String device = getString('btDevice');
if (device.isEmpty) {
return BtDevice(id: '', name: '', type: DeviceType.omi, rssi: 0);
}
return BtDevice.fromJson(jsonDecode(device));
}

Expand All @@ -58,15 +61,25 @@ class SharedPreferencesUtil {

set deviceIsV2(bool value) => saveBool('deviceIsV2', value);

// Double tap behavior: 0 = end conversation (default), 1 = pause/mute, 2 = star ongoing conversation
int get doubleTapAction => getInt('doubleTapAction');
// Button behavior uses OmiButtonAction.value.
// Defaults: single = ask question, double = pause/mute, triple = end conversation.
int get singleTapAction => getInt('singleTapAction', defaultValue: OmiButtonAction.askQuestion.value);

set singleTapAction(int value) => saveInt('singleTapAction', value);

int get doubleTapAction => getInt('doubleTapAction', defaultValue: OmiButtonAction.pauseResume.value);

set doubleTapAction(int value) => saveInt('doubleTapAction', value);

int get tripleTapAction => getInt('tripleTapAction', defaultValue: OmiButtonAction.endConversation.value);

set tripleTapAction(int value) => saveInt('tripleTapAction', value);

// Keep backward compatibility
bool get doubleTapPausesMuting => doubleTapAction == 1;
bool get doubleTapPausesMuting => doubleTapAction == OmiButtonAction.pauseResume.value;

set doubleTapPausesMuting(bool value) => doubleTapAction = value ? 1 : 0;
set doubleTapPausesMuting(bool value) =>
doubleTapAction = value ? OmiButtonAction.pauseResume.value : OmiButtonAction.endConversation.value;

// Custom STT configuration
CustomSttConfig get customSttConfig {
Expand Down
8 changes: 8 additions & 0 deletions app/lib/l10n/app_en.arb
Original file line number Diff line number Diff line change
Expand Up @@ -667,6 +667,14 @@
"@doubleTap": {
"description": "Double tap action label"
},
"singleTap": "Single Tap",
"@singleTap": {
"description": "Single tap action label"
},
"tripleTap": "Triple Tap",
"@tripleTap": {
"description": "Triple tap action label"
},
"ledBrightness": "LED Brightness",
"@ledBrightness": {
"description": "LED brightness setting"
Expand Down
12 changes: 12 additions & 0 deletions app/lib/l10n/app_localizations.dart
Original file line number Diff line number Diff line change
Expand Up @@ -1155,6 +1155,18 @@ abstract class AppLocalizations {
/// **'Double Tap'**
String get doubleTap;

/// Single tap action label
///
/// In en, this message translates to:
/// **'Single Tap'**
String get singleTap;

/// Triple tap action label
///
/// In en, this message translates to:
/// **'Triple Tap'**
String get tripleTap;

/// LED brightness setting
///
/// In en, this message translates to:
Expand Down
6 changes: 6 additions & 0 deletions app/lib/l10n/app_localizations_ar.dart
Original file line number Diff line number Diff line change
Expand Up @@ -504,6 +504,12 @@ class AppLocalizationsAr extends AppLocalizations {
@override
String get doubleTap => 'نقرة مزدوجة';

@override
String get singleTap => 'Single Tap';

@override
String get tripleTap => 'Triple Tap';

@override
String get ledBrightness => 'سطوع LED';

Expand Down
6 changes: 6 additions & 0 deletions app/lib/l10n/app_localizations_be.dart
Original file line number Diff line number Diff line change
Expand Up @@ -508,6 +508,12 @@ class AppLocalizationsBe extends AppLocalizations {
@override
String get doubleTap => 'Двайны дотык';

@override
String get singleTap => 'Single Tap';

@override
String get tripleTap => 'Triple Tap';

@override
String get ledBrightness => 'Яркасць LED';

Expand Down
6 changes: 6 additions & 0 deletions app/lib/l10n/app_localizations_bg.dart
Original file line number Diff line number Diff line change
Expand Up @@ -510,6 +510,12 @@ class AppLocalizationsBg extends AppLocalizations {
@override
String get doubleTap => 'Двойно докосване';

@override
String get singleTap => 'Single Tap';

@override
String get tripleTap => 'Triple Tap';

@override
String get ledBrightness => 'Яркост на LED';

Expand Down
6 changes: 6 additions & 0 deletions app/lib/l10n/app_localizations_bn.dart
Original file line number Diff line number Diff line change
Expand Up @@ -508,6 +508,12 @@ class AppLocalizationsBn extends AppLocalizations {
@override
String get doubleTap => 'দ্বিগুণ ট্যাপ';

@override
String get singleTap => 'Single Tap';

@override
String get tripleTap => 'Triple Tap';

@override
String get ledBrightness => 'LED উজ্জ্বলতা';

Expand Down
6 changes: 6 additions & 0 deletions app/lib/l10n/app_localizations_bs.dart
Original file line number Diff line number Diff line change
Expand Up @@ -509,6 +509,12 @@ class AppLocalizationsBs extends AppLocalizations {
@override
String get doubleTap => 'Dupli dodir';

@override
String get singleTap => 'Single Tap';

@override
String get tripleTap => 'Triple Tap';

@override
String get ledBrightness => 'Svetlina LED-a';

Expand Down
6 changes: 6 additions & 0 deletions app/lib/l10n/app_localizations_ca.dart
Original file line number Diff line number Diff line change
Expand Up @@ -510,6 +510,12 @@ class AppLocalizationsCa extends AppLocalizations {
@override
String get doubleTap => 'Doble toc';

@override
String get singleTap => 'Single Tap';

@override
String get tripleTap => 'Triple Tap';

@override
String get ledBrightness => 'Brillantor LED';

Expand Down
6 changes: 6 additions & 0 deletions app/lib/l10n/app_localizations_cs.dart
Original file line number Diff line number Diff line change
Expand Up @@ -509,6 +509,12 @@ class AppLocalizationsCs extends AppLocalizations {
@override
String get doubleTap => 'Dvojité klepnutí';

@override
String get singleTap => 'Single Tap';

@override
String get tripleTap => 'Triple Tap';

@override
String get ledBrightness => 'Jas LED';

Expand Down
6 changes: 6 additions & 0 deletions app/lib/l10n/app_localizations_da.dart
Original file line number Diff line number Diff line change
Expand Up @@ -509,6 +509,12 @@ class AppLocalizationsDa extends AppLocalizations {
@override
String get doubleTap => 'Dobbelttryk';

@override
String get singleTap => 'Single Tap';

@override
String get tripleTap => 'Triple Tap';

@override
String get ledBrightness => 'LED-lysstyrke';

Expand Down
6 changes: 6 additions & 0 deletions app/lib/l10n/app_localizations_de.dart
Original file line number Diff line number Diff line change
Expand Up @@ -513,6 +513,12 @@ class AppLocalizationsDe extends AppLocalizations {
@override
String get doubleTap => 'Doppeltippen';

@override
String get singleTap => 'Single Tap';

@override
String get tripleTap => 'Triple Tap';

@override
String get ledBrightness => 'LED-Helligkeit';

Expand Down
6 changes: 6 additions & 0 deletions app/lib/l10n/app_localizations_el.dart
Original file line number Diff line number Diff line change
Expand Up @@ -512,6 +512,12 @@ class AppLocalizationsEl extends AppLocalizations {
@override
String get doubleTap => 'Διπλό Πάτημα';

@override
String get singleTap => 'Single Tap';

@override
String get tripleTap => 'Triple Tap';

@override
String get ledBrightness => 'Φωτεινότητα LED';

Expand Down
6 changes: 6 additions & 0 deletions app/lib/l10n/app_localizations_en.dart
Original file line number Diff line number Diff line change
Expand Up @@ -507,6 +507,12 @@ class AppLocalizationsEn extends AppLocalizations {
@override
String get doubleTap => 'Double Tap';

@override
String get singleTap => 'Single Tap';

@override
String get tripleTap => 'Triple Tap';

@override
String get ledBrightness => 'LED Brightness';

Expand Down
6 changes: 6 additions & 0 deletions app/lib/l10n/app_localizations_es.dart
Original file line number Diff line number Diff line change
Expand Up @@ -508,6 +508,12 @@ class AppLocalizationsEs extends AppLocalizations {
@override
String get doubleTap => 'Doble toque';

@override
String get singleTap => 'Single Tap';

@override
String get tripleTap => 'Triple Tap';

@override
String get ledBrightness => 'Brillo LED';

Expand Down
6 changes: 6 additions & 0 deletions app/lib/l10n/app_localizations_et.dart
Original file line number Diff line number Diff line change
Expand Up @@ -510,6 +510,12 @@ class AppLocalizationsEt extends AppLocalizations {
@override
String get doubleTap => 'Topeltpuudutus';

@override
String get singleTap => 'Single Tap';

@override
String get tripleTap => 'Triple Tap';

@override
String get ledBrightness => 'LED heledus';

Expand Down
6 changes: 6 additions & 0 deletions app/lib/l10n/app_localizations_fa.dart
Original file line number Diff line number Diff line change
Expand Up @@ -509,6 +509,12 @@ class AppLocalizationsFa extends AppLocalizations {
@override
String get doubleTap => 'دو ضربه';

@override
String get singleTap => 'Single Tap';

@override
String get tripleTap => 'Triple Tap';

@override
String get ledBrightness => 'روشنایی LED';

Expand Down
6 changes: 6 additions & 0 deletions app/lib/l10n/app_localizations_fi.dart
Original file line number Diff line number Diff line change
Expand Up @@ -507,6 +507,12 @@ class AppLocalizationsFi extends AppLocalizations {
@override
String get doubleTap => 'Kaksoisnapautus';

@override
String get singleTap => 'Single Tap';

@override
String get tripleTap => 'Triple Tap';

@override
String get ledBrightness => 'LED-kirkkaus';

Expand Down
6 changes: 6 additions & 0 deletions app/lib/l10n/app_localizations_fr.dart
Original file line number Diff line number Diff line change
Expand Up @@ -511,6 +511,12 @@ class AppLocalizationsFr extends AppLocalizations {
@override
String get doubleTap => 'Double appui';

@override
String get singleTap => 'Single Tap';

@override
String get tripleTap => 'Triple Tap';

@override
String get ledBrightness => 'Luminosité LED';

Expand Down
6 changes: 6 additions & 0 deletions app/lib/l10n/app_localizations_he.dart
Original file line number Diff line number Diff line change
Expand Up @@ -505,6 +505,12 @@ class AppLocalizationsHe extends AppLocalizations {
@override
String get doubleTap => 'לחץ כפול';

@override
String get singleTap => 'Single Tap';

@override
String get tripleTap => 'Triple Tap';

@override
String get ledBrightness => 'בהיקות LED';

Expand Down
6 changes: 6 additions & 0 deletions app/lib/l10n/app_localizations_hi.dart
Original file line number Diff line number Diff line change
Expand Up @@ -506,6 +506,12 @@ class AppLocalizationsHi extends AppLocalizations {
@override
String get doubleTap => 'डबल टैप';

@override
String get singleTap => 'Single Tap';

@override
String get tripleTap => 'Triple Tap';

@override
String get ledBrightness => 'LED चमक';

Expand Down
6 changes: 6 additions & 0 deletions app/lib/l10n/app_localizations_hr.dart
Original file line number Diff line number Diff line change
Expand Up @@ -509,6 +509,12 @@ class AppLocalizationsHr extends AppLocalizations {
@override
String get doubleTap => 'Dvostruki dodir';

@override
String get singleTap => 'Single Tap';

@override
String get tripleTap => 'Triple Tap';

@override
String get ledBrightness => 'Svjetlina LED-a';

Expand Down
6 changes: 6 additions & 0 deletions app/lib/l10n/app_localizations_hu.dart
Original file line number Diff line number Diff line change
Expand Up @@ -511,6 +511,12 @@ class AppLocalizationsHu extends AppLocalizations {
@override
String get doubleTap => 'Dupla érintés';

@override
String get singleTap => 'Single Tap';

@override
String get tripleTap => 'Triple Tap';

@override
String get ledBrightness => 'LED fényerő';

Expand Down
6 changes: 6 additions & 0 deletions app/lib/l10n/app_localizations_id.dart
Original file line number Diff line number Diff line change
Expand Up @@ -508,6 +508,12 @@ class AppLocalizationsId extends AppLocalizations {
@override
String get doubleTap => 'Ketuk Ganda';

@override
String get singleTap => 'Single Tap';

@override
String get tripleTap => 'Triple Tap';

@override
String get ledBrightness => 'Kecerahan LED';

Expand Down
6 changes: 6 additions & 0 deletions app/lib/l10n/app_localizations_it.dart
Original file line number Diff line number Diff line change
Expand Up @@ -510,6 +510,12 @@ class AppLocalizationsIt extends AppLocalizations {
@override
String get doubleTap => 'Doppio Tocco';

@override
String get singleTap => 'Single Tap';

@override
String get tripleTap => 'Triple Tap';

@override
String get ledBrightness => 'Luminosità LED';

Expand Down
6 changes: 6 additions & 0 deletions app/lib/l10n/app_localizations_ja.dart
Original file line number Diff line number Diff line change
Expand Up @@ -499,6 +499,12 @@ class AppLocalizationsJa extends AppLocalizations {
@override
String get doubleTap => 'ダブルタップ';

@override
String get singleTap => 'Single Tap';

@override
String get tripleTap => 'Triple Tap';

@override
String get ledBrightness => 'LED明るさ';

Expand Down
6 changes: 6 additions & 0 deletions app/lib/l10n/app_localizations_kn.dart
Original file line number Diff line number Diff line change
Expand Up @@ -510,6 +510,12 @@ class AppLocalizationsKn extends AppLocalizations {
@override
String get doubleTap => 'ಗುಣ ಟ್ಯಾಪ್';

@override
String get singleTap => 'Single Tap';

@override
String get tripleTap => 'Triple Tap';

@override
String get ledBrightness => 'LED ಝಗಬೆಳಗುವುದು';

Expand Down
Loading