Rebrand application as Qlyra
Build Android (FCM) / build-android-fcm (push) Canceled after 0s
Build Android / build-android (push) Canceled after 0s
Build iOS / build-ios (push) Canceled after 0s
Build Linux / build-linux (push) Canceled after 0s
Build macOS / build-macos (push) Canceled after 0s
Build Windows / build-windows (push) Canceled after 0s
Release (main) / android (oneme) (push) Canceled after 0s
Release (main) / android (qlyra) (push) Canceled after 0s
Release (main) / windows (push) Canceled after 0s
Release (main) / linux (push) Canceled after 0s
Release (main) / macos (push) Canceled after 0s
Release (main) / ios (push) Canceled after 0s
Release (main) / release (push) Canceled after 0s

This commit is contained in:
sevenhill
2026-08-30 13:16:17 +03:00
parent 0245f792de
commit f74057ce9b
592 changed files with 38233 additions and 1899 deletions
+25 -25
View File
@@ -4,11 +4,11 @@ import 'dart:ui' as ui;
import 'package:dynamic_color/dynamic_color.dart';
import 'package:flutter/cupertino.dart' show CupertinoPageTransitionsBuilder;
import 'package:kolibri/kolibri.dart' show initKolibri;
import 'package:kusoft/kusoft.dart' show initKusoft;
import 'package:flutter/material.dart';
import 'package:flutter/rendering.dart';
import 'package:video_player_media_kit/video_player_media_kit.dart';
import 'package:komet/l10n/app_localizations.dart';
import 'package:qlyra/l10n/app_localizations.dart';
import 'package:m3e_collection/m3e_collection.dart';
import 'package:package_info_plus/package_info_plus.dart';
import 'package:shared_preferences/shared_preferences.dart';
@@ -25,7 +25,7 @@ import 'core/config/app_amoled.dart';
import 'core/config/app_show_extra_info.dart';
import 'core/config/app_spectrum_background.dart';
import 'core/config/app_bubble_behavior.dart';
import 'core/config/komet_settings.dart';
import 'core/config/qlyra_settings.dart';
import 'core/config/call_no_mute.dart';
import 'core/config/debug_test.dart';
import 'core/config/app_bubble_shape.dart';
@@ -181,7 +181,7 @@ void _installLogCapture() {
void main(List<String> args) async {
WidgetsFlutterBinding.ensureInitialized();
await initKolibri();
await initKusoft();
DebugTest.parse(args);
CallNoMute.parse(args);
_installLogCapture();
@@ -258,8 +258,8 @@ void main(List<String> args) async {
await DraftStore.instance.load();
await ArchivedChatsStore.instance.load();
await ChatEncryptionStore.instance.load();
await KometSettings.load();
if (KometSettings.ghostMode.value) SelfPresence.markOffline();
await QlyraSettings.load();
if (QlyraSettings.ghostMode.value) SelfPresence.markOffline();
await ContactCache.load();
final initialFpsOverlay = prefs.getBool('dev_fps_overlay') ?? false;
final initialVpnBypass = prefs.getBool(VpnBypassService.prefKey) ?? false;
@@ -310,7 +310,7 @@ void main(List<String> args) async {
await trafficCaptureFuture;
await debugLogFuture;
runApp(
KometApp(
QlyraApp(
initialLocale: initialLocale,
initialFpsOverlay: initialFpsOverlay,
initialVpnBypass: initialVpnBypass,
@@ -322,8 +322,8 @@ void main(List<String> args) async {
);
}
class KometApp extends StatefulWidget {
const KometApp({
class QlyraApp extends StatefulWidget {
const QlyraApp({
super.key,
required this.initialLocale,
this.initialFpsOverlay = false,
@@ -343,15 +343,15 @@ class KometApp extends StatefulWidget {
final Color? initialAccentSeed;
static final navigatorKey = GlobalKey<NavigatorState>();
static KometAppState? stateOf(BuildContext context) {
return context.findAncestorStateOfType<KometAppState>();
static QlyraAppState? stateOf(BuildContext context) {
return context.findAncestorStateOfType<QlyraAppState>();
}
@override
State<KometApp> createState() => KometAppState();
State<QlyraApp> createState() => QlyraAppState();
}
class KometAppState extends State<KometApp>
class QlyraAppState extends State<QlyraApp>
with WidgetsBindingObserver, TickerProviderStateMixin {
static const _fallbackSeed = Color(0xFFC1C4FF);
@@ -470,7 +470,7 @@ class KometAppState extends State<KometApp>
await accountModule.removeAccount(accountId);
}
final navState = KometApp.navigatorKey.currentState;
final navState = QlyraApp.navigatorKey.currentState;
if (navState != null) {
final overlay = navState.overlay;
if (overlay != null) {
@@ -500,7 +500,7 @@ class KometAppState extends State<KometApp>
_lastVpnNotice = msg;
_lastVpnNoticeAt = now;
final overlay = KometApp.navigatorKey.currentState?.overlay;
final overlay = QlyraApp.navigatorKey.currentState?.overlay;
if (overlay != null) {
showCustomNotificationOnOverlay(overlay, msg);
}
@@ -515,15 +515,15 @@ class KometAppState extends State<KometApp>
_lastServerError = msg;
_lastServerErrorAt = now;
final overlay = KometApp.navigatorKey.currentState?.overlay;
final overlay = QlyraApp.navigatorKey.currentState?.overlay;
if (overlay != null) {
showCustomNotificationOnOverlay(overlay, msg);
}
});
_accountNoticeSub = accountModule.noticeStream.listen((notice) {
final overlay = KometApp.navigatorKey.currentState?.overlay;
final ctx = KometApp.navigatorKey.currentContext;
final overlay = QlyraApp.navigatorKey.currentState?.overlay;
final ctx = QlyraApp.navigatorKey.currentContext;
if (overlay == null || ctx == null || !ctx.mounted) return;
final l10n = AppLocalizations.of(ctx);
if (l10n == null) return;
@@ -556,7 +556,7 @@ class KometAppState extends State<KometApp>
void _presentIncomingCall() {
final call = _pendingIncoming;
if (call == null || _incomingRouteActive || !_shellReady) return;
final navState = KometApp.navigatorKey.currentState;
final navState = QlyraApp.navigatorKey.currentState;
if (navState == null) {
WidgetsBinding.instance.addPostFrameCallback(
(_) => _presentIncomingCall(),
@@ -707,7 +707,7 @@ class KometAppState extends State<KometApp>
}
void _runThemeReveal(Offset center, Future<void> Function() apply) {
final overlay = KometApp.navigatorKey.currentState?.overlay;
final overlay = QlyraApp.navigatorKey.currentState?.overlay;
final ctx = _captureBoundaryKey.currentContext;
if (overlay == null || ctx == null) {
apply();
@@ -1007,7 +1007,7 @@ class KometAppState extends State<KometApp>
_rebuildThemesIfNeeded(lightScheme, darkScheme);
return MaterialApp(
title: 'Komet',
title: 'Qlyra',
debugShowCheckedModeBanner: false,
locale: _locale,
themeMode: _effectiveThemeMode,
@@ -1016,7 +1016,7 @@ class KometAppState extends State<KometApp>
supportedLocales: AppLocalizations.supportedLocales,
theme: _lightTheme,
darkTheme: _darkTheme,
navigatorKey: KometApp.navigatorKey,
navigatorKey: QlyraApp.navigatorKey,
navigatorObservers: [appRouteObserver],
builder: (context, child) {
return ValueListenableBuilder<double>(
@@ -1089,7 +1089,7 @@ class _StartupScreenState extends State<_StartupScreen> {
context,
MaterialPageRoute(builder: (_) => const AdaptiveShell()),
);
KometApp.stateOf(context)?.markShellReady();
QlyraApp.stateOf(context)?.markShellReady();
return;
}
@@ -1112,7 +1112,7 @@ class _StartupScreenState extends State<_StartupScreen> {
context,
MaterialPageRoute(builder: (_) => const AdaptiveShell()),
);
KometApp.stateOf(context)?.markShellReady();
QlyraApp.stateOf(context)?.markShellReady();
}
Future<int?> _recoverActiveAccount() async {
@@ -1134,7 +1134,7 @@ class _StartupScreenState extends State<_StartupScreen> {
context,
MaterialPageRoute(builder: (_) => const LoginScreen()),
);
KometApp.stateOf(context)?.markShellReady();
QlyraApp.stateOf(context)?.markShellReady();
}
}