app icon change progress but i'm tired bye

This commit is contained in:
Kima 2024-03-29 00:01:46 +01:00
parent 1c014d90af
commit f8246338d8
2 changed files with 49 additions and 36 deletions

View File

@ -1,48 +1,60 @@
import 'dart:io';
import 'package:flutter/foundation.dart';
import 'package:flutter/services.dart';
import 'package:flutter_dynamic_icon/flutter_dynamic_icon.dart';
import 'package:android_dynamic_icon/android_dynamic_icon.dart';
import 'package:flutter_dynamic_icon_plus/flutter_dynamic_icon_plus.dart';
class AppIconHelper {
static const _channel = MethodChannel('app_icon');
// static const _channel = MethodChannel('app_icon');
static Future<void> setAppIcon(String iconName) async {
if (Platform.isIOS) {
// change icon on ios
try {
if (await FlutterDynamicIcon.supportsAlternateIcons) {
await _channel.invokeMethod('changeIcon', iconName);
// await FlutterDynamicIcon.setApplicationIconBadgeNumber(0); we don't need this rn, but we will
await FlutterDynamicIcon.setAlternateIconName(iconName);
}
} on PlatformException catch (e) {
try {
if (await FlutterDynamicIconPlus.supportsAlternateIcons) {
await FlutterDynamicIconPlus.setAlternateIconName("icon_new");
if (kDebugMode) {
print('Failed to change app icon: ${e.message}');
}
} catch (e) {
if (kDebugMode) {
print('Ha nem megy, hat nem megy');
print("successfully changed app icon");
}
return;
}
} else if (Platform.isAndroid) {
// change icon on android
// ignore: no_leading_underscores_for_local_identifiers
final _androidDynamicIconPlugin = AndroidDynamicIcon();
await _androidDynamicIconPlugin.changeIcon(
bundleId: 'hu.refilc.naplo',
isNewIcon: iconName != 'refilc_default' ? true : false,
iconName: iconName != 'refilc_default' ? iconName : '',
iconNames: [
'refilc_default',
'refilc_overcomplicated',
'refilc_concept',
'refilc_pride',
],
);
} else {
// ha nem megy hát nem megy
} on PlatformException {
if (kDebugMode) {
print("failed to change icon");
}
} catch (e) {
// ha nem megy hat nem megy
}
// if (Platform.isIOS) {
// // change icon on ios
// try {
// if (await FlutterDynamicIcon.supportsAlternateIcons) {
// await _channel.invokeMethod('changeIcon', iconName);
// // await FlutterDynamicIcon.setApplicationIconBadgeNumber(0); we don't need this rn, but we will
// await FlutterDynamicIcon.setAlternateIconName(iconName);
// }
// } on PlatformException catch (e) {
// if (kDebugMode) {
// print('Failed to change app icon: ${e.message}');
// }
// } catch (e) {
// if (kDebugMode) {
// print('Ha nem megy, hat nem megy');
// }
// }
// } else if (Platform.isAndroid) {
// // change icon on android
// // ignore: no_leading_underscores_for_local_identifiers
// final _androidDynamicIconPlugin = AndroidDynamicIcon();
// await _androidDynamicIconPlugin.changeIcon(
// bundleId: 'hu.refilc.naplo',
// isNewIcon: iconName != 'refilc_default' ? true : false,
// iconName: iconName != 'refilc_default' ? iconName : '',
// iconNames: [
// 'refilc_default',
// 'refilc_overcomplicated',
// 'refilc_concept',
// 'refilc_pride',
// ],
// );
// } else {
// // ha nem megy hát nem megy
// }
}
}

View File

@ -37,6 +37,7 @@ dependencies:
i18n_extension: ^11.0.12
http: ^1.2.0
fl_chart: ^0.45.1
flutter_dynamic_icon_plus: ^1.1.2
dev_dependencies:
flutter_lints: ^3.0.1