Add a launcher app logo + app logo in home page

This commit is contained in:
2025-07-09 21:37:29 +02:00
parent 6957075f46
commit f809375a31
33 changed files with 118 additions and 44 deletions

View File

@ -2,7 +2,7 @@
<application
android:label="rtime"
android:name="${applicationName}"
android:icon="@mipmap/ic_launcher">
android:icon="@mipmap/launcher_icon">
<activity
android:name="com.yalantis.ucrop.UCropActivity"
android:screenOrientation="portrait"

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

BIN
assets/images/rtimelogo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

View File

@ -10,6 +10,9 @@
xml:space="preserve"
sodipodi:docname="rtimelogo.svg"
inkscape:version="1.4.2 (ebf0e940d0, 2025-05-08)"
inkscape:export-filename="rtimelogo.png"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:xlink="http://www.w3.org/1999/xlink"
@ -24,15 +27,16 @@
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="mm"
inkscape:zoom="1.060245"
inkscape:cx="200.42536"
inkscape:cy="275.40803"
inkscape:window-width="1916"
inkscape:window-height="1025"
inkscape:zoom="1.0080514"
inkscape:cx="95.233236"
inkscape:cy="370.51681"
inkscape:window-width="1920"
inkscape:window-height="1080"
inkscape:window-x="1920"
inkscape:window-y="26"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="layer1" /><defs
inkscape:current-layer="g1"
inkscape:export-bgcolor="#28343cff" /><defs
id="defs1"><linearGradient
id="swatch23"><stop
style="stop-color:#000000;stop-opacity:1;"
@ -44,15 +48,7 @@
id="stop22" /></linearGradient></defs><g
id="g1"
transform="matrix(1.5687373,0,0,1.5687373,-98.160636,-174.17106)"><g
id="layer1"><path
style="fill:none;fill-opacity:1;stroke:#7d7d7d;stroke-width:5.543;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1"
d="m 105.75,125.90625 v 6.1875"
id="path4" /><circle
style="fill:none;fill-opacity:0.997107;stroke:#000000;stroke-width:4.909;stroke-dasharray:none;stroke-opacity:1"
id="path1"
cx="105.75"
cy="159"
r="25.6875" /><image
id="layer1"><image
width="52.916668"
height="52.916668"
preserveAspectRatio="none"
@ -60,24 +56,34 @@
id="image1"
x="5.1867809"
y="239.81689"
style="display:none" /><path
style="fill:#fad300;fill-opacity:1;stroke:#000000;stroke-width:5.023;stroke-linecap:round;stroke-miterlimit:5;stroke-dasharray:1.25575, 1.25575;stroke-dashoffset:0;stroke-opacity:1"
d="m 123.96466,139.67569 2.51906,-2.58536"
style="display:none" /></g><g
id="g2"
transform="translate(-1.4625932,0.3181559)"><path
style="fill:none;fill-opacity:1;stroke:#7d7d7d;stroke-width:6.4264;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1"
d="m 107.21261,121.07834 v 7.17361"
id="path4" /><circle
style="fill:none;fill-opacity:0.997107;stroke:#000000;stroke-width:5.69136;stroke-dasharray:none;stroke-opacity:1"
id="path1"
cx="107.21259"
cy="159.4463"
r="29.781376" /><path
style="fill:#fad300;fill-opacity:1;stroke:#000000;stroke-width:5.82353;stroke-linecap:round;stroke-miterlimit:5;stroke-dasharray:1.45588, 1.45588;stroke-dashoffset:0;stroke-opacity:1"
d="m 128.33018,137.04224 2.92053,-2.99739"
id="path18" /><circle
style="fill:none;fill-opacity:0.997107;stroke:#7d7d7d;stroke-width:4.023;stroke-dasharray:1.00575, 2.0115;stroke-dashoffset:0;stroke-opacity:1"
style="fill:none;fill-opacity:0.997107;stroke:#7d7d7d;stroke-width:4.66415;stroke-dasharray:1.16604, 2.33208;stroke-dashoffset:0;stroke-opacity:1"
id="circle6"
cx="105.74992"
cy="159.00005"
r="20.527113" /><rect
style="fill:#fad300;stroke:#000000;stroke-width:5.19697;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:0.2;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal"
cx="107.21252"
cy="159.44637"
r="23.798567" /><rect
style="fill:#fad300;stroke:#000000;stroke-width:6.02522;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:0.2;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal"
id="rect1"
width="9.8775606"
height="1.4293942"
x="100.81123"
y="123.86299" /></g><g
id="g191"><g
width="11.451771"
height="1.6572001"
x="101.48674"
y="118.70944" /><g
id="layer4"
style="display:inline"><path
style="display:inline"
transform="matrix(1.1593723,0,0,1.1593723,-15.391021,-24.893883)"><path
style="fill:#fad300;fill-opacity:1;stroke:none;stroke-width:4.43596;stroke-dasharray:none;stroke-opacity:1"
d="m 107.07629,157.6057 c 0,0 -0.9363,0.34423 3.10345,-0.74145 4.14209,-1.11318 15.49588,-0.13884 17.35688,0.21637 1.86099,0.35524 0.30569,2.51083 0.30569,2.51083 0,0 -13.04413,2.86324 -15.43783,1.84211 -2.71253,-1.15717 -3.98506,-1.11315 -5.50091,-1.0838 -0.17832,-1.71281 0.17272,-2.74405 0.17272,-2.74405 z"
id="prop" /><path

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 11 KiB

View File

@ -427,7 +427,7 @@
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = AppIcon;
CLANG_ANALYZER_NONNULL = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
@ -484,7 +484,7 @@
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = AppIcon;
CLANG_ANALYZER_NONNULL = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 112 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 295 B

After

Width:  |  Height:  |  Size: 828 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 406 B

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 450 B

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 282 B

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 462 B

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 704 B

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 406 B

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 586 B

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 862 B

After

Width:  |  Height:  |  Size: 7.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 862 B

After

Width:  |  Height:  |  Size: 7.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 762 B

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 12 KiB

View File

@ -15,9 +15,8 @@ import 'package:rtime/db/db_helper.dart';
import 'package:rtime/pages/flight_detail_page.dart';
import 'package:provider/provider.dart';
import 'package:rtime/providers/color_provider.dart';
import 'package:rtime/widgets/page_transition_animations.dart';
import 'package:flutter_svg/flutter_svg.dart'; // <-- Ajoutez cet import pour SvgPicture
class HomePage extends StatefulWidget {
const HomePage({super.key});
@ -50,7 +49,6 @@ class _HomePageState extends State<HomePage> {
final l10n = AppLocalizations.of(context)!;
final customAccentColor = Provider.of<ColorProvider>(context).accentColor;
return Scaffold(
backgroundColor: Theme.of(context).primaryColor,
body: RefreshIndicator(
@ -67,6 +65,14 @@ class _HomePageState extends State<HomePage> {
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
// Nouveau: Ajoutez le SvgPicture ici
SvgPicture.asset(
'assets/images/rtimelogo.svg', // Chemin vers votre SVG
height: 48, // Ajustez la taille selon vos préférences
width: 48, // Ajustez la taille selon vos préférences
colorFilter: ColorFilter.mode(customAccentColor, BlendMode.srcIn), // Appliquez la couleur d'accentuation
),
const SizedBox(width: 8), // Petit espace entre le logo et le titre
Text(
l10n.appTitle,
style: TextStyle(
@ -76,6 +82,7 @@ class _HomePageState extends State<HomePage> {
fontFamily: 'Montserrat',
),
),
const Spacer(), // Cela poussera l'icône de réglages à l'extrémité
IconButton(
icon:
const Icon(Icons.settings, size: 30, color: Colors.white70),
@ -91,7 +98,6 @@ class _HomePageState extends State<HomePage> {
),
const SizedBox(height: 30),
Text(
l10n.yourDrones,
style: Theme.of(context).textTheme.headlineSmall,
@ -194,7 +200,6 @@ class _HomePageState extends State<HomePage> {
const Divider(
height: 50, thickness: 2, indent: 0, endIndent: 0, color: Colors.white10),
Text(
l10n.yourBatteries,
style: Theme.of(context).textTheme.headlineSmall,
@ -297,7 +302,6 @@ class _HomePageState extends State<HomePage> {
const Divider(
height: 50, thickness: 2, indent: 0, endIndent: 0, color: Colors.white10),
Text(
l10n.latestFlights,
style: Theme.of(context).textTheme.headlineSmall,

View File

@ -129,6 +129,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "2.0.4"
cli_util:
dependency: transitive
description:
name: cli_util
sha256: ff6785f7e9e3c38ac98b2fb035701789de90154024a75b6cb926445e83197d1c
url: "https://pub.dev"
source: hosted
version: "0.4.2"
clock:
dependency: transitive
description:
@ -278,6 +286,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "1.1.0"
flutter_launcher_icons:
dependency: "direct main"
description:
name: flutter_launcher_icons
sha256: "526faf84284b86a4cb36d20a5e45147747b7563d921373d4ee0559c54fcdbcea"
url: "https://pub.dev"
source: hosted
version: "0.13.1"
flutter_lints:
dependency: "direct dev"
description:
@ -307,6 +323,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "2.0.28"
flutter_svg:
dependency: "direct main"
description:
name: flutter_svg
sha256: cd57f7969b4679317c17af6fd16ee233c1e60a82ed209d8a475c54fd6fd6f845
url: "https://pub.dev"
source: hosted
version: "2.2.0"
flutter_test:
dependency: "direct dev"
description: flutter
@ -677,6 +701,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "1.9.1"
path_parsing:
dependency: transitive
description:
name: path_parsing
sha256: "883402936929eac138ee0a45da5b0f2c80f89913e6dc3bf77eb65b84b409c6ca"
url: "https://pub.dev"
source: hosted
version: "1.1.0"
path_provider:
dependency: "direct main"
description:
@ -1066,6 +1098,30 @@ packages:
url: "https://pub.dev"
source: hosted
version: "4.5.1"
vector_graphics:
dependency: transitive
description:
name: vector_graphics
sha256: a4f059dc26fc8295b5921376600a194c4ec7d55e72f2fe4c7d2831e103d461e6
url: "https://pub.dev"
source: hosted
version: "1.1.19"
vector_graphics_codec:
dependency: transitive
description:
name: vector_graphics_codec
sha256: "99fd9fbd34d9f9a32efd7b6a6aae14125d8237b10403b422a6a6dfeac2806146"
url: "https://pub.dev"
source: hosted
version: "1.1.13"
vector_graphics_compiler:
dependency: transitive
description:
name: vector_graphics_compiler
sha256: "557a315b7d2a6dbb0aaaff84d857967ce6bdc96a63dc6ee2a57ce5a6ee5d3331"
url: "https://pub.dev"
source: hosted
version: "1.1.17"
vector_math:
dependency: transitive
description:

View File

@ -31,6 +31,7 @@ dependencies:
flutter:
sdk: flutter
flutter_colorpicker: ^1.0.0
flutter_launcher_icons: ^0.13.1
# The following adds the Cupertino Icons font to your application.
# Use with the CupertinoIcons class for iOS style icons.
cupertino_icons: ^1.0.8
@ -46,13 +47,14 @@ dependencies:
json_serializable: ^6.9.5
image_cropper: ^9.1.0
intl: ^0.20.2
provider: ^6.1.2
provider: ^6.1.2
geolocator: ^12.0.0
flutter_map: ^8.0.0
latlong2: ^0.9.1
flutter_localizations:
sdk: flutter
shared_preferences: ^2.2.0
flutter_svg: ^2.0.10+1
dev_dependencies:
flutter_test:
@ -70,7 +72,6 @@ dev_dependencies:
# The following section is specific to Flutter packages.
flutter:
# The following line ensures that the Material Icons font is
# included with your application, so that you can use the icons in
# the material Icons class.
@ -78,9 +79,8 @@ flutter:
generate: true
# To add assets to your application, add an assets section, like this:
# assets:
# - images/a_dot_burr.jpeg
# - images/a_dot_ham.jpeg
assets:
- assets/images/ # This is the correct and only place to declare your assets folder.
# An image asset can refer to one or more resolution-specific "variants", see
# https://flutter.dev/to/resolution-aware-images
@ -107,3 +107,11 @@ flutter:
#
# For details regarding fonts from package dependencies,
# see https://flutter.dev/to/font-from-package
# This section needs to be at the root level, not under "flutter:"
flutter_launcher_icons:
android: "launcher_icon"
ios: true
image_path: "assets/images/rtimelogo.png"
min_sdk_android: 21
remove_alpha_ios: true