aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/data/data_providers/app_launcher.dart2
-rw-r--r--lib/presentation/screens/apps/widgets/app_button.dart28
2 files changed, 27 insertions, 3 deletions
diff --git a/lib/data/data_providers/app_launcher.dart b/lib/data/data_providers/app_launcher.dart
index 917dd21..693ce29 100644
--- a/lib/data/data_providers/app_launcher.dart
+++ b/lib/data/data_providers/app_launcher.dart
@@ -58,7 +58,7 @@ class AppLauncher {
debugPrint("$info");
// Existing icons are currently not usable, so leave blank for now
apps.add(AppLauncherInfo(
- id: info.id, name: info.name, icon: "", internal: false));
+ id: info.id, name: info.name, icon: info.iconPath, internal: false));
}
apps.sort((a, b) => a.name.compareTo(b.name));
diff --git a/lib/presentation/screens/apps/widgets/app_button.dart b/lib/presentation/screens/apps/widgets/app_button.dart
index 2e016ca..336e1e2 100644
--- a/lib/presentation/screens/apps/widgets/app_button.dart
+++ b/lib/presentation/screens/apps/widgets/app_button.dart
@@ -1,5 +1,6 @@
import 'package:flutter_ics_homescreen/core/utils/helpers.dart';
import 'package:flutter_ics_homescreen/export.dart';
+import 'package:mime/mime.dart';
class AppButton extends StatefulWidget {
const AppButton(
@@ -38,8 +39,31 @@ class _AppButtonState extends State<AppButton> {
Padding(
padding: const EdgeInsets.only(
left: 10, right: 10, top: 6, bottom: 6),
- child: SvgPicture.asset(
- "assets/${widget.image}",
+ child: Builder(
+ builder: (BuildContext context) {
+ var filepath = widget.image;
+ final file = File(filepath);
+ if (file.existsSync()) {
+ final String? mimeType = lookupMimeType(filepath);
+ if (mimeType == 'image/png') {
+ return Image.file(
+ file,
+ width: 160,
+ height: 160,
+ fit: BoxFit.contain,
+ );
+ } else if (mimeType == 'image/svg+xml') {
+ return SvgPicture.file(
+ file,
+ width: 160,
+ height: 160,
+ fit: BoxFit.contain,
+ );
+ }
+ filepath = "app-generic.svg";
+ }
+ return SvgPicture.asset("assets/${filepath}");
+ },
),
),
Text(