summaryrefslogtreecommitdiff
path: root/test-runner/src/android/test/ClassPathPackageInfo.java
diff options
context:
space:
mode:
authorPaul Duffin <paulduffin@google.com>2017-06-20 16:18:07 +0100
committerPaul Duffin <paulduffin@google.com>2017-06-26 17:00:21 +0100
commitaaaba76810c0b5b61c609a929536b64ac7e368fc (patch)
tree9dabcf4edf22526ff3a057fcd5a0bb2d0be0ae53 /test-runner/src/android/test/ClassPathPackageInfo.java
parent3c5ab7d3243e646137d9e60c2a54ffc907a85a27 (diff)
Clean up ClassPathPackageInfoSource
Part of the work of removing JUnit and dependent android.test classes from the Android API involves providing a static library that developers can include in their test applications to ease migration. That library will be built directly from the source (as opposed to android.jar which is built from stubs) and so developers will be able to see classes and methods that are not present in the stubs. This change is one of a number of similar changes that cleanup the existing non-API code in order to minimize the additional methods and classes exposed externally. The basic approach is to remove unused classes and methods, use least visible access modifier possible and generally minimize the amount of publicly visible code. PackageInfoSources only provided a static field and accessor method so they were moved into ClassPathPackageInfoSource and PackageInfoSources was removed. ClassPathPackageInfo was only used in ClassPathPackageInfoSource and in TestGrouping. In the latter it was simply used as an intermediate value between ClassPathPackageInfoSource.getPackage(String packageName) and ClassPathPackageInfo.getTopLevelClassesRecursive(String packageName). Moving that method into ClassPathPackageInfoSource allowed the ClassPathPackageInfo to become an inner class of ClassPathPackageInfoSource. As it is an inner class it no longer needed an explicit reference to the containing ClassPathPackageInfoSource. Bug: 30188076 Test: make checkbuild and ran FrameworkTestRunnerTests Change-Id: Idb0b6a585030805b9cff8562abb93b7e5920c53a
Diffstat (limited to 'test-runner/src/android/test/ClassPathPackageInfo.java')
-rw-r--r--test-runner/src/android/test/ClassPathPackageInfo.java79
1 files changed, 0 insertions, 79 deletions
diff --git a/test-runner/src/android/test/ClassPathPackageInfo.java b/test-runner/src/android/test/ClassPathPackageInfo.java
deleted file mode 100644
index 2cf76afa1d94..000000000000
--- a/test-runner/src/android/test/ClassPathPackageInfo.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package android.test;
-
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Set;
-
-/**
- * The Package object doesn't allow you to iterate over the contained
- * classes and subpackages of that package. This is a version that does.
- *
- * {@hide} Not needed for 1.0 SDK.
- */
-@Deprecated
-public class ClassPathPackageInfo {
-
- private final ClassPathPackageInfoSource source;
- private final String packageName;
- private final Set<String> subpackageNames;
- private final Set<Class<?>> topLevelClasses;
-
- ClassPathPackageInfo(ClassPathPackageInfoSource source, String packageName,
- Set<String> subpackageNames, Set<Class<?>> topLevelClasses) {
- this.source = source;
- this.packageName = packageName;
- this.subpackageNames = Collections.unmodifiableSet(subpackageNames);
- this.topLevelClasses = Collections.unmodifiableSet(topLevelClasses);
- }
-
- public Set<ClassPathPackageInfo> getSubpackages() {
- Set<ClassPathPackageInfo> info = new HashSet<>();
- for (String name : subpackageNames) {
- info.add(source.getPackageInfo(name));
- }
- return info;
- }
-
- public Set<Class<?>> getTopLevelClassesRecursive() {
- Set<Class<?>> set = new HashSet<>();
- addTopLevelClassesTo(set);
- return set;
- }
-
- private void addTopLevelClassesTo(Set<Class<?>> set) {
- set.addAll(topLevelClasses);
- for (ClassPathPackageInfo info : getSubpackages()) {
- info.addTopLevelClassesTo(set);
- }
- }
-
- @Override
- public boolean equals(Object obj) {
- if (obj instanceof ClassPathPackageInfo) {
- ClassPathPackageInfo that = (ClassPathPackageInfo) obj;
- return (this.packageName).equals(that.packageName);
- }
- return false;
- }
-
- @Override
- public int hashCode() {
- return packageName.hashCode();
- }
-}