openlp-mobile-remote/lib/main.dart

72 lines
2.9 KiB
Dart
Raw Permalink Normal View History

2019-08-07 20:30:30 +00:00
// OpenLP Mobile Remote
// ---------------------------------------------------------------------------
// Copyright (c) 2008-2019 OpenLP Developers
// ---------------------------------------------------------------------------
// Permission is hereby granted, free of charge, to any person obtaining a
// copy of this software and associated documentation files (the "Software"),
// to deal in the Software without restriction, including without limitation
// the rights to use, copy, modify, merge, publish, distribute, sublicense,
// and/or sell copies of the Software, and to permit persons to whom the
// Software is furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
// DEALINGS IN THE SOFTWARE.
2019-07-24 13:15:11 +00:00
import 'package:flutter/material.dart';
2019-08-14 14:09:05 +00:00
import 'package:flutter_bloc/flutter_bloc.dart';
2019-08-08 18:59:20 +00:00
import 'package:flutter_localizations/flutter_localizations.dart';
2019-07-24 13:15:11 +00:00
2019-08-14 14:09:05 +00:00
import 'src/bloc/settings_bloc.dart';
import 'src/openlp_mobile_remote_app.dart';
2019-08-08 18:59:20 +00:00
import 'src/configurations/app_theme.dart';
import 'src/configurations/app_localizations.dart';
2019-08-07 20:30:30 +00:00
import 'src/screens/settings.dart';
2019-07-24 13:15:11 +00:00
2019-08-06 21:05:35 +00:00
void main() => runApp(
MaterialApp(
debugShowCheckedModeBanner: false,
theme: appTheme,
2019-08-08 18:59:20 +00:00
supportedLocales: [
Locale('en'),
],
localizationsDelegates: [
AppLocalizations.delegate,
GlobalMaterialLocalizations.delegate,
GlobalWidgetsLocalizations.delegate,
],
localeResolutionCallback: (locale, supportedLocales) {
if (locale == null) {
return supportedLocales.first;
}
2019-08-08 20:02:33 +00:00
List<Locale> sameLanguageLocales = [];
2019-08-08 18:59:20 +00:00
for (var supportedLocale in supportedLocales) {
if (supportedLocale.languageCode == locale.languageCode) {
2019-08-08 20:02:33 +00:00
if (supportedLocale.countryCode == locale.countryCode) {
2019-08-08 18:59:20 +00:00
return supportedLocale;
2019-08-08 20:02:33 +00:00
}
sameLanguageLocales.add(supportedLocale);
2019-08-08 18:59:20 +00:00
}
}
2019-08-08 20:02:33 +00:00
if (sameLanguageLocales.isNotEmpty)
return sameLanguageLocales.first;
else
return supportedLocales.first;
2019-08-08 18:59:20 +00:00
},
2019-08-06 21:05:35 +00:00
routes: <String, WidgetBuilder>{
'/': (context) => OpenLPMobileRemoteApp(),
2019-08-14 14:09:05 +00:00
'/settings': (context) => BlocProvider(
builder: (context) => SettingsBloc(),
child: Settings(),
),
2019-08-06 21:05:35 +00:00
},
),
);