Remove long deprecated APIs. (#640)

diff --git a/mobly/base_test.py b/mobly/base_test.py
index 76dbf8e..b499fc5 100644
--- a/mobly/base_test.py
+++ b/mobly/base_test.py
@@ -69,9 +69,6 @@
             the execution of tests.
         controller_configs: dict, controller configs provided by the user via
             test bed config.
-        current_test_name: [Deprecated, use `self.current_test_info.name`]
-            A string that's the name of the test method currently being
-            executed. If no test is executing, this should be None.
         current_test_info: RuntimeTestInfo, runtime information on the test
             currently being executed.
         log_path: string, specifies the root directory for all logs written
@@ -107,8 +104,6 @@
         self.user_params = configs.user_params
         self.results = records.TestResult()
         self.summary_writer = configs.summary_writer
-        # Deprecated, use `self.current_test_info.name`.
-        self.current_test_name = None
         self._generated_test_table = collections.OrderedDict()
         self._controller_manager = controller_manager.ControllerManager(
             class_name=self.TAG, controller_configs=configs.controller_configs)
@@ -409,7 +404,6 @@
         """Proxy function to guarantee the base implementation of setup_test is
         called.
         """
-        self.current_test_name = test_name
         with self._log_test_stage(STAGE_NAME_SETUP_TEST):
             self.setup_test()
 
@@ -535,7 +529,7 @@
             except Exception as e:
                 logging.exception(
                     'Exception happened when executing %s for %s.',
-                    procedure_name, self.current_test_name)
+                    procedure_name, self.current_test_info.name)
                 tr_record.add_error(procedure_name, e)
 
     def record_data(self, content):
@@ -590,7 +584,7 @@
                 raise
             except Exception:
                 logging.exception('Exception occurred in %s.',
-                                  self.current_test_name)
+                                  self.current_test_info.name)
                 raise
             finally:
                 before_count = expects.recorder.error_count
@@ -648,7 +642,6 @@
                 self.summary_writer.dump(tr_record.to_dict(),
                                          records.TestSummaryEntryType.RECORD)
                 self.current_test_info = None
-                self.current_test_name = None
 
     def _assert_function_name_in_stack(self, expected_func_name):
         """Asserts that the current stack contains the given function name."""
diff --git a/mobly/controllers/android_device.py b/mobly/controllers/android_device.py
index cf3a996..0ac605a 100644
--- a/mobly/controllers/android_device.py
+++ b/mobly/controllers/android_device.py
@@ -173,15 +173,6 @@
                                  'services failed to start.')
 
 
-def _parse_device_list(device_list_str, key):
-    """Parses a byte string representing a list of devices.
-
-    Deprecated, use `parse_device_list(device_list_str, key)` instead.
-    This method will be removed in 1.9.
-    """
-    return parse_device_list(device_list_str, key)
-
-
 def parse_device_list(device_list_str, key):
     """Parses a byte string representing a list of devices.
 
@@ -366,9 +357,6 @@
     """Finds a unique AndroidDevice instance from a list that has specific
     attributes of certain values.
 
-    Deprecated, use `get_devices(ads, **kwargs)[0]` instead.
-    This method will be removed in 1.8.
-
     Example:
         get_device(android_devices, label='foo', phone_number='1234567890')
         get_device(android_devices, model='angler')
diff --git a/mobly/logger.py b/mobly/logger.py
index 006f6d9..b3a0fb7 100644
--- a/mobly/logger.py
+++ b/mobly/logger.py
@@ -344,7 +344,7 @@
 def normalize_log_line_timestamp(log_line_timestamp):
     """Replace special characters in log line timestamp with normal characters.
 
-    .. deprecated:: 1.9.2
+    .. deprecated:: 1.10
 
         This method is obsolete with the more general `sanitize_filename` method
         and is only kept for backwards compatibility. In a future update, this
diff --git a/tests/mobly/base_test_test.py b/tests/mobly/base_test_test.py
index 2cb3bb0..aa4917b 100755
--- a/tests/mobly/base_test_test.py
+++ b/tests/mobly/base_test_test.py
@@ -67,10 +67,10 @@
     def test_current_test_name(self):
         class MockBaseTest(base_test.BaseTestClass):
             def test_func(self):
-                asserts.assert_true(
-                    self.current_test_name == "test_func",
-                    ("Got "
-                     "unexpected test name %s.") % self.current_test_name)
+                asserts.assert_true(self.current_test_info.name == "test_func",
+                                    ("Got "
+                                     "unexpected test name %s.") %
+                                    self.current_test_info.name)
 
         bt_cls = MockBaseTest(self.mock_test_cls_configs)
         bt_cls.run(test_names=["test_func"])
@@ -82,12 +82,13 @@
     def test_current_test_info(self):
         class MockBaseTest(base_test.BaseTestClass):
             def test_func(self):
-                asserts.assert_true(self.current_test_info.name == 'test_func',
-                                    'Got unexpected test name %s.' %
-                                    self.current_test_info.name)
-                output_path = self.current_test_info.output_path
                 asserts.assert_true(
-                    os.path.exists(output_path), 'test output path missing')
+                    self.current_test_info.name == 'test_func',
+                    'Got unexpected test name %s.' %
+                    self.current_test_info.name)
+                output_path = self.current_test_info.output_path
+                asserts.assert_true(os.path.exists(output_path),
+                                    'test output path missing')
 
         bt_cls = MockBaseTest(self.mock_test_cls_configs)
         bt_cls.run(test_names=['test_func'])
@@ -104,8 +105,8 @@
                     'Got unexpected test name %s.' %
                     self.current_test_info.name)
                 output_path = self.current_test_info.output_path
-                asserts.assert_true(
-                    os.path.exists(output_path), 'test output path missing')
+                asserts.assert_true(os.path.exists(output_path),
+                                    'test output path missing')
                 raise Exception(MSG_EXPECTED_EXCEPTION)
 
         bt_cls = MockBaseTest(self.mock_test_cls_configs)
@@ -529,7 +530,7 @@
 
         class MockBaseTest(base_test.BaseTestClass):
             def on_fail(self, record):
-                assert self.current_test_name == 'test_something'
+                assert self.current_test_info.name == 'test_something'
                 my_mock("on_fail")
 
             def on_pass(self, record):
@@ -840,8 +841,8 @@
                 raise Exception(MSG_EXPECTED_EXCEPTION)
 
             def test_something(self):
-                asserts.explicit_pass(
-                    MSG_EXPECTED_EXCEPTION, extras=MOCK_EXTRA)
+                asserts.explicit_pass(MSG_EXPECTED_EXCEPTION,
+                                      extras=MOCK_EXTRA)
 
         bt_cls = MockBaseTest(self.mock_test_cls_configs)
         bt_cls.run()
@@ -1161,8 +1162,9 @@
     def test_assert_true(self):
         class MockBaseTest(base_test.BaseTestClass):
             def test_func(self):
-                asserts.assert_true(
-                    False, MSG_EXPECTED_EXCEPTION, extras=MOCK_EXTRA)
+                asserts.assert_true(False,
+                                    MSG_EXPECTED_EXCEPTION,
+                                    extras=MOCK_EXTRA)
                 never_call()
 
         bt_cls = MockBaseTest(self.mock_test_cls_configs)
@@ -1199,8 +1201,10 @@
     def test_assert_equal_fail_with_msg(self):
         class MockBaseTest(base_test.BaseTestClass):
             def test_func(self):
-                asserts.assert_equal(
-                    1, 2, msg=MSG_EXPECTED_EXCEPTION, extras=MOCK_EXTRA)
+                asserts.assert_equal(1,
+                                     2,
+                                     msg=MSG_EXPECTED_EXCEPTION,
+                                     extras=MOCK_EXTRA)
 
         bt_cls = MockBaseTest(self.mock_test_cls_configs)
         bt_cls.run()
@@ -1320,8 +1324,8 @@
     def test_explicit_pass(self):
         class MockBaseTest(base_test.BaseTestClass):
             def test_func(self):
-                asserts.explicit_pass(
-                    MSG_EXPECTED_EXCEPTION, extras=MOCK_EXTRA)
+                asserts.explicit_pass(MSG_EXPECTED_EXCEPTION,
+                                      extras=MOCK_EXTRA)
                 never_call()
 
         bt_cls = MockBaseTest(self.mock_test_cls_configs)
@@ -1362,8 +1366,9 @@
         class MockBaseTest(base_test.BaseTestClass):
             def test_func(self):
                 asserts.skip_if(False, MSG_UNEXPECTED_EXCEPTION)
-                asserts.skip_if(
-                    True, MSG_EXPECTED_EXCEPTION, extras=MOCK_EXTRA)
+                asserts.skip_if(True,
+                                MSG_EXPECTED_EXCEPTION,
+                                extras=MOCK_EXTRA)
                 never_call()
 
         bt_cls = MockBaseTest(self.mock_test_cls_configs)
@@ -1398,8 +1403,9 @@
 
         class MockBaseTest(base_test.BaseTestClass):
             def test_func(self):
-                expects.expect_true(
-                    False, MSG_EXPECTED_EXCEPTION, extras=MOCK_EXTRA)
+                expects.expect_true(False,
+                                    MSG_EXPECTED_EXCEPTION,
+                                    extras=MOCK_EXTRA)
                 must_call('ha')
 
             def on_fail(self, record):
@@ -1447,8 +1453,9 @@
 
         class MockBaseTest(base_test.BaseTestClass):
             def test_1(self):
-                expects.expect_true(
-                    False, MSG_EXPECTED_EXCEPTION, extras=MOCK_EXTRA)
+                expects.expect_true(False,
+                                    MSG_EXPECTED_EXCEPTION,
+                                    extras=MOCK_EXTRA)
                 must_call('ha')
 
             def test_2(self):
@@ -1471,13 +1478,15 @@
 
         class MockBaseTest(base_test.BaseTestClass):
             def test_1(self):
-                expects.expect_true(
-                    True, MSG_EXPECTED_EXCEPTION, extras=MOCK_EXTRA)
+                expects.expect_true(True,
+                                    MSG_EXPECTED_EXCEPTION,
+                                    extras=MOCK_EXTRA)
                 must_call('ha')
 
             def test_2(self):
-                expects.expect_false(
-                    False, MSG_EXPECTED_EXCEPTION, extras=MOCK_EXTRA)
+                expects.expect_false(False,
+                                     MSG_EXPECTED_EXCEPTION,
+                                     extras=MOCK_EXTRA)
                 must_call('ha')
 
         bt_cls = MockBaseTest(self.mock_test_cls_configs)
@@ -1492,8 +1501,9 @@
 
         class MockBaseTest(base_test.BaseTestClass):
             def setup_class(self):
-                expects.expect_true(
-                    False, MSG_EXPECTED_EXCEPTION, extras=MOCK_EXTRA)
+                expects.expect_true(False,
+                                    MSG_EXPECTED_EXCEPTION,
+                                    extras=MOCK_EXTRA)
                 must_call('ha')
 
             def test_func(self):
@@ -1523,16 +1533,18 @@
 
         class MockBaseTest(base_test.BaseTestClass):
             def setup_class(self):
-                expects.expect_true(
-                    False, 'Failure in setup_class', extras=MOCK_EXTRA)
+                expects.expect_true(False,
+                                    'Failure in setup_class',
+                                    extras=MOCK_EXTRA)
                 must_call('ha')
 
             def test_func(self):
                 pass
 
             def on_fail(self, record):
-                expects.expect_true(
-                    False, 'Failure in on_fail', extras=MOCK_EXTRA)
+                expects.expect_true(False,
+                                    'Failure in on_fail',
+                                    extras=MOCK_EXTRA)
                 must_call2('on_fail')
 
         bt_cls = MockBaseTest(self.mock_test_cls_configs)
@@ -1552,8 +1564,8 @@
         self.assertIsNotNone(setup_class_dict['End Time'])
         self.assertEqual(setup_class_dict['Test Name'], 'setup_class')
         # Verify the on_fail error is recorded in summary result.
-        extra_error_dict = next(
-            iter(setup_class_dict['Extra Errors'].values()))
+        extra_error_dict = next(iter(
+            setup_class_dict['Extra Errors'].values()))
         self.assertEqual(extra_error_dict['Details'], 'Failure in on_fail')
 
     def test_expect_in_teardown_class(self):
@@ -1564,8 +1576,9 @@
                 pass
 
             def teardown_class(self):
-                expects.expect_true(
-                    False, MSG_EXPECTED_EXCEPTION, extras=MOCK_EXTRA)
+                expects.expect_true(False,
+                                    MSG_EXPECTED_EXCEPTION,
+                                    extras=MOCK_EXTRA)
                 must_call('ha')
 
         bt_cls = MockBaseTest(self.mock_test_cls_configs)
@@ -1582,8 +1595,9 @@
 
         class MockBaseTest(base_test.BaseTestClass):
             def setup_test(self):
-                expects.expect_true(
-                    False, MSG_EXPECTED_EXCEPTION, extras=MOCK_EXTRA)
+                expects.expect_true(False,
+                                    MSG_EXPECTED_EXCEPTION,
+                                    extras=MOCK_EXTRA)
                 must_call('ha')
 
             def test_func(self):
@@ -1610,8 +1624,9 @@
                 pass
 
             def teardown_test(self):
-                expects.expect_true(
-                    False, MSG_EXPECTED_EXCEPTION, extras=MOCK_EXTRA)
+                expects.expect_true(False,
+                                    MSG_EXPECTED_EXCEPTION,
+                                    extras=MOCK_EXTRA)
                 must_call('ha')
 
             def on_fail(self, record):
@@ -1631,8 +1646,9 @@
 
         class MockBaseTest(base_test.BaseTestClass):
             def test_func(self):
-                expects.expect_false(
-                    True, MSG_EXPECTED_EXCEPTION, extras=MOCK_EXTRA)
+                expects.expect_false(True,
+                                     MSG_EXPECTED_EXCEPTION,
+                                     extras=MOCK_EXTRA)
                 must_call('ha')
 
         bt_cls = MockBaseTest(self.mock_test_cls_configs)
@@ -1648,8 +1664,10 @@
 
         class MockBaseTest(base_test.BaseTestClass):
             def test_func(self):
-                expects.expect_equal(
-                    1, 2, MSG_EXPECTED_EXCEPTION, extras=MOCK_EXTRA)
+                expects.expect_equal(1,
+                                     2,
+                                     MSG_EXPECTED_EXCEPTION,
+                                     extras=MOCK_EXTRA)
                 must_call('ha')
 
         bt_cls = MockBaseTest(self.mock_test_cls_configs)
@@ -1706,8 +1724,9 @@
 
         class MockBaseTest(base_test.BaseTestClass):
             def test_func(self):
-                expects.expect_true(
-                    False, MSG_EXPECTED_EXCEPTION, extras=MOCK_EXTRA)
+                expects.expect_true(False,
+                                    MSG_EXPECTED_EXCEPTION,
+                                    extras=MOCK_EXTRA)
                 must_call('ha')
                 asserts.assert_true(False, 'failed from assert_true')
 
@@ -1770,8 +1789,8 @@
         thrown.
         """
         bc = base_test.BaseTestClass(self.mock_test_cls_configs)
-        bc.unpack_userparams(
-            req_param_names=['a_kwarg_param'], a_kwarg_param="whatever")
+        bc.unpack_userparams(req_param_names=['a_kwarg_param'],
+                             a_kwarg_param="whatever")
         self.assertEqual(bc.a_kwarg_param, "whatever")
 
     def test_unpack_userparams_optional_missing(self):
@@ -1788,8 +1807,8 @@
         configs.user_params["something"] = 42
         configs.user_params["something_else"] = 53
         bc = base_test.BaseTestClass(configs)
-        bc.unpack_userparams(
-            req_param_names=required, opt_param_names=optional)
+        bc.unpack_userparams(req_param_names=required,
+                             opt_param_names=optional)
         self.assertEqual(bc.something, 42)
         self.assertEqual(bc.something_else, 53)
 
@@ -1840,10 +1859,9 @@
     def test_generate_tests_run(self):
         class MockBaseTest(base_test.BaseTestClass):
             def setup_generated_tests(self):
-                self.generate_tests(
-                    test_logic=self.logic,
-                    name_func=self.name_gen,
-                    arg_sets=[(1, 2), (3, 4)])
+                self.generate_tests(test_logic=self.logic,
+                                    name_func=self.name_gen,
+                                    arg_sets=[(1, 2), (3, 4)])
 
             def name_gen(self, a, b):
                 return 'test_%s_%s' % (a, b)
@@ -1863,11 +1881,10 @@
     def test_generate_tests_with_uid(self):
         class MockBaseTest(base_test.BaseTestClass):
             def setup_generated_tests(self):
-                self.generate_tests(
-                    test_logic=self.logic,
-                    name_func=self.name_gen,
-                    uid_func=self.uid_logic,
-                    arg_sets=[(1, 2), (3, 4)])
+                self.generate_tests(test_logic=self.logic,
+                                    name_func=self.name_gen,
+                                    uid_func=self.uid_logic,
+                                    arg_sets=[(1, 2), (3, 4)])
 
             def name_gen(self, a, b):
                 return 'test_%s_%s' % (a, b)
@@ -1886,11 +1903,10 @@
     def test_generate_tests_with_none_uid(self):
         class MockBaseTest(base_test.BaseTestClass):
             def setup_generated_tests(self):
-                self.generate_tests(
-                    test_logic=self.logic,
-                    name_func=self.name_gen,
-                    uid_func=self.uid_logic,
-                    arg_sets=[(1, 2), (3, 4)])
+                self.generate_tests(test_logic=self.logic,
+                                    name_func=self.name_gen,
+                                    uid_func=self.uid_logic,
+                                    arg_sets=[(1, 2), (3, 4)])
 
             def name_gen(self, a, b):
                 return 'test_%s_%s' % (a, b)
@@ -1911,10 +1927,9 @@
     def test_generate_tests_selected_run(self):
         class MockBaseTest(base_test.BaseTestClass):
             def setup_generated_tests(self):
-                self.generate_tests(
-                    test_logic=self.logic,
-                    name_func=self.name_gen,
-                    arg_sets=[(1, 2), (3, 4)])
+                self.generate_tests(test_logic=self.logic,
+                                    name_func=self.name_gen,
+                                    arg_sets=[(1, 2), (3, 4)])
 
             def name_gen(self, a, b):
                 return 'test_%s_%s' % (a, b)
@@ -1931,10 +1946,9 @@
     def test_generate_tests_call_outside_of_setup_generated_tests(self):
         class MockBaseTest(base_test.BaseTestClass):
             def test_ha(self):
-                self.generate_tests(
-                    test_logic=self.logic,
-                    name_func=self.name_gen,
-                    arg_sets=[(1, 2), (3, 4)])
+                self.generate_tests(test_logic=self.logic,
+                                    name_func=self.name_gen,
+                                    arg_sets=[(1, 2), (3, 4)])
 
             def name_gen(self, a, b):
                 return 'test_%s_%s' % (a, b)
@@ -1958,10 +1972,9 @@
     def test_generate_tests_dup_test_name(self):
         class MockBaseTest(base_test.BaseTestClass):
             def setup_generated_tests(self):
-                self.generate_tests(
-                    test_logic=self.logic,
-                    name_func=self.name_gen,
-                    arg_sets=[(1, 2), (3, 4)])
+                self.generate_tests(test_logic=self.logic,
+                                    name_func=self.name_gen,
+                                    arg_sets=[(1, 2), (3, 4)])
 
             def name_gen(self, a, b):
                 return 'ha'