mirror of
				https://github.com/ImranR98/Obtainium.git
				synced 2025-10-29 20:43:28 +01:00 
			
		
		
		
	| @@ -21,7 +21,7 @@ import 'package:easy_localization/src/easy_localization_controller.dart'; | ||||
| // ignore: implementation_imports | ||||
| import 'package:easy_localization/src/localization.dart'; | ||||
|  | ||||
| const String currentVersion = '0.11.5'; | ||||
| const String currentVersion = '0.11.6'; | ||||
| const String currentReleaseTag = | ||||
|     'v$currentVersion-beta'; // KEEP THIS IN SYNC WITH GITHUB RELEASES | ||||
|  | ||||
|   | ||||
| @@ -233,6 +233,31 @@ class AppsPageState extends State<AppsPage> { | ||||
|                   .getSource(listedApps[index].app.url) | ||||
|                   .changeLogPageFromStandardUrl(listedApps[index].app.url); | ||||
|               var transparent = const Color.fromARGB(0, 0, 0, 0).value; | ||||
|               var hasUpdate = listedApps[index].app.installedVersion != null && | ||||
|                   listedApps[index].app.installedVersion != | ||||
|                       listedApps[index].app.latestVersion; | ||||
|               var updateButton = IconButton( | ||||
|                   visualDensity: VisualDensity.compact, | ||||
|                   color: Theme.of(context).colorScheme.primary, | ||||
|                   tooltip: | ||||
|                       listedApps[index].app.additionalSettings['trackOnly'] == | ||||
|                               true | ||||
|                           ? tr('markUpdated') | ||||
|                           : tr('update'), | ||||
|                   onPressed: appsProvider.areDownloadsRunning() | ||||
|                       ? null | ||||
|                       : () { | ||||
|                           appsProvider.downloadAndInstallLatestApps([ | ||||
|                             listedApps[index].app.id | ||||
|                           ], globalNavigatorKey.currentContext).catchError((e) { | ||||
|                             showError(e, context); | ||||
|                           }); | ||||
|                         }, | ||||
|                   icon: Icon( | ||||
|                       listedApps[index].app.additionalSettings['trackOnly'] == | ||||
|                               true | ||||
|                           ? Icons.check_circle_outline | ||||
|                           : Icons.install_mobile)); | ||||
|               return Container( | ||||
|                   decoration: BoxDecoration( | ||||
|                       border: Border.symmetric( | ||||
| @@ -264,7 +289,22 @@ class AppsPageState extends State<AppsPage> { | ||||
|                             listedApps[index].installedInfo!.icon!, | ||||
|                             gaplessPlayback: true, | ||||
|                           ) | ||||
|                         : null, | ||||
|                         : Row( | ||||
|                             mainAxisSize: MainAxisSize.min, | ||||
|                             mainAxisAlignment: MainAxisAlignment.center, | ||||
|                             children: [ | ||||
|                                 Transform( | ||||
|                                   alignment: Alignment.center, | ||||
|                                   transform: Matrix4.rotationZ(0.31), | ||||
|                                   child: Image( | ||||
|                                     image: const AssetImage( | ||||
|                                         'assets/graphics/icon.png'), | ||||
|                                     color: Colors.white.withOpacity(0.1), | ||||
|                                     colorBlendMode: BlendMode.modulate, | ||||
|                                     gaplessPlayback: true, | ||||
|                                   ), | ||||
|                                 ), | ||||
|                               ]), | ||||
|                     title: Text( | ||||
|                       maxLines: 1, | ||||
|                       listedApps[index].installedInfo?.name ?? | ||||
| @@ -278,13 +318,13 @@ class AppsPageState extends State<AppsPage> { | ||||
|                     ), | ||||
|                     subtitle: Text( | ||||
|                         tr('byX', args: [listedApps[index].app.author]), | ||||
|                         maxLines: 1, | ||||
|                         style: TextStyle( | ||||
|                             overflow: TextOverflow.ellipsis, | ||||
|                             fontWeight: listedApps[index].app.pinned | ||||
|                                 ? FontWeight.bold | ||||
|                                 : FontWeight.normal)), | ||||
|                     trailing: SingleChildScrollView( | ||||
|                         reverse: true, | ||||
|                         child: listedApps[index].downloadProgress != null | ||||
|                     trailing: listedApps[index].downloadProgress != null | ||||
|                         ? Text(tr('percentProgress', args: [ | ||||
|                             listedApps[index] | ||||
|                                     .downloadProgress | ||||
| @@ -292,7 +332,19 @@ class AppsPageState extends State<AppsPage> { | ||||
|                                     .toString() ?? | ||||
|                                 '100' | ||||
|                           ])) | ||||
|                             : (Column( | ||||
|                         : (Row( | ||||
|                             mainAxisSize: MainAxisSize.min, | ||||
|                             crossAxisAlignment: CrossAxisAlignment.start, | ||||
|                             children: [ | ||||
|                               hasUpdate | ||||
|                                   ? updateButton | ||||
|                                   : const SizedBox.shrink(), | ||||
|                               hasUpdate | ||||
|                                   ? const SizedBox( | ||||
|                                       width: 10, | ||||
|                                     ) | ||||
|                                   : const SizedBox.shrink(), | ||||
|                               Column( | ||||
|                                 mainAxisAlignment: MainAxisAlignment.center, | ||||
|                                 crossAxisAlignment: CrossAxisAlignment.end, | ||||
|                                 children: [ | ||||
| @@ -306,8 +358,11 @@ class AppsPageState extends State<AppsPage> { | ||||
|                                               '${listedApps[index].app.installedVersion ?? tr('notInstalled')}${listedApps[index].app.additionalSettings['trackOnly'] == true ? ' ${tr('estimateInBrackets')}' : ''}', | ||||
|                                               overflow: TextOverflow.ellipsis, | ||||
|                                               textAlign: TextAlign.end, | ||||
|                                             )) | ||||
|                                             )), | ||||
|                                       ]), | ||||
|                                   Row( | ||||
|                                     mainAxisSize: MainAxisSize.min, | ||||
|                                     children: [ | ||||
|                                       GestureDetector( | ||||
|                                           onTap: changesUrl == null | ||||
|                                               ? null | ||||
| @@ -320,66 +375,21 @@ class AppsPageState extends State<AppsPage> { | ||||
|                                             listedApps[index].app.releaseDate == | ||||
|                                                     null | ||||
|                                                 ? tr('changes') | ||||
|                                             : DateFormat('yyyy-MM-dd').format( | ||||
|                                                 listedApps[index] | ||||
|                                                 : DateFormat('yyyy-MM-dd') | ||||
|                                                     .format(listedApps[index] | ||||
|                                                         .app | ||||
|                                                         .releaseDate!), | ||||
|                                             style: const TextStyle( | ||||
|                                                 fontStyle: FontStyle.italic, | ||||
|                                                 decoration: | ||||
|                                                     TextDecoration.underline), | ||||
|                                       )), | ||||
|                                   listedApps[index].app.installedVersion != | ||||
|                                               null && | ||||
|                                           listedApps[index] | ||||
|                                                   .app | ||||
|                                                   .installedVersion != | ||||
|                                               listedApps[index] | ||||
|                                                   .app | ||||
|                                                   .latestVersion | ||||
|                                       ? appsProvider.areDownloadsRunning() | ||||
|                                           ? Text(tr('pleaseWait')) | ||||
|                                           : Row( | ||||
|                                               mainAxisSize: MainAxisSize.min, | ||||
|                                               mainAxisAlignment: | ||||
|                                                   MainAxisAlignment.end, | ||||
|                                               children: [ | ||||
|                                                 GestureDetector( | ||||
|                                                     onTap: () { | ||||
|                                                       appsProvider | ||||
|                                                           .downloadAndInstallLatestApps( | ||||
|                                                               [ | ||||
|                                                             listedApps[index] | ||||
|                                                                 .app | ||||
|                                                                 .id | ||||
|                                           )) | ||||
|                                     ], | ||||
|                                                               globalNavigatorKey | ||||
|                                                                   .currentContext).catchError( | ||||
|                                                               (e) { | ||||
|                                                         showError(e, context); | ||||
|                                                       }); | ||||
|                                                     }, | ||||
|                                                     child: Text( | ||||
|                                                       listedApps[index] | ||||
|                                                                       .app | ||||
|                                                                       .additionalSettings[ | ||||
|                                                                   'trackOnly'] == | ||||
|                                                               true | ||||
|                                                           ? tr('markUpdated') | ||||
|                                                           : tr('update'), | ||||
|                                                       style: TextStyle( | ||||
|                                                           color: | ||||
|                                                               Theme.of(context) | ||||
|                                                                   .colorScheme | ||||
|                                                                   .primary, | ||||
|                                                           fontWeight: | ||||
|                                                               FontWeight.bold), | ||||
|                                                     )), | ||||
|                                   ), | ||||
|                                 ], | ||||
|                               ) | ||||
|                                       : const SizedBox.shrink(), | ||||
|                             ], | ||||
|                               ))), | ||||
|                           )), | ||||
|                     onTap: () { | ||||
|                       if (selectedApps.isNotEmpty) { | ||||
|                         toggleAppSelected(listedApps[index].app); | ||||
|   | ||||
| @@ -17,7 +17,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev | ||||
| # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html | ||||
| # In Windows, build-name is used as the major, minor, and patch parts | ||||
| # of the product and file versions while build-number is used as the build suffix. | ||||
| version: 0.11.5+124 # When changing this, update the tag in main() accordingly | ||||
| version: 0.11.6+125 # When changing this, update the tag in main() accordingly | ||||
|  | ||||
| environment: | ||||
|   sdk: '>=2.18.2 <3.0.0' | ||||
| @@ -97,6 +97,7 @@ flutter: | ||||
|    | ||||
|   assets: | ||||
|     - assets/translations/ | ||||
|     - assets/graphics/ | ||||
|  | ||||
|   # An image asset can refer to one or more resolution-specific "variants", see | ||||
|   # https://flutter.dev/assets-and-images/#resolution-aware | ||||
|   | ||||
		Reference in New Issue
	
	Block a user