Skip to content

Commit 2e420e8

Browse files
authored
Merge branch 'main' into saved-epaper-library
2 parents b34eadc + 6d66a54 commit 2e420e8

File tree

16 files changed

+688
-55
lines changed

16 files changed

+688
-55
lines changed

android/app/src/main/AndroidManifest.xml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,5 +42,13 @@
4242
<action android:name="android.intent.action.PROCESS_TEXT"/>
4343
<data android:mimeType="text/plain"/>
4444
</intent>
45+
<intent>
46+
<action android:name="android.support.customtabs.action.CustomTabsService" />
47+
</intent>
48+
<intent>
49+
<action android:name="android.intent.action.VIEW" />
50+
<category android:name="android.intent.category.BROWSABLE" />
51+
<data android:scheme="https" />
52+
</intent>
4553
</queries>
4654
</manifest>

assets/icons/badge.png

30 KB
Loading

assets/icons/github.png

16.5 KB
Loading

assets/icons/icon.png

3.07 KB
Loading

ios/Runner/Info.plist

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,11 @@
4141
<string>UIInterfaceOrientationLandscapeLeft</string>
4242
<string>UIInterfaceOrientationLandscapeRight</string>
4343
</array>
44+
<key>LSApplicationQueriesSchemes</key>
45+
<array>
46+
<string>sms</string>
47+
<string>tel</string>
48+
</array>
4449
<key>CADisableMinimumFrameDurationOnPhone</key>
4550
<true/>
4651
<key>UIApplicationSupportsIndirectInputEvents</key>

lib/constants/asset_paths.dart

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,7 @@ class ImageAssets {
55
static const String blackBoard = 'assets/canvas/black.png';
66
static const String epaper37Bwr = 'assets/images/displays/epaper_3.7_bwr.png';
77
static const String epaper37Bw = 'assets/images/displays/epaper_3.7_bw.PNG';
8+
static const String tempIcon = 'assets/icons/icon.png';
9+
static const String githubIcon = 'assets/icons/github.png';
10+
static const String badgeIcon = 'assets/icons/badge.png';
811
}

lib/constants/string_constants.dart

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,27 @@
11
class StringConstants {
22
static const String appName = 'Magic epaper';
3+
4+
static const String aboutUsDescription =
5+
'Magic ePaper is an app designed to control and update ePaper displays.'
6+
'The goal is to provide tools for customizing and transferring images, text, and patterns to ePaper screens using NFC.'
7+
'Data transfer from the smartphone to the ePaper hardware is done wirelessly via NFC. The project is built on top of custom firmware and display drivers for seamless communication and efficient image rendering.';
8+
static const String developedBy = 'Developed by';
9+
static const String fossasiaContributors = 'FOSSASIA contributors';
10+
static const String contactWithUs = 'Contact With Us';
11+
static const String github = 'GitHub';
12+
static const String githubSubtitle =
13+
'Fork the repo and push changes or submit new issues.';
14+
static const String license = 'License';
15+
static const String licenseSubtitle =
16+
'Check Apache License 2.0 terms used on Magic ePaper.';
17+
static const String selectDisplay = 'Select Display';
18+
static const String selectDisplayType = 'Select your ePaper display type';
19+
static const String settings = 'Settings';
20+
static const String aboutUs = 'About Us';
21+
static const String other = 'Other';
22+
static const String buyBadge = 'Buy Badge';
23+
static const String feedbackBugReports = 'Feedback/Bug Reports';
24+
static const String continueButton = 'Continue';
325
static const String noImageSelectedFeedback = 'Import an image first!';
426
static const String adjustButtonLabel = 'Adjust';
527
static const String importImageButtonLabel = 'Import New';

lib/main.dart

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@ import 'package:flutter/material.dart';
22
import 'package:magic_epaper_app/image_library/provider/image_library_provider.dart';
33
import 'package:magic_epaper_app/provider/getitlocator.dart';
44
import 'package:magic_epaper_app/provider/image_loader.dart';
5+
import 'package:magic_epaper_app/view/about_us_screen.dart';
6+
import 'package:magic_epaper_app/view/settings_screen.dart';
57
import 'package:provider/provider.dart';
68
import 'package:magic_epaper_app/view/display_selection_screen.dart';
79

@@ -18,9 +20,18 @@ class MyApp extends StatelessWidget {
1820

1921
@override
2022
Widget build(BuildContext context) {
21-
return const MaterialApp(
23+
return MaterialApp(
2224
title: 'Magic Epaper',
23-
home: DisplaySelectionScreen(),
25+
initialRoute: '/',
26+
routes: {
27+
'/': (context) => const DisplaySelectionScreen(),
28+
'/aboutUs': (context) => const AboutUsScreen(),
29+
'/settings': (context) => const SettingsScreen(),
30+
},
31+
theme: ThemeData(
32+
primarySwatch: Colors.blue,
33+
visualDensity: VisualDensity.adaptivePlatformDensity,
34+
),
2435
);
2536
}
2637
}

lib/util/orientation_util.dart

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
import 'package:flutter/services.dart';
2+
3+
/// Sets the preferred orientation to portrait only (up and down).
4+
Future<void> setPortraitOrientation() async {
5+
await SystemChrome.setPreferredOrientations([
6+
DeviceOrientation.portraitUp,
7+
DeviceOrientation.portraitDown,
8+
]);
9+
}

lib/util/url_util.dart

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
import 'package:flutter/material.dart';
2+
import 'package:url_launcher/url_launcher.dart';
3+
4+
Future<void> openUrl(BuildContext context, String url) async {
5+
try {
6+
final uri = Uri.tryParse(url);
7+
if (uri != null && await canLaunchUrl(uri)) {
8+
await launchUrl(uri);
9+
} else {
10+
ScaffoldMessenger.of(context).showSnackBar(
11+
const SnackBar(content: Text('Could not open the link.')),
12+
);
13+
}
14+
} catch (e) {
15+
ScaffoldMessenger.of(context).showSnackBar(
16+
const SnackBar(
17+
content: Text('An error occurred while opening the link.')),
18+
);
19+
}
20+
}

0 commit comments

Comments
 (0)