flutter/packages/flutter_tools/lib/src/application_package.dart
Michael Goderbauer 38630b6bd1
Remove unnecessary null checks in flutter_tool (#118857)
* dart fix --apply

* manual fixes

* fix after merge conflicts

* review
2023-01-23 21:43:08 +00:00

42 lines
1.3 KiB
Dart

// Copyright 2014 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
import 'base/context.dart';
import 'base/file_system.dart';
import 'build_info.dart';
abstract class ApplicationPackageFactory {
static ApplicationPackageFactory? get instance => context.get<ApplicationPackageFactory>();
/// Create an [ApplicationPackage] for the given platform.
Future<ApplicationPackage?> getPackageForPlatform(
TargetPlatform platform, {
BuildInfo? buildInfo,
File? applicationBinary,
});
}
abstract class ApplicationPackage {
ApplicationPackage({ required this.id });
/// Package ID from the Android Manifest or equivalent.
final String id;
String? get name;
String? get displayName => name;
@override
String toString() => displayName ?? id;
}
/// An interface for application package that is created from prebuilt binary.
abstract class PrebuiltApplicationPackage implements ApplicationPackage {
/// The application bundle of the prebuilt application.
///
/// The same ApplicationPackage should be able to be recreated by passing
/// the file to [FlutterApplicationPackageFactory.getPackageForPlatform].
FileSystemEntity get applicationPackage;
}