Remove upper case constants (#29)

* Remove usage of upper-case constants.

* update SDK version
* remove stable from Travis config
diff --git a/.travis.yml b/.travis.yml
index 9c81e6d..86105c9 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,9 +1,7 @@
 language: dart
 
 dart:
-  - stable
   - dev
-  - 1.23.0
 
 dart_task:
   - test: -p vm
@@ -13,7 +11,7 @@
 
 matrix:
   include:
-  - dart: stable
+  - dart: dev
     dart_task: dartfmt
 
 # Only building master means that we don't run two builds for each pull request.
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 270e306..1b37200 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,6 +1,5 @@
 ## 2.1.4
-
-- Require at least Dart 1.23.0.
+- Require at least Dart 2.0.0.
 
 ## 2.1.3
 - Fix bug in `readAsBytes` which returned twice as much data as expected.
diff --git a/README.md b/README.md
index 48af528..e65003b 100644
--- a/README.md
+++ b/README.md
@@ -10,11 +10,11 @@
 
 ```dart
 import 'package:resource/resource.dart' show Resource;
-import 'dart:convert' show UTF8;
+import 'dart:convert' show utf8;
 
 main() async {
   var resource = new Resource("package:foo/foo_data.txt");
-  var string = await resource.readAsString(encoding: UTF8);
+  var string = await resource.readAsString(encoding: utf8);
   print(string);
 }
 ```
diff --git a/lib/resource.dart b/lib/resource.dart
index 4326d5f..66bc06c 100644
--- a/lib/resource.dart
+++ b/lib/resource.dart
@@ -10,14 +10,14 @@
 /// Example:
 ///
 ///     var resource = new Resource("package:foo/foo_data.txt");
-///     var string = await resource.readAsString(UTF8);
+///     var string = await resource.readAsString(utf8);
 ///     print(string);
 ///
 /// Example:
 ///
 ///     var resource = new Resource("http://example.com/data.json");
 ///     var obj = await resource.openRead()   // Reads as stream of bytes.
-///                             .transform(UTF8.fuse(JSON).decoder)
+///                             .transform(utf8.fuse(JSON).decoder)
 ///                             .first;
 library resource;
 
diff --git a/lib/src/io_io.dart b/lib/src/io_io.dart
index 03cc92e..edc0de6 100644
--- a/lib/src/io_io.dart
+++ b/lib/src/io_io.dart
@@ -3,7 +3,7 @@
 // BSD-style license that can be found in the LICENSE file.
 
 import "dart:async" show Future, Stream;
-import "dart:convert" show Encoding, LATIN1, UTF8;
+import "dart:convert" show Encoding, latin1, utf8;
 import "dart:io"
     show
         File,
@@ -61,7 +61,7 @@
 /// Read the bytes of a URI as a string.
 Future<String> readAsString(Uri uri, Encoding encoding) async {
   if (uri.scheme == "file") {
-    if (encoding == null) encoding = UTF8;
+    if (encoding == null) encoding = utf8;
     return new File.fromUri(uri).readAsString(encoding: encoding);
   }
   if (uri.scheme == "http" || uri.scheme == "https") {
@@ -74,7 +74,7 @@
     HttpClientResponse response = await request.close();
     _throwIfFailed(response, uri);
     encoding ??= Encoding.getByName(response.headers.contentType?.charset);
-    if (encoding == null || encoding == LATIN1) {
+    if (encoding == null || encoding == latin1) {
       // Default to LATIN-1 if no encoding found.
       // Special case LATIN-1 since it is common and doesn't need decoding.
       int length = response.contentLength;
diff --git a/pubspec.yaml b/pubspec.yaml
index 1b2ea68..2715e65 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -1,11 +1,11 @@
 name: resource
-version: 2.1.4-dev
+version: 2.1.4
 description: Reading resource data from (package and other) files.
 author: Dart Team <misc@dartlang.org>
 homepage: https://github.com/dart-lang/resource
 
 environment:
-  sdk: '>=1.23.0 <2.0.0'
+  sdk: '>=2.0.0-dev.17.0 <2.0.0'
 
 dependencies:
   typed_data: "^1.0.0"
diff --git a/test/browser_http_test.dart b/test/browser_http_test.dart
index ff4edad..a8f21d9 100644
--- a/test/browser_http_test.dart
+++ b/test/browser_http_test.dart
@@ -27,14 +27,14 @@
   test("Latin-1 encoding", () async {
     var loader = ResourceLoader.defaultLoader;
     var uri = Uri.base.resolve("testfile-latin1.txt");
-    String string = await loader.readAsString(uri, encoding: LATIN1);
+    String string = await loader.readAsString(uri, encoding: latin1);
     expect(string, content);
   });
 
   test("UTF-8 encoding", () async {
     var loader = ResourceLoader.defaultLoader;
     var uri = Uri.base.resolve("testfile-utf8.txt");
-    String string = await loader.readAsString(uri, encoding: UTF8);
+    String string = await loader.readAsString(uri, encoding: utf8);
     expect(string, content);
   });
 
diff --git a/test/loader_data_test.dart b/test/loader_data_test.dart
index fe767e7..19c898a 100644
--- a/test/loader_data_test.dart
+++ b/test/loader_data_test.dart
@@ -43,8 +43,8 @@
     });
   }
 
-  testFile(LATIN1, true);
-  testFile(LATIN1, false);
-  testFile(UTF8, true);
-  testFile(UTF8, false);
+  testFile(latin1, true);
+  testFile(latin1, false);
+  testFile(utf8, true);
+  testFile(utf8, false);
 }
diff --git a/test/loader_file_test.dart b/test/loader_file_test.dart
index 54a42d7..30e33bb 100644
--- a/test/loader_file_test.dart
+++ b/test/loader_file_test.dart
@@ -55,8 +55,8 @@
     });
   }
 
-  testFile(LATIN1);
-  testFile(UTF8);
+  testFile(latin1);
+  testFile(utf8);
 
   tearDown(() {
     dir.delete(recursive: true);
diff --git a/test/loader_http_test.dart b/test/loader_http_test.dart
index 02631e2..a4b9de6 100644
--- a/test/loader_http_test.dart
+++ b/test/loader_http_test.dart
@@ -49,7 +49,7 @@
 
   test("Latin-1 encoding", () async {
     var loader = ResourceLoader.defaultLoader;
-    String string = await loader.readAsString(uri, encoding: LATIN1);
+    String string = await loader.readAsString(uri, encoding: latin1);
     expect(string, content);
   });
 
@@ -57,20 +57,20 @@
     // Regression test for issue #21.
     var loader = ResourceLoader.defaultLoader;
     var newUri = uri.replace(query: "length"); // Request length set.
-    String string = await loader.readAsString(newUri, encoding: LATIN1);
+    String string = await loader.readAsString(newUri, encoding: latin1);
     expect(string, content);
   });
 
   test("UTF-8 encoding", () async {
     var loader = ResourceLoader.defaultLoader;
     var newUri = uri.replace(query: "length"); // Request length set.
-    String string = await loader.readAsString(newUri, encoding: UTF8);
+    String string = await loader.readAsString(newUri, encoding: utf8);
     expect(string, content);
   });
 
   test("UTF-8 encoding w/ length", () async {
     var loader = ResourceLoader.defaultLoader;
-    String string = await loader.readAsString(uri, encoding: UTF8);
+    String string = await loader.readAsString(uri, encoding: utf8);
     expect(string, content);
   });
 
@@ -120,7 +120,7 @@
 }
 
 Encoding parseAcceptCharset(List<String> headers) {
-  var encoding = LATIN1;
+  var encoding = latin1;
   if (headers != null) {
     var weight = 0.0;
     var pattern = new RegExp(r"([\w-]+)(;\s*q=[\d.]+)?");
diff --git a/test/resource_test.dart b/test/resource_test.dart
index d1102a1..7e7a88a 100644
--- a/test/resource_test.dart
+++ b/test/resource_test.dart
@@ -5,7 +5,7 @@
 @TestOn("vm")
 
 import "dart:async" show Future, Stream;
-import "dart:convert" show Encoding, ASCII;
+import "dart:convert" show Encoding, ascii;
 import "dart:isolate" show Isolate;
 import "package:resource/resource.dart";
 import "package:test/test.dart";
@@ -31,13 +31,13 @@
       ]);
       var res1 = await resource.readAsBytes();
       expect(res1, [0, 0, 0]);
-      var res2 = await resource.readAsString(encoding: ASCII);
+      var res2 = await resource.readAsString(encoding: ascii);
       expect(res2, "\x00\x00\x00");
 
       expect(loader.requests, [
         ["Stream", resolved],
         ["Bytes", resolved],
-        ["String", resolved, ASCII]
+        ["String", resolved, ascii]
       ]);
     }