140ef0f49ea9fa7c39eb0018fdb4df4b73a11a77dNeal Nguyen/*
240ef0f49ea9fa7c39eb0018fdb4df4b73a11a77dNeal Nguyen * Copyright (C) 2010, The Android Open Source Project
340ef0f49ea9fa7c39eb0018fdb4df4b73a11a77dNeal Nguyen *
440ef0f49ea9fa7c39eb0018fdb4df4b73a11a77dNeal Nguyen * Licensed under the Apache License, Version 2.0 (the "License");
540ef0f49ea9fa7c39eb0018fdb4df4b73a11a77dNeal Nguyen * you may not use this file except in compliance with the License.
640ef0f49ea9fa7c39eb0018fdb4df4b73a11a77dNeal Nguyen * You may obtain a copy of the License at
740ef0f49ea9fa7c39eb0018fdb4df4b73a11a77dNeal Nguyen *
840ef0f49ea9fa7c39eb0018fdb4df4b73a11a77dNeal Nguyen *      http://www.apache.org/licenses/LICENSE-2.0
940ef0f49ea9fa7c39eb0018fdb4df4b73a11a77dNeal Nguyen *
1040ef0f49ea9fa7c39eb0018fdb4df4b73a11a77dNeal Nguyen * Unless required by applicable law or agreed to in writing, software
1140ef0f49ea9fa7c39eb0018fdb4df4b73a11a77dNeal Nguyen * distributed under the License is distributed on an "AS IS" BASIS,
1240ef0f49ea9fa7c39eb0018fdb4df4b73a11a77dNeal Nguyen * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1340ef0f49ea9fa7c39eb0018fdb4df4b73a11a77dNeal Nguyen * See the License for the specific language governing permissions and
1440ef0f49ea9fa7c39eb0018fdb4df4b73a11a77dNeal Nguyen * limitations under the License.
1540ef0f49ea9fa7c39eb0018fdb4df4b73a11a77dNeal Nguyen */
1640ef0f49ea9fa7c39eb0018fdb4df4b73a11a77dNeal Nguyen
1740ef0f49ea9fa7c39eb0018fdb4df4b73a11a77dNeal Nguyenpackage com.android.frameworks.downloadmanagertests;
1840ef0f49ea9fa7c39eb0018fdb4df4b73a11a77dNeal Nguyen
1940ef0f49ea9fa7c39eb0018fdb4df4b73a11a77dNeal Nguyenimport android.os.Bundle;
2040ef0f49ea9fa7c39eb0018fdb4df4b73a11a77dNeal Nguyenimport android.test.InstrumentationTestRunner;
2140ef0f49ea9fa7c39eb0018fdb4df4b73a11a77dNeal Nguyenimport android.test.InstrumentationTestSuite;
2240ef0f49ea9fa7c39eb0018fdb4df4b73a11a77dNeal Nguyenimport android.util.Log;
2340ef0f49ea9fa7c39eb0018fdb4df4b73a11a77dNeal Nguyen
2440ef0f49ea9fa7c39eb0018fdb4df4b73a11a77dNeal Nguyenimport com.android.frameworks.downloadmanagertests.DownloadManagerTestApp;
2540ef0f49ea9fa7c39eb0018fdb4df4b73a11a77dNeal Nguyen
2640ef0f49ea9fa7c39eb0018fdb4df4b73a11a77dNeal Nguyenimport junit.framework.TestSuite;
2740ef0f49ea9fa7c39eb0018fdb4df4b73a11a77dNeal Nguyen
2840ef0f49ea9fa7c39eb0018fdb4df4b73a11a77dNeal Nguyen/**
2940ef0f49ea9fa7c39eb0018fdb4df4b73a11a77dNeal Nguyen * Instrumentation Test Runner for all download manager tests.
3040ef0f49ea9fa7c39eb0018fdb4df4b73a11a77dNeal Nguyen *
3140ef0f49ea9fa7c39eb0018fdb4df4b73a11a77dNeal Nguyen * To run the download manager tests:
3240ef0f49ea9fa7c39eb0018fdb4df4b73a11a77dNeal Nguyen *
33df7a865bbf45b57c60d294d5ac721e67e69a2dd6Neal Nguyen * adb shell am instrument -e external_download_uri <uri> external_large_download_uri <uri> \
3440ef0f49ea9fa7c39eb0018fdb4df4b73a11a77dNeal Nguyen *     -w com.android.frameworks.downloadmanagertests/.DownloadManagerTestRunner
3540ef0f49ea9fa7c39eb0018fdb4df4b73a11a77dNeal Nguyen */
3640ef0f49ea9fa7c39eb0018fdb4df4b73a11a77dNeal Nguyen
3740ef0f49ea9fa7c39eb0018fdb4df4b73a11a77dNeal Nguyenpublic class DownloadManagerTestRunner extends InstrumentationTestRunner {
3840ef0f49ea9fa7c39eb0018fdb4df4b73a11a77dNeal Nguyen    private static final String EXTERNAL_DOWNLOAD_URI_KEY = "external_download_uri";
3940ef0f49ea9fa7c39eb0018fdb4df4b73a11a77dNeal Nguyen    public String externalDownloadUriValue = null;
4040ef0f49ea9fa7c39eb0018fdb4df4b73a11a77dNeal Nguyen
4140ef0f49ea9fa7c39eb0018fdb4df4b73a11a77dNeal Nguyen    @Override
4240ef0f49ea9fa7c39eb0018fdb4df4b73a11a77dNeal Nguyen    public TestSuite getAllTests() {
4340ef0f49ea9fa7c39eb0018fdb4df4b73a11a77dNeal Nguyen        TestSuite suite = new InstrumentationTestSuite(this);
4440ef0f49ea9fa7c39eb0018fdb4df4b73a11a77dNeal Nguyen        suite.addTestSuite(DownloadManagerTestApp.class);
4540ef0f49ea9fa7c39eb0018fdb4df4b73a11a77dNeal Nguyen        return suite;
4640ef0f49ea9fa7c39eb0018fdb4df4b73a11a77dNeal Nguyen    }
4740ef0f49ea9fa7c39eb0018fdb4df4b73a11a77dNeal Nguyen
4840ef0f49ea9fa7c39eb0018fdb4df4b73a11a77dNeal Nguyen    @Override
4940ef0f49ea9fa7c39eb0018fdb4df4b73a11a77dNeal Nguyen    public ClassLoader getLoader() {
5040ef0f49ea9fa7c39eb0018fdb4df4b73a11a77dNeal Nguyen        return DownloadManagerTestRunner.class.getClassLoader();
5140ef0f49ea9fa7c39eb0018fdb4df4b73a11a77dNeal Nguyen    }
5240ef0f49ea9fa7c39eb0018fdb4df4b73a11a77dNeal Nguyen
5340ef0f49ea9fa7c39eb0018fdb4df4b73a11a77dNeal Nguyen    @Override
5440ef0f49ea9fa7c39eb0018fdb4df4b73a11a77dNeal Nguyen    public void onCreate(Bundle icicle) {
5540ef0f49ea9fa7c39eb0018fdb4df4b73a11a77dNeal Nguyen        // Extract the extra params passed in from the bundle...
5640ef0f49ea9fa7c39eb0018fdb4df4b73a11a77dNeal Nguyen        String externalDownloadUri = (String) icicle.get(EXTERNAL_DOWNLOAD_URI_KEY);
5740ef0f49ea9fa7c39eb0018fdb4df4b73a11a77dNeal Nguyen        if (externalDownloadUri != null) {
5840ef0f49ea9fa7c39eb0018fdb4df4b73a11a77dNeal Nguyen            externalDownloadUriValue = externalDownloadUri;
5940ef0f49ea9fa7c39eb0018fdb4df4b73a11a77dNeal Nguyen        }
6040ef0f49ea9fa7c39eb0018fdb4df4b73a11a77dNeal Nguyen        super.onCreate(icicle);
6140ef0f49ea9fa7c39eb0018fdb4df4b73a11a77dNeal Nguyen    }
6240ef0f49ea9fa7c39eb0018fdb4df4b73a11a77dNeal Nguyen
6340ef0f49ea9fa7c39eb0018fdb4df4b73a11a77dNeal Nguyen}
64