102d897ec26d81fa1f3cb9e1b8f05c6bcb5d7b9dbBjorn Bringert/* 202d897ec26d81fa1f3cb9e1b8f05c6bcb5d7b9dbBjorn Bringert * Copyright (C) 2009 The Android Open Source Project 302d897ec26d81fa1f3cb9e1b8f05c6bcb5d7b9dbBjorn Bringert * 402d897ec26d81fa1f3cb9e1b8f05c6bcb5d7b9dbBjorn Bringert * Licensed under the Apache License, Version 2.0 (the "License"); 502d897ec26d81fa1f3cb9e1b8f05c6bcb5d7b9dbBjorn Bringert * you may not use this file except in compliance with the License. 602d897ec26d81fa1f3cb9e1b8f05c6bcb5d7b9dbBjorn Bringert * You may obtain a copy of the License at 702d897ec26d81fa1f3cb9e1b8f05c6bcb5d7b9dbBjorn Bringert * 802d897ec26d81fa1f3cb9e1b8f05c6bcb5d7b9dbBjorn Bringert * http://www.apache.org/licenses/LICENSE-2.0 902d897ec26d81fa1f3cb9e1b8f05c6bcb5d7b9dbBjorn Bringert * 1002d897ec26d81fa1f3cb9e1b8f05c6bcb5d7b9dbBjorn Bringert * Unless required by applicable law or agreed to in writing, software 1102d897ec26d81fa1f3cb9e1b8f05c6bcb5d7b9dbBjorn Bringert * distributed under the License is distributed on an "AS IS" BASIS, 1202d897ec26d81fa1f3cb9e1b8f05c6bcb5d7b9dbBjorn Bringert * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1302d897ec26d81fa1f3cb9e1b8f05c6bcb5d7b9dbBjorn Bringert * See the License for the specific language governing permissions and 1402d897ec26d81fa1f3cb9e1b8f05c6bcb5d7b9dbBjorn Bringert * limitations under the License. 1502d897ec26d81fa1f3cb9e1b8f05c6bcb5d7b9dbBjorn Bringert */ 1602d897ec26d81fa1f3cb9e1b8f05c6bcb5d7b9dbBjorn Bringert 1702d897ec26d81fa1f3cb9e1b8f05c6bcb5d7b9dbBjorn Bringertpackage com.android.quicksearchbox.benchmarks; 1802d897ec26d81fa1f3cb9e1b8f05c6bcb5d7b9dbBjorn Bringert 1902d897ec26d81fa1f3cb9e1b8f05c6bcb5d7b9dbBjorn Bringertimport android.content.ComponentName; 2002d897ec26d81fa1f3cb9e1b8f05c6bcb5d7b9dbBjorn Bringertimport android.content.Intent; 2102d897ec26d81fa1f3cb9e1b8f05c6bcb5d7b9dbBjorn Bringertimport android.content.pm.PackageManager; 2202d897ec26d81fa1f3cb9e1b8f05c6bcb5d7b9dbBjorn Bringert 2302d897ec26d81fa1f3cb9e1b8f05c6bcb5d7b9dbBjorn Bringert/* 2402d897ec26d81fa1f3cb9e1b8f05c6bcb5d7b9dbBjorn Bringert 2502d897ec26d81fa1f3cb9e1b8f05c6bcb5d7b9dbBjorn BringertTo build and run: 2602d897ec26d81fa1f3cb9e1b8f05c6bcb5d7b9dbBjorn Bringert 2702d897ec26d81fa1f3cb9e1b8f05c6bcb5d7b9dbBjorn Bringertmmm packages/apps/QuickSearchBox/benchmarks \ 2802d897ec26d81fa1f3cb9e1b8f05c6bcb5d7b9dbBjorn Bringert&& adb install -r $OUT/data/app/QuickSearchBoxBenchmarks.apk \ 2902d897ec26d81fa1f3cb9e1b8f05c6bcb5d7b9dbBjorn Bringert&& sleep 10 \ 3002d897ec26d81fa1f3cb9e1b8f05c6bcb5d7b9dbBjorn Bringert&& adb shell am start -a android.intent.action.MAIN \ 3102d897ec26d81fa1f3cb9e1b8f05c6bcb5d7b9dbBjorn Bringert -n com.android.quicksearchbox.benchmarks/.WebLatency \ 3202d897ec26d81fa1f3cb9e1b8f05c6bcb5d7b9dbBjorn Bringert&& adb logcat 3302d897ec26d81fa1f3cb9e1b8f05c6bcb5d7b9dbBjorn Bringert 3402d897ec26d81fa1f3cb9e1b8f05c6bcb5d7b9dbBjorn Bringert*/ 3502d897ec26d81fa1f3cb9e1b8f05c6bcb5d7b9dbBjorn Bringert 3602d897ec26d81fa1f3cb9e1b8f05c6bcb5d7b9dbBjorn Bringertpublic class WebLatency extends SourceLatency { 3702d897ec26d81fa1f3cb9e1b8f05c6bcb5d7b9dbBjorn Bringert 3802d897ec26d81fa1f3cb9e1b8f05c6bcb5d7b9dbBjorn Bringert private static final String[] queries = { 3902d897ec26d81fa1f3cb9e1b8f05c6bcb5d7b9dbBjorn Bringert "", "a", "s", "e", "r", "pub", "taxi", "kilt hire", "pizza", 4002d897ec26d81fa1f3cb9e1b8f05c6bcb5d7b9dbBjorn Bringert "weather london uk", "terminator showtimes", "obama news", 4102d897ec26d81fa1f3cb9e1b8f05c6bcb5d7b9dbBjorn Bringert "12 USD in GBP", "how to pass a drug test", "goog stock", 4202d897ec26d81fa1f3cb9e1b8f05c6bcb5d7b9dbBjorn Bringert "76 Bucking", 4302d897ec26d81fa1f3cb9e1b8f05c6bcb5d7b9dbBjorn Bringert "sanxjkashasrxae" 4402d897ec26d81fa1f3cb9e1b8f05c6bcb5d7b9dbBjorn Bringert }; 4502d897ec26d81fa1f3cb9e1b8f05c6bcb5d7b9dbBjorn Bringert 4602d897ec26d81fa1f3cb9e1b8f05c6bcb5d7b9dbBjorn Bringert @Override 4702d897ec26d81fa1f3cb9e1b8f05c6bcb5d7b9dbBjorn Bringert protected void onResume() { 4802d897ec26d81fa1f3cb9e1b8f05c6bcb5d7b9dbBjorn Bringert super.onResume(); 4902d897ec26d81fa1f3cb9e1b8f05c6bcb5d7b9dbBjorn Bringert testWebSuggestions(); 5002d897ec26d81fa1f3cb9e1b8f05c6bcb5d7b9dbBjorn Bringert finish(); 5102d897ec26d81fa1f3cb9e1b8f05c6bcb5d7b9dbBjorn Bringert } 5202d897ec26d81fa1f3cb9e1b8f05c6bcb5d7b9dbBjorn Bringert 5302d897ec26d81fa1f3cb9e1b8f05c6bcb5d7b9dbBjorn Bringert private ComponentName getWebSearchComponent() { 5402d897ec26d81fa1f3cb9e1b8f05c6bcb5d7b9dbBjorn Bringert Intent webSearchIntent = new Intent(Intent.ACTION_WEB_SEARCH); 5502d897ec26d81fa1f3cb9e1b8f05c6bcb5d7b9dbBjorn Bringert PackageManager pm = getPackageManager(); 5602d897ec26d81fa1f3cb9e1b8f05c6bcb5d7b9dbBjorn Bringert return webSearchIntent.resolveActivity(pm); 5702d897ec26d81fa1f3cb9e1b8f05c6bcb5d7b9dbBjorn Bringert } 5802d897ec26d81fa1f3cb9e1b8f05c6bcb5d7b9dbBjorn Bringert 5902d897ec26d81fa1f3cb9e1b8f05c6bcb5d7b9dbBjorn Bringert private void testWebSuggestions() { 6002d897ec26d81fa1f3cb9e1b8f05c6bcb5d7b9dbBjorn Bringert ComponentName webComponent = getWebSearchComponent(); 6102d897ec26d81fa1f3cb9e1b8f05c6bcb5d7b9dbBjorn Bringert checkSource("WEB", webComponent, queries); 6202d897ec26d81fa1f3cb9e1b8f05c6bcb5d7b9dbBjorn Bringert } 6302d897ec26d81fa1f3cb9e1b8f05c6bcb5d7b9dbBjorn Bringert 6402d897ec26d81fa1f3cb9e1b8f05c6bcb5d7b9dbBjorn Bringert} 65