blob: 0e0928c952c5e4b70e5ad54fb606f2a5d26e0d3b [file] [log] [blame]
// Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
import 'package:analyzer/error/error.dart';
/**
* The error codes used for warnings in analysis options files. The convention
* for this class is for the name of the error code to indicate the problem that
* caused the error to be generated and for the error message to explain what is
* wrong and, when appropriate, how the problem can be corrected.
*/
class ManifestWarningCode extends ErrorCode {
/**
* A code indicating that a specified hardware feature is not supported on Chrome OS.
*/
static const ManifestWarningCode UNSUPPORTED_CHROME_OS_HARDWARE =
const ManifestWarningCode('UNSUPPORTED_CHROME_OS_HARDWARE',
"This hardware feature is not supported on Chrome OS.",
correction:
"Try adding `android:required=\"false\"` for this hardware " +
"feature.");
/**
* A code indicating that a specified permission is not supported on Chrome OS.
*/
static const ManifestWarningCode PERMISSION_IMPLIES_UNSUPPORTED_HARDWARE =
const ManifestWarningCode(
'PERMISSION_IMPLIES_UNSUPPORTED_HARDWARE',
"Permission exists without corresponding hardware tag `<uses-feature " +
"android:name=\"{0}\" android:required=\"false\">`.",
correction:
"Try adding the uses-feature with required=\"false\" attribute value.");
/**
* A code indicating that the camera permissions is not supported on Chrome OS.
*/
static const ManifestWarningCode CAMERA_PERMISSIONS_INCOMPATIBLE =
const ManifestWarningCode(
'CAMERA_PERMISSIONS_INCOMPATIBLE',
"Permission exists without corresponding hardware `<uses-feature " +
"android:name=\"android.hardware.camera\" android:required=\"false\">` " +
"`<uses-feature " +
"android:name=\"android.hardware.camera.autofocus\" android:required=\"false\">`.",
correction:
"Try adding the uses-feature with required=\"false\" attribute value.");
/**
* Initialize a newly created warning code to have the given [name], [message]
* and [correction].
*/
const ManifestWarningCode(String name, String message, {String correction})
: super.temporary(name, message, correction: correction);
@override
ErrorSeverity get errorSeverity => ErrorSeverity.WARNING;
@override
ErrorType get type => ErrorType.STATIC_WARNING;
}