aboutsummaryrefslogtreecommitdiff
path: root/MediaTek/FmRadio/tests
diff options
context:
space:
mode:
Diffstat (limited to 'MediaTek/FmRadio/tests')
-rwxr-xr-xMediaTek/FmRadio/tests/Android.mk57
-rwxr-xr-xMediaTek/FmRadio/tests/AndroidManifest.xml27
-rw-r--r--MediaTek/FmRadio/tests/NOTICE0
-rwxr-xr-xMediaTek/FmRadio/tests/README25
-rwxr-xr-xMediaTek/FmRadio/tests/src/com/mediatek/fmradio/tests/FmRadioActivityTest.java1054
-rwxr-xr-xMediaTek/FmRadio/tests/src/com/mediatek/fmradio/tests/FmRadioFavoriteTest.java261
-rwxr-xr-xMediaTek/FmRadio/tests/src/com/mediatek/fmradio/tests/FmRadioFunctionRunner.java59
-rwxr-xr-xMediaTek/FmRadio/tests/src/com/mediatek/fmradio/tests/FmRadioLaunchPerformance.java59
-rwxr-xr-xMediaTek/FmRadio/tests/src/com/mediatek/fmradio/tests/FmRadioPerformanceRunner.java57
-rwxr-xr-xMediaTek/FmRadio/tests/src/com/mediatek/fmradio/tests/FmRadioPerformanceTest.java554
-rwxr-xr-xMediaTek/FmRadio/tests/src/com/mediatek/fmradio/tests/FmRadioTestCaseUtil.java219
11 files changed, 0 insertions, 2372 deletions
diff --git a/MediaTek/FmRadio/tests/Android.mk b/MediaTek/FmRadio/tests/Android.mk
deleted file mode 100755
index 0e3521a..0000000
--- a/MediaTek/FmRadio/tests/Android.mk
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright Statement:
-#
-# This software/firmware and related documentation ("MediaTek Software") are
-# protected under relevant copyright laws. The information contained herein
-# is confidential and proprietary to MediaTek Inc. and/or its licensors.
-# Without the prior written permission of MediaTek inc. and/or its licensors,
-# any reproduction, modification, use or disclosure of MediaTek Software,
-# and information contained herein, in whole or in part, shall be strictly prohibited.
-#
-# MediaTek Inc. (C) 2010. All rights reserved.
-#
-# BY OPENING THIS FILE, RECEIVER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
-# THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
-# RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO RECEIVER ON
-# AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
-# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
-# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
-# NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
-# SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
-# SUPPLIED WITH THE MEDIATEK SOFTWARE, AND RECEIVER AGREES TO LOOK ONLY TO SUCH
-# THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. RECEIVER EXPRESSLY ACKNOWLEDGES
-# THAT IT IS RECEIVER'S SOLE RESPONSIBILITY TO OBTAIN FROM ANY THIRD PARTY ALL PROPER LICENSES
-# CONTAINED IN MEDIATEK SOFTWARE. MEDIATEK SHALL ALSO NOT BE RESPONSIBLE FOR ANY MEDIATEK
-# SOFTWARE RELEASES MADE TO RECEIVER'S SPECIFICATION OR TO CONFORM TO A PARTICULAR
-# STANDARD OR OPEN FORUM. RECEIVER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND
-# CUMULATIVE LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
-# AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
-# OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY RECEIVER TO
-# MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
-#
-# The following software/firmware and/or related documentation ("MediaTek Software")
-# have been modified by MediaTek Inc. All revisions are subject to any receiver's
-# applicable license agreements with MediaTek Inc.
-
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-
-
-# We only want this apk build for tests.
-LOCAL_MODULE_TAGS := tests
-LOCAL_CERTIFICATE := platform
-
-LOCAL_JAVA_LIBRARIES := android.test.runner
-LOCAL_STATIC_JAVA_LIBRARIES := librobotium4
-
-# Include all test java files.
-LOCAL_SRC_FILES := $(call all-java-files-under, src)
-
-LOCAL_PACKAGE_NAME := FmRadioTests
-
-LOCAL_INSTRUMENTATION_FOR := FmRadio
-
-include $(BUILD_PACKAGE)
-
-# Use the folloing include to make our test apk.
-include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/MediaTek/FmRadio/tests/AndroidManifest.xml b/MediaTek/FmRadio/tests/AndroidManifest.xml
deleted file mode 100755
index 1f8d990..0000000
--- a/MediaTek/FmRadio/tests/AndroidManifest.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<manifest xmlns:android="http://schemas.android.com/apk/res/android"
- package="com.mediatek.fmradio.tests"
- android:versionCode="1"
- android:versionName="1.0">
- <uses-permission android:name="android.permission.ACCESS_FM" />
-
- <application>
- <uses-library android:name="android.test.runner" />
- <!-- uses-library android:name="com.jayway.android.robotium" /> -->
- </application>
-
- <instrumentation
- android:name=".FmRadioFunctionRunner"
- android:label="FM Radio function auto-tests"
- android:targetPackage="com.mediatek.fmradio" />
- <instrumentation
- android:name=".FmRadioPerformanceRunner"
- android:label="FM Radio performance auto-tests"
- android:targetPackage="com.mediatek.fmradio" />
- <instrumentation
- android:name="com.mediatek.fmradio.tests.FmRadioLaunchPerformance"
- android:label="FmRadio Launch Performance"
- android:targetPackage="com.mediatek.fmradio" />
-
- <uses-permission android:name="android.permission.RUN_INSTRUMETATION" />
-</manifest>
diff --git a/MediaTek/FmRadio/tests/NOTICE b/MediaTek/FmRadio/tests/NOTICE
deleted file mode 100644
index e69de29..0000000
--- a/MediaTek/FmRadio/tests/NOTICE
+++ /dev/null
diff --git a/MediaTek/FmRadio/tests/README b/MediaTek/FmRadio/tests/README
deleted file mode 100755
index 6a66800..0000000
--- a/MediaTek/FmRadio/tests/README
+++ /dev/null
@@ -1,25 +0,0 @@
-FmRadioTests.apk is the unit test of FmRadio.apk.
-
-This library is pre-built by MediaTek internal.
-
-WHAT IT DOES?
-=============
-It is designed to unit text for FM radio application.
-
-HOW IT WAS BUILT?
-==================
-It needs the following library from AOSP:
-1. framework.jar
-
-and the following libs from MediaTek:
-1. FmRadio.apk
-2. librobotium4.jar
-
-All source/dependency modules of this module are already put in
-'vendor/mediatek/libs' folder.
-
-HOW TO USE IT?
-==============
-1. Install FmRadioTests.apk in mediatek platform.
-2. Use adb command to run test:
-adb shell am instrument -w com.mediatek.fmradio.tests/.FmRadioFunctionRunner
diff --git a/MediaTek/FmRadio/tests/src/com/mediatek/fmradio/tests/FmRadioActivityTest.java b/MediaTek/FmRadio/tests/src/com/mediatek/fmradio/tests/FmRadioActivityTest.java
deleted file mode 100755
index f7039c7..0000000
--- a/MediaTek/FmRadio/tests/src/com/mediatek/fmradio/tests/FmRadioActivityTest.java
+++ /dev/null
@@ -1,1054 +0,0 @@
-/* Copyright Statement:
- *
- * This software/firmware and related documentation ("MediaTek Software") are
- * protected under relevant copyright laws. The information contained herein is
- * confidential and proprietary to MediaTek Inc. and/or its licensors. Without
- * the prior written permission of MediaTek inc. and/or its licensors, any
- * reproduction, modification, use or disclosure of MediaTek Software, and
- * information contained herein, in whole or in part, shall be strictly
- * prohibited.
- *
- * MediaTek Inc. (C) 2010. All rights reserved.
- *
- * BY OPENING THIS FILE, RECEIVER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
- * THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
- * RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO RECEIVER
- * ON AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL
- * WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR
- * NONINFRINGEMENT. NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH
- * RESPECT TO THE SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY,
- * INCORPORATED IN, OR SUPPLIED WITH THE MEDIATEK SOFTWARE, AND RECEIVER AGREES
- * TO LOOK ONLY TO SUCH THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO.
- * RECEIVER EXPRESSLY ACKNOWLEDGES THAT IT IS RECEIVER'S SOLE RESPONSIBILITY TO
- * OBTAIN FROM ANY THIRD PARTY ALL PROPER LICENSES CONTAINED IN MEDIATEK
- * SOFTWARE. MEDIATEK SHALL ALSO NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE
- * RELEASES MADE TO RECEIVER'S SPECIFICATION OR TO CONFORM TO A PARTICULAR
- * STANDARD OR OPEN FORUM. RECEIVER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S
- * ENTIRE AND CUMULATIVE LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE
- * RELEASED HEREUNDER WILL BE, AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE
- * MEDIATEK SOFTWARE AT ISSUE, OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE
- * CHARGE PAID BY RECEIVER TO MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
- *
- * The following software/firmware and/or related documentation ("MediaTek
- * Software") have been modified by MediaTek Inc. All revisions are subject to
- * any receiver's applicable license agreements with MediaTek Inc.
- */
-
-package com.mediatek.fmradio.tests;
-
-import java.io.File;
-import com.jayway.android.robotium.solo.Solo;
-
-import android.app.ActionBar;
-import android.app.AlertDialog;
-import android.app.Instrumentation;
-import android.app.Instrumentation.ActivityMonitor;
-import android.content.Context;
-import android.database.Cursor;
-import android.media.AudioManager;
-import android.media.AudioManager.OnAudioFocusChangeListener;
-import android.net.Uri;
-import android.test.ActivityInstrumentationTestCase2;
-import android.util.Log;
-import android.view.KeyEvent;
-import android.view.MenuInflater;
-import android.view.View;
-import android.view.inputmethod.InputMethodManager;
-import android.widget.Button;
-import android.widget.EditText;
-import android.widget.ImageButton;
-import android.widget.TextView;
-
-import com.mediatek.fmradio.FmRadioActivity;
-import com.mediatek.fmradio.FmRadioFavorite;
-import com.mediatek.fmradio.FmRadioUtils;
-import com.mediatek.fmradio.FmRadioStation;
-import com.mediatek.fmradio.R;
-
-public class FmRadioActivityTest extends ActivityInstrumentationTestCase2<FmRadioActivity> {
- private Instrumentation mInstrumentation = null;
- private Solo mSolo = null;
- private Context mContext = null;
- private ActivityMonitor mActivityMonitor = null;
-
- private ActionBar mActionBar = null;
- private FmRadioActivity mFmRadioActivity = null;
- private FmRadioFavorite mFmRadioFavorite = null;
- private AudioManager mAudioManager = null;
- private OnAudioFocusChangeListener mFMAudioFocusChangeListener = null;
-
- // bottom bar
- private ImageButton mButtonDecrease = null;
- private ImageButton mButtonPrevStation = null;
- private ImageButton mButtonNextStation = null;
- private ImageButton mButtonIncrease = null;
-// private ImageButton mButtonPlayStop = null;
- private MenuInflater mMenuInflater = null;
- // the star
- private ImageButton mButtonAddToFavorite = null;
- // record bar
- private ImageButton mButtonRecord = null;
- private ImageButton mButtonStop = null;
- private ImageButton mButtonPlayback = null;
- private AlertDialog mDialogRDSSetting = null;
-
- private Button mButtonRecordSave = null;
- private EditText mEditTextRecordName = null;
-
- private static final String CONTENTURI = "content://com.mediatek.fmradio.FmRadioContentProvider/station";
-
- private TextView mTextViewFrequency = null;
- private static final int CHECK_TIME = 100;
- private static final int SHORT_TIME = 2000;
- private static final int ONE_SECOND = 1000;
- private static final int EXECUTE_TIME = 500;
- private static final int TIMEOUT = 5000;
- private static final int WAIT_TEAR_DOWN = 3000;
- private static final int WAIT_MOUNT_UNMOUNT = 7000;
- private static final int RECORDING_FILE_TIME = 10000;
-
- private static final long SEARCH_TIME = 20000;
- private static final int CONVERT_RATE = 10;
- private static final int TUNE_STEP = 1;
- private static final String TAG = "FmRadioFunctionTest";
-
- public FmRadioActivityTest() {
- super("com.mediatek.fmradio", FmRadioActivity.class);
- }
-
- public FmRadioActivityTest(String pkg, Class<FmRadioActivity> activityClass) {
- super("com.mediatek.fmradio", FmRadioActivity.class);
- }
-
- @Override
- protected void setUp() {
- try {
- super.setUp();
- } catch (Exception e) {
- e.printStackTrace();
- }
- setActivityInitialTouchMode(false);
- mInstrumentation = this.getInstrumentation();
- assertNotNull(mInstrumentation);
- mFmRadioActivity = getActivity();
- assertNotNull(mFmRadioActivity);
- mSolo = new Solo(getInstrumentation(), mFmRadioActivity);
- mContext = mFmRadioActivity.getApplicationContext();
- mAudioManager =
- (AudioManager) mFmRadioActivity.getSystemService(mContext.AUDIO_SERVICE);
- waitForPowerupWithTimeout(TIMEOUT);
- //waitForInitedWithTimeout(TIMEOUT);
-
- mButtonDecrease = (ImageButton) mFmRadioActivity.findViewById(R.id.button_decrease);
- mButtonPrevStation = (ImageButton) mFmRadioActivity.findViewById(R.id.button_prevstation);
- mButtonNextStation = (ImageButton) mFmRadioActivity.findViewById(R.id.button_nextstation);
- mButtonIncrease = (ImageButton) mFmRadioActivity.findViewById(R.id.button_increase);
-
- mButtonAddToFavorite = (ImageButton) mFmRadioActivity
- .findViewById(R.id.button_add_to_favorite);
-
- mButtonRecord = (ImageButton) mFmRadioActivity.findViewById(R.id.btn_record);
- mButtonStop = (ImageButton) mFmRadioActivity.findViewById(R.id.btn_stop);
- mButtonPlayback = (ImageButton) mFmRadioActivity.findViewById(R.id.btn_playback);
-
- mTextViewFrequency = (TextView) mFmRadioActivity
- .findViewById(R.id.station_value);
- }
-
- // click play/stop button.
- public void testCase01_PowerUpAndPowerDown() {
- boolean isPlaying = false;
- // test FM power down
- makeFMPowerUp();
- mInstrumentation.waitForIdleSync();
- FmRadioTestCaseUtil.requestFocusGain(mAudioManager);
- mSolo.sleep(SHORT_TIME);
- checkFMStopState();
-
- // test FM power up
- mInstrumentation
- .invokeMenuActionSync(mFmRadioActivity, R.id.fm_power, 0);
- mInstrumentation.waitForIdleSync();
- mSolo.sleep(SHORT_TIME);
- checkFMPlayingState();
- }
-
- // click speaker/earphone menu item.
- public void testCase02_SwitchSpeakerAndEarphone() {
- if (!mButtonDecrease.isEnabled()) {
- makeFMPowerUp();
- }
- String earphone = mFmRadioActivity.getString(R.string.optmenu_earphone);
- String speaker = mFmRadioActivity.getString(R.string.optmenu_speaker);
- // test FM switch to speaker
- switchSpeaker();
- mSolo.sleep(EXECUTE_TIME);
- mInstrumentation
- .invokeMenuActionSync(mFmRadioActivity, R.id.fm_menu, 0);
- assertTrue(mSolo.searchText(earphone));
- mSolo.goBack();
- // test FM switch to earphone
- switchEarphone();
- mSolo.sleep(EXECUTE_TIME);
- mInstrumentation
- .invokeMenuActionSync(mFmRadioActivity, R.id.fm_menu, 0);
- assertTrue(mSolo.searchText(speaker));
- mSolo.goBack();
- }
-
- // click favorite star.
- public void testCase03_AddDeleteFavoriteChannels() {
- int station = 0;
- // test add channel as favorite
- station = FmRadioTestCaseUtil.getStationFromUI(mTextViewFrequency);
- deleteChannelFromFavorite(station);
- clickView(mButtonAddToFavorite);
- mInstrumentation.waitForIdleSync();
- mSolo.sleep(SHORT_TIME);
- assertTrue(FmRadioStation.isFavoriteStation(mFmRadioActivity, station));
-
- // test delete channel from favorite
- station = FmRadioTestCaseUtil.getStationFromUI(mTextViewFrequency);
- addChannelAsFavorite(station);
- clickView(mButtonAddToFavorite);
- mInstrumentation.waitForIdleSync();
- mSolo.sleep(SHORT_TIME);
- assertFalse(FmRadioStation.isFavoriteStation(mFmRadioActivity, station));
- }
-
- // click tune frequency.
- public void testCase04_TuneFrequency() {
- int tuneStation = 0, currentStation = 0;
- if (!mButtonDecrease.isEnabled()) {
- makeFMPowerUp();
- }
- // test decrease 0.1 MHZ
- tuneStation = FmRadioTestCaseUtil.getStationFromUI(mTextViewFrequency);
- clickView(mButtonDecrease);
- mInstrumentation.waitForIdleSync();
- tuneStation -= TUNE_STEP;
- if (tuneStation < FmRadioTestCaseUtil.LOWEST_STATION) {
- tuneStation = FmRadioTestCaseUtil.HIGHEST_STATION;
- }
- // add sleep time, because instrumentation waitForIdleSync just wait for
- // UI thread end, must wait for all hardware and database operation end
- mSolo.sleep(SHORT_TIME);
- currentStation = FmRadioStation.getCurrentStation(mFmRadioActivity);
- assertEquals(tuneStation, currentStation);
-
- // add to favorite
- testCase03_AddDeleteFavoriteChannels();
-
- // test increase 0.1 MHZ
- tuneStation = FmRadioTestCaseUtil.getStationFromUI(mTextViewFrequency);
- clickView(mButtonIncrease);
- mInstrumentation.waitForIdleSync();
- tuneStation += TUNE_STEP;
- if (tuneStation > FmRadioTestCaseUtil.HIGHEST_STATION) {
- tuneStation = FmRadioTestCaseUtil.LOWEST_STATION;
- }
- mSolo.sleep(SHORT_TIME);
- currentStation = FmRadioStation.getCurrentStation(mFmRadioActivity);
- assertEquals(tuneStation, currentStation);
- }
-
- // click tune station
- public void testCase05_SwitchChannel() {
- int oldStation = 0, stationFromUI = 0, stationFromDB = 0;
- if (!mButtonPrevStation.isEnabled()) {
- makeFMPowerUp();
- }
-
- // test seek previous station
- oldStation = FmRadioTestCaseUtil.getStationFromUI(mTextViewFrequency);
- clickView(mButtonPrevStation);
- mInstrumentation.waitForIdleSync();
- mSolo.sleep(TIMEOUT);
- stationFromUI = FmRadioTestCaseUtil
- .getStationFromUI(mTextViewFrequency);
- // check station change
- assertTrue(oldStation != stationFromUI);
-
- // test seek next station
- oldStation = FmRadioTestCaseUtil.getStationFromUI(mTextViewFrequency);
- clickView(mButtonNextStation);
- mInstrumentation.waitForIdleSync();
- mSolo.sleep(TIMEOUT);
- stationFromUI = FmRadioTestCaseUtil
- .getStationFromUI(mTextViewFrequency);
- // check station change
- assertTrue(oldStation != stationFromUI);
- }
-
- // click cancel when search channel. click back key when search channel.
- public void testCase06_CancelChannelSearch() {
- // check cancel scan when power up
- startScanWhenPowerUp();
- checkCancelScan();
- checkFMPlayingState();
-
- }
-
- // search channel and tune to one station.
- public void testCase07_SearchChannels() {
- // check scan when power up
- startScanWhenPowerUp();
- checkFinishScan();
- }
-
- // enter channel list activity
- public void testCase08_EnterChannelList() {
- Log.d(TAG, ">>> testCase08_EnterChannelList");
- if (!mButtonDecrease.isEnabled()) {
- makeFMPowerUp();
- }
- mActivityMonitor = new ActivityMonitor(
- "com.mediatek.fmradio.FmRadioFavorite", null, false);
- mInstrumentation.addMonitor(mActivityMonitor);
- mInstrumentation.invokeMenuActionSync(mFmRadioActivity,
- R.id.fm_channel_list, 0);
- mFmRadioFavorite = (FmRadioFavorite) mActivityMonitor
- .waitForActivityWithTimeout(TIMEOUT);
- assertNotNull(mFmRadioFavorite);
- mSolo.sleep(SHORT_TIME);
- Uri uri = Uri.parse(CONTENTURI);
- Cursor c = mFmRadioFavorite.getContentResolver().query(
- uri,
- new String[] { FmRadioStation.Station._ID,
- FmRadioStation.Station.COLUMN_STATION_FREQ,
- FmRadioStation.Station.COLUMN_STATION_TYPE }, null,
- null, null);
- assertTrue(c != null && c.getCount() > 0);
- Log.d(TAG, "testCase08_EnterChannelList count:" + c.getCount());
- try {
- if (c != null) {
- c.moveToFirst();
- while (!c.isAfterLast()) {
- int stationFreq = c.getInt(1);
- int stationType = c.getInt(2);
- if ((FmRadioStation.STATION_TYPE_FAVORITE == stationType)
- || (FmRadioStation.STATION_TYPE_SEARCHED == stationType)) {
- Log.d(TAG, "testCase08_EnterChannelList stationFreq:" + stationFreq
- + ", stationType:" + stationType);
- assertTrue(FmRadioTestCaseUtil.isExistInChannelList(
- mFmRadioFavorite, stationFreq));
- }
- c.moveToNext();
- }
- }
- } catch (Exception e) {
- e.printStackTrace();
- } finally {
- if (c != null) {
- c.close();
- }
- }
- mInstrumentation.sendKeyDownUpSync(KeyEvent.KEYCODE_BACK);
- Log.d(TAG, "<<< testCase08_EnterChannelList");
- }
-
- // when play fm, audio focus loss, and stop fm
- public void testCase09_CheckFocusLoss() {
- mInstrumentation.waitForIdleSync();
- makeFMPowerDown();
-
- // check when power up, music get focus, fm power down
- //mInstrumentation
- // .invokeMenuActionSync(mFmRadioActivity, R.id.fm_power, 0);
- //mInstrumentation.waitForIdleSync();
- mSolo.sleep(EXECUTE_TIME);
- //FmRadioTestCaseUtil.requestFocusGain(mAudioManager);
- //mInstrumentation.waitForIdleSync();
- checkFMStopState();
- //mSolo.sleep(SHORT_TIME);
-
- mSolo.sleep(SHORT_TIME);
- // fm is power up, check when fm is searching, focus is loss, fm power down
- startScanWhenPowerUp();
- mSolo.sleep(SHORT_TIME);
- FmRadioTestCaseUtil.requestFocusGain(mAudioManager);
- mInstrumentation.waitForIdleSync();
- mSolo.sleep(TIMEOUT);
- // check music is active, fm is power down
- checkFMStopState();
- }
-
- public void testCase10_EnterRecordingMode() {
- enterRecordingMode();
- mSolo.sleep(SHORT_TIME);
- checkRecordNotSaveIdle();
- mInstrumentation.sendKeyDownUpSync(KeyEvent.KEYCODE_BACK);
- mInstrumentation.waitForIdleSync();
- checkFMPlayingState();
- }
-
- // recording, discard, save.
- public void testCase11_RecordingAndSave() {
- enterRecordingMode();
- mSolo.sleep(SHORT_TIME);
- // judge whether enter recording mode
- checkRecordNotSaveIdle();
-
- // test recording
- clickView(mButtonRecord);
- mInstrumentation.waitForIdleSync();
- mSolo.sleep(SHORT_TIME);
- checkRecordingState();
- // make recording time have 3 seconds
- mSolo.sleep(SHORT_TIME);
- // test stop reocording and save recording file
- clickView(mButtonStop);
- mInstrumentation.waitForIdleSync();
- mSolo.sleep(SHORT_TIME);
- checkRecordingStopState();
-
- // enter some illegal characters
- mEditTextRecordName = (EditText) mSolo.getView(R.id.fm_recording_text);
- String fileName = mEditTextRecordName.getText().toString();
- mSolo.clearEditText(mEditTextRecordName);
- mSolo.enterText(mEditTextRecordName, "test:");
- mInstrumentation.waitForIdleSync();
- mSolo.sleep(SHORT_TIME);
- mButtonRecordSave = (Button) mSolo.getView(R.id.fm_recording_btn_save);
- assertFalse(mButtonRecordSave.isEnabled());
- // enter some legal characters
- mSolo.clearEditText(mEditTextRecordName);
- mSolo.enterText(mEditTextRecordName, fileName);
- mInstrumentation.waitForIdleSync();
- mSolo.sleep(SHORT_TIME);
- assertTrue(mButtonRecordSave.isEnabled());
-
- // click discard not save file
- mSolo.clickOnButton(mContext.getString(R.string.btn_discard_recording));
- mInstrumentation.waitForIdleSync();
- mSolo.sleep(SHORT_TIME);
- checkRecordNotSaveIdle();
-
- // recording and make focus at OK button of save recording dialog
- clickView(mButtonRecord);
- mInstrumentation.waitForIdleSync();
- mSolo.sleep(SHORT_TIME);
- checkRecordingState();
- // make recording time have 3 seconds
- mSolo.sleep(SHORT_TIME);
- // test stop reocording and save recording file
- clickView(mButtonStop);
- mInstrumentation.waitForIdleSync();
- mSolo.sleep(SHORT_TIME);
- checkRecordingStopState();
-
- // click OK button of save recording dialog
- mSolo.clickOnButton(mContext.getString(R.string.btn_save_recording));
- mInstrumentation.waitForIdleSync();
- mSolo.sleep(SHORT_TIME);
- checkRecordHasSavedIdle();
- mInstrumentation.sendKeyDownUpSync(KeyEvent.KEYCODE_BACK);
- mInstrumentation.waitForIdleSync();
- }
-
- // recording and playback.
- public void testCase12_RecordingAndPlayBack() {
- enterRecordingMode();
- mSolo.sleep(TIMEOUT);
- // judge whether enter recording mode
- checkRecordNotSaveIdle();
-
- // test recording
- clickView(mButtonRecord);
- mInstrumentation.waitForIdleSync();
- mSolo.sleep(SHORT_TIME);
- checkRecordingState();
- // make recording time have 3 seconds
- mSolo.sleep(SHORT_TIME);
- // test stop reocording and save recording file
- clickView(mButtonStop);
- mInstrumentation.waitForIdleSync();
- mSolo.sleep(SHORT_TIME);
- checkRecordingStopState();
-
- // click OK button of save recording dialog
- mSolo.clickOnButton(mContext.getString(R.string.btn_save_recording));
- mInstrumentation.waitForIdleSync();
- mSolo.sleep(SHORT_TIME);
- checkRecordHasSavedIdle();
-
- // test playback recording file
- clickView(mButtonPlayback);
- mInstrumentation.waitForIdleSync();
- mSolo.sleep(EXECUTE_TIME);
- checkPlayingBackState();
- mSolo.sleep(TIMEOUT);
- checkPlayingBackFinished();
- mSolo.sleep(SHORT_TIME);
-
- mInstrumentation.sendKeyDownUpSync(KeyEvent.KEYCODE_BACK);
- mInstrumentation.waitForIdleSync();
- }
-
- // test fm recreate when scan, and fm is powerup state.
- public void testCase14_relaunchFmWhenCancelScan() {
- Log.d(TAG, ">>> testCase14_relaunchFmWhenCancelScan");
- int oldStation = FmRadioTestCaseUtil.getStationFromUI(mTextViewFrequency);
- String cancel = mFmRadioActivity.getString(R.string.btn_cancel);
- // test cancel scan
- checkRelaunchWhenScan();
- // mInstrumentation.waitForIdleSync();
- mSolo.clickOnButton(cancel);
- //mInstrumentation.waitForIdleSync();
- mSolo.sleep(SHORT_TIME);
- checkFMPlayingState();
-
- int stationFromUI = FmRadioTestCaseUtil
- .getStationFromUI(mTextViewFrequency);
- // check station not change
- assertTrue(oldStation == stationFromUI);
-
- checkRelaunchWhenScan();
- checkFinishScan();
-
- }
-
- // mount, unmount sd card when recording
- /*public void testCase15_mountUnmountWhenRecording() {
- FmRadioTestCaseUtil.mountSDCard(mContext);
- mInstrumentation.waitForIdleSync();
- mSolo.sleep(WAIT_MOUNT_UNMOUNT);
- mSolo.sleep(SHORT_TIME);
- enterRecordingMode();
- mSolo.sleep(SHORT_TIME);
- checkRecordNotSaveIdle();
- String toastStartRecord = mContext.getString(R.string.toast_start_recording);
- String toastSdCardMiss = mContext.getString(R.string.toast_sdcard_missing);
- String save = mFmRadioActivity.getString(R.string.btn_save_recording);
- String discard = mFmRadioActivity.getString(R.string.btn_discard_recording);
- // unmount sd card when recording
-
- clickView(mButtonRecord);
- assertTrue(mSolo.waitForText(toastStartRecord, 0, SHORT_TIME));
- mSolo.sleep(SHORT_TIME);
- FmRadioTestCaseUtil.unmountSDCard(mContext);
- mInstrumentation.waitForIdleSync();
- mSolo.sleep(WAIT_MOUNT_UNMOUNT);
- assertFalse(mSolo.searchButton(save, true));
- checkRecordNotSaveIdle();
-
- // click record after unmount
- clickView(mButtonRecord);
- assertTrue(mSolo.waitForText(toastSdCardMiss));
- checkRecordNotSaveIdle();
-
- // check mount sd card and stop recording, popup save dialog, then unmount sd card
- FmRadioTestCaseUtil.mountSDCard(mContext);
- mInstrumentation.waitForIdleSync();
- mSolo.sleep(WAIT_MOUNT_UNMOUNT);
- clickView(mButtonRecord);
- assertTrue(mSolo.waitForText(toastStartRecord, 0, SHORT_TIME));
- mSolo.sleep(SHORT_TIME);
- clickView(mButtonStop);
- mInstrumentation.waitForIdleSync();
- assertTrue(mSolo.searchButton(save, true));
- FmRadioTestCaseUtil.unmountSDCard(mContext);
- mInstrumentation.waitForIdleSync();
- mSolo.sleep(WAIT_MOUNT_UNMOUNT);
- assertFalse(mSolo.searchButton(save, true));
-
- // mount sdcard finally
- FmRadioTestCaseUtil.mountSDCard(mContext);
- mInstrumentation.waitForIdleSync();
- mSolo.sleep(WAIT_MOUNT_UNMOUNT);
- mInstrumentation.sendKeyDownUpSync(KeyEvent.KEYCODE_BACK);
- mInstrumentation.waitForIdleSync();
- }
-
- // mount, unmount sd card when recording
- public void testCase16_mountUnmountWhenPlayback() {
- // mount sdcard first
- FmRadioTestCaseUtil.mountSDCard(mContext);
- mInstrumentation.waitForIdleSync();
- mSolo.sleep(WAIT_MOUNT_UNMOUNT);
-
- // record some and playback
- String save = mContext.getString(R.string.btn_save_recording);
- String error = mContext.getString(R.string.toast_player_internal_error);
- mSolo.sleep(SHORT_TIME);
- enterRecordingMode();
- mSolo.sleep(SHORT_TIME);
-
- clickView(mButtonRecord);
- mInstrumentation.waitForIdleSync();
- mSolo.sleep(RECORDING_FILE_TIME);
- clickView(mButtonStop);
- mInstrumentation.waitForIdleSync();
- assertTrue(mSolo.searchButton(save, true));
- mInstrumentation.waitForIdleSync();
- mSolo.sleep(SHORT_TIME);
- mSolo.clickOnButton(save);
- mSolo.sleep(SHORT_TIME);
- clickView(mButtonPlayback);
- mInstrumentation.waitForIdleSync();
- mSolo.sleep(SHORT_TIME);
-
- // unmount sd card
- FmRadioTestCaseUtil.unmountSDCard(mContext);
- mInstrumentation.waitForIdleSync();
- assertTrue(mSolo.waitForText(error, 0, WAIT_MOUNT_UNMOUNT));
- mSolo.sleep(WAIT_MOUNT_UNMOUNT);
- checkRecordNotSaveIdle();
- mSolo.sleep(SHORT_TIME);
-
- // mount sdcard finally
- FmRadioTestCaseUtil.mountSDCard(mContext);
- mInstrumentation.waitForIdleSync();
- mSolo.sleep(WAIT_MOUNT_UNMOUNT);
- }*/
-
- // check fm exit when power up state
- public void testCase17_FmExit() {
- boolean isPlaying = false;
- // test FM power down
- makeFMPowerUp();
- mInstrumentation.waitForIdleSync();
- mSolo.sleep(SHORT_TIME);
-
- // test FM power up
- mInstrumentation
- .invokeMenuActionSync(mFmRadioActivity, R.id.fm_power, 0);
- mSolo.sleep(SHORT_TIME);
- }
-
- // check fm back key when power down state
- public void testCase18_FmBackKeyExit() {
- boolean isPlaying = false;
- makeFMPowerUp();
- mInstrumentation.waitForIdleSync();
- FmRadioTestCaseUtil.requestFocusGain(mAudioManager);
- mSolo.sleep(SHORT_TIME);
- checkFMStopState();
- mSolo.goBack();
- mSolo.sleep(SHORT_TIME);
- }
-
- // check fm tune from channel list
- public void testCase19_relaunchFmTuneToStation() {
- boolean isPlaying = false;
- makeFMPowerUp();
- // add to favorite
- int station = 0;
- // test add channel as favorite
- station = FmRadioTestCaseUtil.getStationFromUI(mTextViewFrequency);
- deleteChannelFromFavorite(station);
- clickView(mButtonAddToFavorite);
- mInstrumentation.waitForIdleSync();
- mSolo.sleep(SHORT_TIME);
- assertTrue(FmRadioStation.isFavoriteStation(mFmRadioActivity, station));
-
- // test FM power up
- mInstrumentation
- .invokeMenuActionSync(mFmRadioActivity, R.id.fm_channel_list, 0);
- mSolo.sleep(SHORT_TIME);
- mInstrumentation.waitForIdleSync();
- FmRadioTestCaseUtil.requestFocusGain(mAudioManager);
- mSolo.sleep(SHORT_TIME);
-
- relaunchFm();
- mFmRadioFavorite = (FmRadioFavorite) mSolo.getCurrentActivity();
- mSolo = new Solo(mInstrumentation, mFmRadioFavorite);
- mContext = mFmRadioFavorite.getApplicationContext();
- station = FmRadioTestCaseUtil.getStationFromUI(mTextViewFrequency);
- String pStation = String.valueOf((float) station / CONVERT_RATE);
- mSolo.clickOnText(pStation);
- mInstrumentation.waitForIdleSync();
- // delete favorite
- deleteChannelFromFavorite(station);
- mSolo.sleep(SHORT_TIME);
- checkFMPlayingState();
- }
-
- // recorder. save same name recorder file
- public void testCase20_saveRecorderWithSameName() {
- enterRecordingMode();
- File sdDir = new File(FmRadioUtils.getDefaultStoragePath());
- File recordingFile = new File(sdDir.getPath() + "/FM Recording", "recorder_file.ogg");
- if (recordingFile.exists()) {
- recordingFile.delete();
- }
- mSolo.sleep(SHORT_TIME);
-
- // record some and playback
- String save = mContext.getString(R.string.btn_save_recording);
- String error = mContext.getString(R.string.toast_player_internal_error);
-
- // save recorder file
- clickView(mButtonRecord);
- mInstrumentation.waitForIdleSync();
- mSolo.sleep(SHORT_TIME);
- clickView(mButtonStop);
- mInstrumentation.waitForIdleSync();
- assertTrue(mSolo.searchButton(save, true));
- mInstrumentation.waitForIdleSync();
- EditText editText = (EditText) mSolo.getView(R.id.fm_recording_text);
- mSolo.clearEditText(editText);
- mSolo.enterText(editText, "recorder_file");
- mInstrumentation.waitForIdleSync();
- InputMethodManager inputMethodManager = (InputMethodManager) mSolo.getCurrentActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
- inputMethodManager.toggleSoftInput(0, 0);
- mSolo.clickOnButton(save);
- mSolo.sleep(SHORT_TIME);
-
- // save recorder file with same name
- clickView(mButtonRecord);
- mInstrumentation.waitForIdleSync();
- mSolo.sleep(SHORT_TIME);
- clickView(mButtonStop);
- mInstrumentation.waitForIdleSync();
- assertTrue(mSolo.searchButton(save, true));
- mInstrumentation.waitForIdleSync();
- editText = (EditText) mSolo.getView(R.id.fm_recording_text);
- mSolo.clearEditText(editText);
- mSolo.enterText(editText, "recorder_file");
- mInstrumentation.waitForIdleSync();
- InputMethodManager inputMethodManager2 = (InputMethodManager) mSolo.getCurrentActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
- inputMethodManager2.toggleSoftInput(0, 0);
- mSolo.clickOnButton(save);
-
- // check file has exist
- String hasFile = mContext.getString(R.string.already_exists);
- assertTrue(mSolo.waitForText(hasFile, 0, SHORT_TIME));
-
- // discard save record file
- String discard = mFmRadioActivity.getString(R.string.btn_discard_recording);
- mSolo.clickOnButton(discard);
- mInstrumentation.waitForIdleSync();
-// File sdDir = new File(FmRadioUtils.getInternalStoragePath());
-// File recordingFile = new File(sdDir.getPath() + "/FM Recording", "recorder_file");
- if (recordingFile.exists()) {
- recordingFile.delete();
- }
-
- checkRecordNotSaveIdle();
- }
-
- // check scan dialog, and fm is powerup sate when recreate
- private void checkRelaunchWhenScan() {
- Log.d(TAG, ">>> checkRelaunchWhenScan");
- startScanWhenPowerUp();
- //mSolo.sleep(ONE_SECOND);
- String cancel = mFmRadioActivity.getString(R.string.btn_cancel);
- boolean isVisible = mSolo.searchButton(cancel, true);
- assertTrue(isVisible);
-
- //relaunch after start scan
- relaunchFm();
- //mInstrumentation.waitForIdleSync();
- mSolo.sleep(ONE_SECOND);
- Log.d(TAG, "current activity:" + mSolo.getCurrentActivity().getComponentName());
- initialRel();
- mSolo.sleep(ONE_SECOND);
- //check dialog is shown after relaunch
- isVisible = mSolo.searchButton(cancel, true);
- assertTrue(isVisible);
- Log.d(TAG, "<<< checkRelaunchWhenScan");
- }
-
- private void relaunchFm() {
- mSolo.getCurrentActivity().runOnUiThread(new Runnable() {
-
- @Override
- public void run() {
- Log.d(TAG, "sub thread relaunchFm start");
- mSolo.getCurrentActivity().recreate();
- Log.d(TAG, "sub thread relaunchFm end");
- }
- });
- }
-
- private void enterRecordingMode() {
- if (!mButtonDecrease.isEnabled()) {
- makeFMPowerUp();
- }
- mInstrumentation
- .invokeMenuActionSync(mFmRadioActivity, R.id.fm_menu, 0);
- mSolo.sleep(EXECUTE_TIME);
- String record = mFmRadioActivity.getString(R.string.optmenu_record);
- mSolo.clickOnText(record);
- mInstrumentation.waitForIdleSync();
- }
-
- // check ui and state when no recording file saved.
- public void checkRecordNotSaveIdle() {
- assertTrue(mButtonRecord.isEnabled());
- assertFalse(mButtonPlayback.isEnabled());
- assertFalse(mButtonStop.isEnabled());
- assertTrue(mButtonAddToFavorite.getVisibility() == View.GONE);
- }
-
- // check ui and state while recording.
- public void checkRecordingState() {
- assertFalse(mButtonRecord.isEnabled());
- assertFalse(mButtonPlayback.isEnabled());
- assertTrue(mButtonStop.isEnabled());
- assertTrue(mButtonAddToFavorite.getVisibility() == View.GONE);
- }
-
- // check ui and state when recording stop
- public void checkRecordingStopState() {
- mButtonRecordSave = (Button) mSolo.getView(R.id.fm_recording_btn_save);
- assertTrue(mButtonRecordSave.isEnabled());
- assertTrue(mButtonAddToFavorite.getVisibility() == View.GONE);
- }
-
- // check ui and state when save an recording file.
- public void checkRecordHasSavedIdle() {
- assertTrue(mButtonRecord.isEnabled());
- assertTrue(mButtonPlayback.isEnabled());
- assertFalse(mButtonStop.isEnabled());
- assertTrue(mButtonAddToFavorite.getVisibility() == View.GONE);
- }
-
- // check ui and state while playing back an recordfing file.
- public void checkPlayingBackState() {
- assertFalse(mButtonRecord.isEnabled());
- assertFalse(mButtonPlayback.isEnabled());
- assertTrue(mButtonStop.isEnabled());
- assertTrue(mButtonAddToFavorite.getVisibility() == View.GONE);
- }
-
- // check ui and state when play back an recording file finish.
- public void checkPlayingBackFinished() {
- assertTrue(mButtonRecord.isEnabled());
- assertTrue(mButtonPlayback.isEnabled());
- assertFalse(mButtonStop.isEnabled());
- assertTrue(mButtonAddToFavorite.getVisibility() == View.GONE);
- }
-
- // check state, if cancel scan
- public void checkCancelScan() {
- mSolo.sleep(SHORT_TIME);
- String cancel = mFmRadioActivity.getString(R.string.btn_cancel);
- mSolo.clickOnText(cancel);
- mInstrumentation.waitForIdleSync();
- int currentStation = (Integer) FmRadioTestCaseUtil
- .getVariableFromActivity(mFmRadioActivity, "mCurrentStation");
- assertEquals(currentStation,
- FmRadioTestCaseUtil.getStationFromUI(mTextViewFrequency));
- mSolo.sleep(SHORT_TIME);
- }
-
- // check state, if finish scan
- public void checkFinishScan() {
- Log.d(TAG, ">>> checkFinishScan");
- //mInstrumentation.waitForIdleSync();
- mActivityMonitor = mInstrumentation.addMonitor(
- FmRadioFavorite.class.getName(), null, false);
- Log.d(TAG, "current activity:" + mSolo.getCurrentActivity().getComponentName());
- mFmRadioFavorite = (FmRadioFavorite) mInstrumentation
- .waitForMonitorWithTimeout(mActivityMonitor, SEARCH_TIME);
- mSolo.sleep(SHORT_TIME);
- Log.d(TAG, "mFmRadioFavorite is " + mFmRadioFavorite);
- assertNotNull(mFmRadioFavorite);
-
- // test data in database.
- Uri uri = Uri.parse(CONTENTURI);
- Cursor c = mFmRadioFavorite.getContentResolver().query(
- uri,
- new String[] { FmRadioStation.Station._ID,
- FmRadioStation.Station.COLUMN_STATION_FREQ,
- FmRadioStation.Station.COLUMN_STATION_TYPE }, null,
- null, null);
- assertTrue(c != null && c.getCount() > 0);
- int stationFreq = 0;
- int stationType = 0;
- if (c != null) {
- c.moveToFirst();
- while (!c.isAfterLast()) {
- stationFreq = c.getInt(1);
- stationType = c.getInt(2);
- Log.d(TAG, "station =" + stationFreq);
- if (FmRadioStation.STATION_TYPE_SEARCHED == stationType) {
- assertTrue(FmRadioTestCaseUtil.isExistInChannelList(
- mFmRadioFavorite, stationFreq));
- }
- c.moveToNext();
- }
- }
- if (c != null) {
- c.close();
- }
-
- // click the last station in listview to play.
- String pStation = String.valueOf((float) stationFreq / CONVERT_RATE);
- mSolo.clickOnText(pStation);
- mInstrumentation.waitForIdleSync();
- mSolo.sleep(SHORT_TIME);
- assertEquals(stationFreq,
- FmRadioTestCaseUtil.getStationFromUI(mTextViewFrequency));
-
- checkFMPlayingState();
- }
-
- private void switchEarphone() {
- if (!mButtonDecrease.isEnabled()) {
- makeFMPowerUp();
- }
- mInstrumentation
- .invokeMenuActionSync(mFmRadioActivity, R.id.fm_menu, 0);
- String earphone = mFmRadioActivity.getString(R.string.optmenu_earphone);
- mSolo.clickOnText(earphone);
- mInstrumentation.waitForIdleSync();
- }
-
- private void switchSpeaker() {
- if (!mButtonDecrease.isEnabled()) {
- makeFMPowerUp();
- }
- mInstrumentation
- .invokeMenuActionSync(mFmRadioActivity, R.id.fm_menu, 0);
- String speaker = mFmRadioActivity.getString(R.string.optmenu_speaker);
- mSolo.clickOnText(speaker);
- mInstrumentation.waitForIdleSync();
- }
-
- private void deleteChannelFromFavorite(int station) {
- if (FmRadioStation.isFavoriteStation(mFmRadioActivity, station)) {
- clickView(mButtonAddToFavorite);
- mInstrumentation.waitForIdleSync();
- mSolo.sleep(SHORT_TIME);
- }
- }
-
- private void addChannelAsFavorite(int station) {
- if (!FmRadioStation.isFavoriteStation(mFmRadioActivity, station)) {
- clickView(mButtonAddToFavorite);
- mInstrumentation.waitForIdleSync();
- mSolo.sleep(SHORT_TIME);
- }
-
- }
-
- private void makeFMPowerUp() {
- boolean isPlaying = false;
- isPlaying = (Boolean) FmRadioTestCaseUtil.getVariableFromActivity(
- mFmRadioActivity, "mIsPlaying");
- if (!isPlaying) {
- mInstrumentation
- .invokeMenuActionSync(mFmRadioActivity, R.id.fm_power, 0);
- }
- //mInstrumentation.waitForIdleSync();
- mSolo.sleep(TIMEOUT);
- }
-
- private void makeFMPowerDown() {
- boolean isPlaying = true;
- isPlaying = (Boolean) FmRadioTestCaseUtil.getVariableFromActivity(
- mFmRadioActivity, "mIsPlaying");
- if (isPlaying) {
- FmRadioTestCaseUtil.requestFocusGain(mAudioManager);
- }
- mInstrumentation.waitForIdleSync();
- mSolo.sleep(SHORT_TIME);
- }
-
- private void clickView(final View view) {
- try {
- runTestOnUiThread(new Runnable() {
- @Override
- public void run() {
- view.performClick();
- }
- });
- } catch (Throwable t) {
- t.printStackTrace();
- }
- }
-
- private void waitForInitedWithTimeout(long timeOut) {
- long startTime = System.currentTimeMillis();
- boolean isInited = (Boolean) FmRadioTestCaseUtil
- .getVariableFromMethod(mFmRadioActivity, "isServiceInited");
- while (!isInited) {
- if (System.currentTimeMillis() - startTime > timeOut) {
- break;
- }
- mSolo.sleep(CHECK_TIME);
- }
- }
-
- private void waitForPowerupWithTimeout(long timeOut) {
-
- long startTime = System.currentTimeMillis();
- boolean isPlaying = (Boolean) FmRadioTestCaseUtil
- .getVariableFromActivity(mFmRadioActivity, "mIsPlaying");
- while (!isPlaying) {
- if (System.currentTimeMillis() - startTime > timeOut) {
- break;
- }
- mSolo.sleep(CHECK_TIME);
- }
- }
-
- // start scan when power up state
- private void startScanWhenPowerUp() {
- if (!mButtonDecrease.isEnabled()) {
- makeFMPowerUp();
- }
- mInstrumentation
- .invokeMenuActionSync(mFmRadioActivity, R.id.fm_menu, 0);
- mInstrumentation.waitForIdleSync();
- mSolo.sleep(ONE_SECOND);
- String search = mFmRadioActivity.getString(R.string.optmenu_search);
- mSolo.clickOnText(search);
- }
-
- // check play FM layout button enable
- public void checkFMPlayingState() {
- assertTrue(mButtonDecrease.isEnabled());
- assertTrue(mButtonIncrease.isEnabled());
- assertTrue(mButtonNextStation.isEnabled());
- assertTrue(mButtonPrevStation.isEnabled());
-
- }
-
- // check play FM layout button enable
- public void checkFMStopState() {
- assertFalse(mButtonDecrease.isEnabled());
- assertFalse(mButtonPrevStation.isEnabled());
- assertFalse(mButtonNextStation.isEnabled());
- assertFalse(mButtonIncrease.isEnabled());
- }
-
- public void initialRel() {
- mFmRadioActivity = (FmRadioActivity) mSolo.getCurrentActivity();
- mSolo = new Solo(mInstrumentation, mFmRadioActivity);
- mContext = mFmRadioActivity.getApplicationContext();
- assertNotNull(mFmRadioActivity);
- mButtonPrevStation = (ImageButton) mFmRadioActivity.findViewById(R.id.button_prevstation);
- mButtonNextStation = (ImageButton) mFmRadioActivity.findViewById(R.id.button_nextstation);
- mButtonDecrease = (ImageButton) mFmRadioActivity.findViewById(R.id.button_decrease);
- mButtonIncrease = (ImageButton) mFmRadioActivity.findViewById(R.id.button_increase);
-
- mButtonAddToFavorite = (ImageButton) mFmRadioActivity
- .findViewById(R.id.button_add_to_favorite);
-
- mTextViewFrequency = (TextView) mFmRadioActivity
- .findViewById(R.id.station_value);
- }
-
- @Override
- protected void tearDown() {
- mSolo.finishOpenedActivities();
- mInstrumentation.waitForIdleSync();
- FmRadioTestCaseUtil.sleep(WAIT_TEAR_DOWN);
- try {
- mSolo.finalize();
- } catch (Throwable t) {
- t.printStackTrace();
- }
- try {
- super.tearDown();
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
-}
diff --git a/MediaTek/FmRadio/tests/src/com/mediatek/fmradio/tests/FmRadioFavoriteTest.java b/MediaTek/FmRadio/tests/src/com/mediatek/fmradio/tests/FmRadioFavoriteTest.java
deleted file mode 100755
index 841a727..0000000
--- a/MediaTek/FmRadio/tests/src/com/mediatek/fmradio/tests/FmRadioFavoriteTest.java
+++ /dev/null
@@ -1,261 +0,0 @@
-/* Copyright Statement:
- *
- * This software/firmware and related documentation ("MediaTek Software") are
- * protected under relevant copyright laws. The information contained herein is
- * confidential and proprietary to MediaTek Inc. and/or its licensors. Without
- * the prior written permission of MediaTek inc. and/or its licensors, any
- * reproduction, modification, use or disclosure of MediaTek Software, and
- * information contained herein, in whole or in part, shall be strictly
- * prohibited.
- *
- * MediaTek Inc. (C) 2010. All rights reserved.
- *
- * BY OPENING THIS FILE, RECEIVER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
- * THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
- * RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO RECEIVER
- * ON AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL
- * WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR
- * NONINFRINGEMENT. NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH
- * RESPECT TO THE SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY,
- * INCORPORATED IN, OR SUPPLIED WITH THE MEDIATEK SOFTWARE, AND RECEIVER AGREES
- * TO LOOK ONLY TO SUCH THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO.
- * RECEIVER EXPRESSLY ACKNOWLEDGES THAT IT IS RECEIVER'S SOLE RESPONSIBILITY TO
- * OBTAIN FROM ANY THIRD PARTY ALL PROPER LICENSES CONTAINED IN MEDIATEK
- * SOFTWARE. MEDIATEK SHALL ALSO NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE
- * RELEASES MADE TO RECEIVER'S SPECIFICATION OR TO CONFORM TO A PARTICULAR
- * STANDARD OR OPEN FORUM. RECEIVER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S
- * ENTIRE AND CUMULATIVE LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE
- * RELEASED HEREUNDER WILL BE, AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE
- * MEDIATEK SOFTWARE AT ISSUE, OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE
- * CHARGE PAID BY RECEIVER TO MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
- *
- * The following software/firmware and/or related documentation ("MediaTek
- * Software") have been modified by MediaTek Inc. All revisions are subject to
- * any receiver's applicable license agreements with MediaTek Inc.
- */
-
-package com.mediatek.fmradio.tests;
-import android.app.Instrumentation;
-import android.test.ActivityInstrumentationTestCase2;
-import android.view.View;
-import android.view.inputmethod.InputMethodManager;
-import android.widget.EditText;
-import android.widget.ListAdapter;
-import android.widget.ListView;
-import android.widget.TextView;
-import android.content.Context;
-
-import com.jayway.android.robotium.solo.Solo;
-import com.mediatek.fmradio.FmRadioActivity;
-import com.mediatek.fmradio.FmRadioFavorite;
-import com.mediatek.fmradio.FmRadioStation;
-import com.mediatek.fmradio.R;
-
-
-public class FmRadioFavoriteTest extends
- ActivityInstrumentationTestCase2<FmRadioFavorite> {
- private Solo mSolo = null;
- private TextView mTextViewFrequency = null;
- private FmRadioFavorite mFmRadioFavorite = null;
- private FmRadioActivity mFmRadioActivity = null;
- private Context mContext = null;
- private Instrumentation mInstrumentation = null;
- private static final int CONVERT_RATE = 10;
- private static final long SLEEP_TIME = 2000;
-
- public FmRadioFavoriteTest() {
- super("com.mediatek.fmradio", FmRadioFavorite.class);
- }
- @Override
- protected void setUp() throws Exception {
- super.setUp();
- mSolo = new Solo(getInstrumentation(), getActivity());
- mInstrumentation = getInstrumentation();
- mFmRadioFavorite = (FmRadioFavorite) getActivity();
- mContext = mFmRadioFavorite.getApplicationContext();
- }
- public void testCase01_AddToFavorite() {
- boolean find = false;
- float frequency = 0;
- int stationInList = 0;
- ListView listView = (ListView) mFmRadioFavorite.findViewById(R.id.station_list);
- FmRadioTestCaseUtil.sleep(SLEEP_TIME);
- assertTrue((listView != null) && (listView.getCount() > 0));
- ListAdapter listAdapter = listView.getAdapter();
- for (int i = 0; i < listView.getCount(); i++) {
- View view = listAdapter.getView(i, null, listView);
- TextView textView = (TextView) view.findViewById(R.id.lv_station_freq);
- String frequencyStr = textView.getText().toString();
- try {
- frequency = Float.parseFloat(frequencyStr);
- } catch (NumberFormatException e) {
- e.printStackTrace();
- }
- stationInList = (int) (frequency * CONVERT_RATE);
- if (!FmRadioStation.isFavoriteStation(mFmRadioFavorite, stationInList)) {
- mSolo.clickLongOnText(frequencyStr);
- mSolo.clickOnText(FmRadioTestCaseUtil.getProjectString(mContext, R.string.add_to_favorite1, R.string.add_to_favorite));
- mInstrumentation.waitForIdleSync();
- InputMethodManager inputMethodManager = (InputMethodManager) mSolo.getCurrentActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
- inputMethodManager.toggleSoftInput(0, 0);
- mSolo.clickOnButton(mContext.getString(R.string.btn_ok));
- mInstrumentation.waitForIdleSync();
- sleep(SLEEP_TIME);
- assertTrue(FmRadioStation.isFavoriteStation(mFmRadioFavorite, stationInList));
- return ;
- }
- }
-
- }
- public void testCase02_EditFavoriteChannel() {
- boolean find = false;
- float frequency = 0;
- int stationInList = 0;
- ListView listView = (ListView) mFmRadioFavorite.findViewById(R.id.station_list);
- FmRadioTestCaseUtil.sleep(SLEEP_TIME);
- assertTrue((listView != null) && (listView.getCount() > 0));
- ListAdapter listAdapter = listView.getAdapter();
- for (int i = 0; i < listView.getCount(); i++) {
- View view = listAdapter.getView(i, null, listView);
- TextView textView = (TextView) view.findViewById(R.id.lv_station_freq);
- String frequencyStr = textView.getText().toString();
- try {
- frequency = Float.parseFloat(frequencyStr);
- } catch (NumberFormatException e) {
- e.printStackTrace();
- }
- stationInList = (int) (frequency * CONVERT_RATE);
- if (FmRadioStation.isFavoriteStation(mFmRadioFavorite, stationInList)) {
- mSolo.clickLongOnText(frequencyStr);
- mSolo.clickOnText(mContext.getString(R.string.contmenu_item_edit));
- EditText editText = (EditText) mSolo.getView(R.id.dlg_edit_station_name_text);
- mSolo.clearEditText(editText);
- mSolo.enterText(editText, "aaa");
- mInstrumentation.waitForIdleSync();
- InputMethodManager inputMethodManager = (InputMethodManager) mSolo.getCurrentActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
- inputMethodManager.toggleSoftInput(0, 0);
- mSolo.clickOnButton(mContext.getString(R.string.edit_frequency_overwrite_text));
- mInstrumentation.waitForIdleSync();
- sleep(SLEEP_TIME);
- assertEquals("aaa", FmRadioStation.getStationName(mFmRadioFavorite, stationInList, FmRadioStation.STATION_TYPE_FAVORITE));
- return ;
- }
- }
- }
- public void testCase03_DeleteFromFavorite() throws Throwable {
- boolean find = false;
- float frequency = 0;
- int stationInList = 0;
- final ListView listView = (ListView) mFmRadioFavorite.findViewById(R.id.station_list);
- FmRadioTestCaseUtil.sleep(SLEEP_TIME);
- assertTrue((listView != null) && (listView.getCount() > 0));
- ListAdapter listAdapter = listView.getAdapter();
- for (int i = 0; i < listView.getCount(); i++) {
- View view = listAdapter.getView(i, null, listView);
- TextView textView = (TextView) view.findViewById(R.id.lv_station_freq);
- String frequencyStr = textView.getText().toString();
- try {
- frequency = Float.parseFloat(frequencyStr);
- } catch (NumberFormatException e) {
- e.printStackTrace();
- }
- stationInList = (int) (frequency * CONVERT_RATE);
- if (FmRadioStation.isFavoriteStation(mFmRadioFavorite, stationInList)) {
- runTestOnUiThread(new Runnable() {
- @Override
- public void run() {
- listView.setSelection(0);
- }
- });
- mSolo.sleep(3000);
- mSolo.clickLongOnText(frequencyStr);
- mSolo.clickOnText(FmRadioTestCaseUtil.getProjectString(mContext, R.string.contmenu_item_delete1, R.string.contmenu_item_delete));
- mInstrumentation.waitForIdleSync();
- mSolo.clickOnButton(mContext.getString(R.string.btn_ok));
- mInstrumentation.waitForIdleSync();
- sleep(SLEEP_TIME);
- assertFalse(FmRadioStation.isFavoriteStation(mFmRadioFavorite, stationInList));
- return ;
- }
- }
- }
-
- // edit a favorite to a favorite frequency
- public void testCase04_EditFavoriteToFavorite() throws Throwable {
- boolean find = false;
- float frequency = 0;
- int stationInList = 0;
- String preFavoritaFreq = "";
- ListView listView = (ListView) mFmRadioFavorite.findViewById(R.id.station_list);
- FmRadioTestCaseUtil.sleep(SLEEP_TIME);
- assertTrue((listView != null) && (listView.getCount() > 0));
- ListAdapter listAdapter = listView.getAdapter();
- int count = listView.getCount();
- for (int i = 0; i < count; i++) {
- int favoriateCount = 0;
- View view = listAdapter.getView(i, null, listView);
- TextView textView = (TextView) view.findViewById(R.id.lv_station_freq);
- String frequencyStr = textView.getText().toString();
- try {
- frequency = Float.parseFloat(frequencyStr);
- } catch (NumberFormatException e) {
- e.printStackTrace();
- }
- stationInList = (int) (frequency * CONVERT_RATE);
- if (FmRadioStation.isFavoriteStation(mFmRadioFavorite, stationInList)) {
- favoriateCount += 1;
- preFavoritaFreq = frequencyStr;
- }
- // add to favoriate
- if (!FmRadioStation.isFavoriteStation(mFmRadioFavorite, stationInList)) {
- mSolo.clickLongOnText(frequencyStr);
- mSolo.clickOnText(FmRadioTestCaseUtil.getProjectString(mContext, R.string.add_to_favorite1, R.string.add_to_favorite));
- mInstrumentation.waitForIdleSync();
- InputMethodManager inputMethodManager = (InputMethodManager) mSolo.getCurrentActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
- inputMethodManager.toggleSoftInput(0, 0);
- mSolo.clickOnButton(mContext.getString(R.string.btn_ok));
- mInstrumentation.waitForIdleSync();
- sleep(SLEEP_TIME);
- assertTrue(FmRadioStation.isFavoriteStation(mFmRadioFavorite, stationInList));
- // edit favoriate to exist favorite
- if (favoriateCount > 0) {
- mSolo.clickLongOnText(frequencyStr);
- mSolo.clickOnText(mContext.getString(R.string.contmenu_item_edit));
- EditText editText = (EditText) mSolo.getView(R.id.dlg_edit_station_name_text);
- mSolo.clearEditText(editText);
- mSolo.enterText(editText, preFavoritaFreq);
- mInstrumentation.waitForIdleSync();
- InputMethodManager inputMethodManager2 = (InputMethodManager) mSolo.getCurrentActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
- inputMethodManager2.toggleSoftInput(0, 0);
- mSolo.clickOnButton(mContext.getString(R.string.btn_ok));
- mInstrumentation.waitForIdleSync();
- sleep(SLEEP_TIME);
- assertEquals(preFavoritaFreq, FmRadioStation.getStationName(mFmRadioFavorite, stationInList, FmRadioStation.STATION_TYPE_FAVORITE));
- break;
- }
- }
- }
- testCase03_DeleteFromFavorite();
- }
-
- private void sleep(long milliseconds) {
- try {
- Thread.sleep(milliseconds);
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- }
-
- @Override
- protected void tearDown() throws Exception {
- FmRadioTestCaseUtil.sleep(SLEEP_TIME);
- try {
- mSolo.finalize();
- } catch (Throwable t) {
- t.printStackTrace();
- }
- super.tearDown();
- }
-
-}
diff --git a/MediaTek/FmRadio/tests/src/com/mediatek/fmradio/tests/FmRadioFunctionRunner.java b/MediaTek/FmRadio/tests/src/com/mediatek/fmradio/tests/FmRadioFunctionRunner.java
deleted file mode 100755
index 7658b2f..0000000
--- a/MediaTek/FmRadio/tests/src/com/mediatek/fmradio/tests/FmRadioFunctionRunner.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/* Copyright Statement:
- *
- * This software/firmware and related documentation ("MediaTek Software") are
- * protected under relevant copyright laws. The information contained herein is
- * confidential and proprietary to MediaTek Inc. and/or its licensors. Without
- * the prior written permission of MediaTek inc. and/or its licensors, any
- * reproduction, modification, use or disclosure of MediaTek Software, and
- * information contained herein, in whole or in part, shall be strictly
- * prohibited.
- *
- * MediaTek Inc. (C) 2010. All rights reserved.
- *
- * BY OPENING THIS FILE, RECEIVER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
- * THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
- * RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO RECEIVER
- * ON AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL
- * WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR
- * NONINFRINGEMENT. NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH
- * RESPECT TO THE SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY,
- * INCORPORATED IN, OR SUPPLIED WITH THE MEDIATEK SOFTWARE, AND RECEIVER AGREES
- * TO LOOK ONLY TO SUCH THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO.
- * RECEIVER EXPRESSLY ACKNOWLEDGES THAT IT IS RECEIVER'S SOLE RESPONSIBILITY TO
- * OBTAIN FROM ANY THIRD PARTY ALL PROPER LICENSES CONTAINED IN MEDIATEK
- * SOFTWARE. MEDIATEK SHALL ALSO NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE
- * RELEASES MADE TO RECEIVER'S SPECIFICATION OR TO CONFORM TO A PARTICULAR
- * STANDARD OR OPEN FORUM. RECEIVER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S
- * ENTIRE AND CUMULATIVE LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE
- * RELEASED HEREUNDER WILL BE, AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE
- * MEDIATEK SOFTWARE AT ISSUE, OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE
- * CHARGE PAID BY RECEIVER TO MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
- *
- * The following software/firmware and/or related documentation ("MediaTek
- * Software") have been modified by MediaTek Inc. All revisions are subject to
- * any receiver's applicable license agreements with MediaTek Inc.
- */
-
-package com.mediatek.fmradio.tests;
-
-import junit.framework.TestSuite;
-
-import android.test.InstrumentationTestRunner;
-import android.test.InstrumentationTestSuite;
-
-public class FmRadioFunctionRunner extends InstrumentationTestRunner {
- @Override
- public TestSuite getAllTests() {
- InstrumentationTestSuite suite = new InstrumentationTestSuite(this);
- suite.addTestSuite(FmRadioActivityTest.class);
- suite.addTestSuite(FmRadioFavoriteTest.class);
- return suite;
- }
-
- @Override
- public ClassLoader getLoader() {
- return FmRadioFunctionRunner.class.getClassLoader();
- }
-
-}
diff --git a/MediaTek/FmRadio/tests/src/com/mediatek/fmradio/tests/FmRadioLaunchPerformance.java b/MediaTek/FmRadio/tests/src/com/mediatek/fmradio/tests/FmRadioLaunchPerformance.java
deleted file mode 100755
index 828690c..0000000
--- a/MediaTek/FmRadio/tests/src/com/mediatek/fmradio/tests/FmRadioLaunchPerformance.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/* Copyright Statement:
- *
- * This software/firmware and related documentation ("MediaTek Software") are
- * protected under relevant copyright laws. The information contained herein is
- * confidential and proprietary to MediaTek Inc. and/or its licensors. Without
- * the prior written permission of MediaTek inc. and/or its licensors, any
- * reproduction, modification, use or disclosure of MediaTek Software, and
- * information contained herein, in whole or in part, shall be strictly
- * prohibited.
- *
- * MediaTek Inc. (C) 2010. All rights reserved.
- *
- * BY OPENING THIS FILE, RECEIVER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
- * THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
- * RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO RECEIVER
- * ON AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL
- * WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR
- * NONINFRINGEMENT. NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH
- * RESPECT TO THE SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY,
- * INCORPORATED IN, OR SUPPLIED WITH THE MEDIATEK SOFTWARE, AND RECEIVER AGREES
- * TO LOOK ONLY TO SUCH THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO.
- * RECEIVER EXPRESSLY ACKNOWLEDGES THAT IT IS RECEIVER'S SOLE RESPONSIBILITY TO
- * OBTAIN FROM ANY THIRD PARTY ALL PROPER LICENSES CONTAINED IN MEDIATEK
- * SOFTWARE. MEDIATEK SHALL ALSO NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE
- * RELEASES MADE TO RECEIVER'S SPECIFICATION OR TO CONFORM TO A PARTICULAR
- * STANDARD OR OPEN FORUM. RECEIVER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S
- * ENTIRE AND CUMULATIVE LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE
- * RELEASED HEREUNDER WILL BE, AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE
- * MEDIATEK SOFTWARE AT ISSUE, OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE
- * CHARGE PAID BY RECEIVER TO MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
- *
- * The following software/firmware and/or related documentation ("MediaTek
- * Software") have been modified by MediaTek Inc. All revisions are subject to
- * any receiver's applicable license agreements with MediaTek Inc.
- */
-
-package com.mediatek.fmradio.tests;
-
-import android.app.Activity;
-import android.os.Bundle;
-import android.test.LaunchPerformanceBase;
-
-public class FmRadioLaunchPerformance extends LaunchPerformanceBase {
- @Override
- public void onCreate(Bundle arguments) {
- super.onCreate(arguments);
- mIntent.setClassName(getTargetContext(),
- "com.mediatek.fmradio.FmRadioActivity");
- start();
- }
-
- @Override
- public void onStart() {
- super.onStart();
- LaunchApp();
- finish(Activity.RESULT_OK, mResults);
- }
-} \ No newline at end of file
diff --git a/MediaTek/FmRadio/tests/src/com/mediatek/fmradio/tests/FmRadioPerformanceRunner.java b/MediaTek/FmRadio/tests/src/com/mediatek/fmradio/tests/FmRadioPerformanceRunner.java
deleted file mode 100755
index ad25cd4..0000000
--- a/MediaTek/FmRadio/tests/src/com/mediatek/fmradio/tests/FmRadioPerformanceRunner.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/* Copyright Statement:
- *
- * This software/firmware and related documentation ("MediaTek Software") are
- * protected under relevant copyright laws. The information contained herein is
- * confidential and proprietary to MediaTek Inc. and/or its licensors. Without
- * the prior written permission of MediaTek inc. and/or its licensors, any
- * reproduction, modification, use or disclosure of MediaTek Software, and
- * information contained herein, in whole or in part, shall be strictly
- * prohibited.
- *
- * MediaTek Inc. (C) 2010. All rights reserved.
- *
- * BY OPENING THIS FILE, RECEIVER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
- * THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
- * RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO RECEIVER
- * ON AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL
- * WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR
- * NONINFRINGEMENT. NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH
- * RESPECT TO THE SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY,
- * INCORPORATED IN, OR SUPPLIED WITH THE MEDIATEK SOFTWARE, AND RECEIVER AGREES
- * TO LOOK ONLY TO SUCH THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO.
- * RECEIVER EXPRESSLY ACKNOWLEDGES THAT IT IS RECEIVER'S SOLE RESPONSIBILITY TO
- * OBTAIN FROM ANY THIRD PARTY ALL PROPER LICENSES CONTAINED IN MEDIATEK
- * SOFTWARE. MEDIATEK SHALL ALSO NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE
- * RELEASES MADE TO RECEIVER'S SPECIFICATION OR TO CONFORM TO A PARTICULAR
- * STANDARD OR OPEN FORUM. RECEIVER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S
- * ENTIRE AND CUMULATIVE LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE
- * RELEASED HEREUNDER WILL BE, AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE
- * MEDIATEK SOFTWARE AT ISSUE, OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE
- * CHARGE PAID BY RECEIVER TO MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
- *
- * The following software/firmware and/or related documentation ("MediaTek
- * Software") have been modified by MediaTek Inc. All revisions are subject to
- * any receiver's applicable license agreements with MediaTek Inc.
- */
-
-package com.mediatek.fmradio.tests;
-
-import junit.framework.TestSuite;
-import android.test.InstrumentationTestRunner;
-import android.test.InstrumentationTestSuite;
-
-public class FmRadioPerformanceRunner extends InstrumentationTestRunner {
- @Override
- public TestSuite getAllTests() {
- InstrumentationTestSuite suite = new InstrumentationTestSuite(this);
- suite.addTestSuite(FmRadioPerformanceTest.class);
- return suite;
- }
-
- @Override
- public ClassLoader getLoader() {
- return FmRadioPerformanceRunner.class.getClassLoader();
- }
-
-}
diff --git a/MediaTek/FmRadio/tests/src/com/mediatek/fmradio/tests/FmRadioPerformanceTest.java b/MediaTek/FmRadio/tests/src/com/mediatek/fmradio/tests/FmRadioPerformanceTest.java
deleted file mode 100755
index 7bc3bf0..0000000
--- a/MediaTek/FmRadio/tests/src/com/mediatek/fmradio/tests/FmRadioPerformanceTest.java
+++ /dev/null
@@ -1,554 +0,0 @@
-/* Copyright Statement:
- *
- * This software/firmware and related documentation ("MediaTek Software") are
- * protected under relevant copyright laws. The information contained herein is
- * confidential and proprietary to MediaTek Inc. and/or its licensors. Without
- * the prior written permission of MediaTek inc. and/or its licensors, any
- * reproduction, modification, use or disclosure of MediaTek Software, and
- * information contained herein, in whole or in part, shall be strictly
- * prohibited.
- *
- * MediaTek Inc. (C) 2010. All rights reserved.
- *
- * BY OPENING THIS FILE, RECEIVER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
- * THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
- * RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO RECEIVER
- * ON AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL
- * WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR
- * NONINFRINGEMENT. NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH
- * RESPECT TO THE SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY,
- * INCORPORATED IN, OR SUPPLIED WITH THE MEDIATEK SOFTWARE, AND RECEIVER AGREES
- * TO LOOK ONLY TO SUCH THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO.
- * RECEIVER EXPRESSLY ACKNOWLEDGES THAT IT IS RECEIVER'S SOLE RESPONSIBILITY TO
- * OBTAIN FROM ANY THIRD PARTY ALL PROPER LICENSES CONTAINED IN MEDIATEK
- * SOFTWARE. MEDIATEK SHALL ALSO NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE
- * RELEASES MADE TO RECEIVER'S SPECIFICATION OR TO CONFORM TO A PARTICULAR
- * STANDARD OR OPEN FORUM. RECEIVER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S
- * ENTIRE AND CUMULATIVE LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE
- * RELEASED HEREUNDER WILL BE, AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE
- * MEDIATEK SOFTWARE AT ISSUE, OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE
- * CHARGE PAID BY RECEIVER TO MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
- *
- * The following software/firmware and/or related documentation ("MediaTek
- * Software") have been modified by MediaTek Inc. All revisions are subject to
- * any receiver's applicable license agreements with MediaTek Inc.
- */
-
-package com.mediatek.fmradio.tests;
-
-import java.lang.reflect.Field;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-
-import android.app.Activity;
-import android.app.Instrumentation;
-import android.content.Context;
-import android.media.AudioManager;
-import android.test.ActivityInstrumentationTestCase2;
-import android.util.Log;
-import android.view.KeyEvent;
-import android.view.View;
-import android.view.inputmethod.InputMethodManager;
-import android.widget.EditText;
-import android.widget.ImageButton;
-import android.widget.ListAdapter;
-import android.widget.TextView;
-import android.widget.ListView;
-import android.app.Instrumentation.ActivityMonitor;
-import com.jayway.android.robotium.solo.Solo;
-
-import com.mediatek.fmradio.FmRadioActivity;
-import com.mediatek.fmradio.FmRadioFavorite;
-import com.mediatek.fmradio.FmRadioStation;
-import com.mediatek.fmradio.R;
-
-public class FmRadioPerformanceTest extends ActivityInstrumentationTestCase2<FmRadioActivity> {
-
- public FmRadioPerformanceTest(Class<FmRadioActivity> activityClass) {
- super(activityClass);
- }
-
- public FmRadioPerformanceTest() {
- super(FmRadioActivity.class);
- }
-
- private AudioManager mAudioManager = null;
-
- // bottom bar
- private ImageButton mButtonDecrease = null;
- private ImageButton mButtonPrevStation = null;
- private ImageButton mButtonNextStation = null;
- private ImageButton mButtonIncrease = null;
-// private ImageButton mButtonPlayStop = null;
-
- private ImageButton mButtonAddToFavorite = null;
-
- private TextView mTextViewFrequency = null;
-
- private static final long TIMEOUT = 5000;
- private static final long CHECK_TIME = 100;
- private static final long SHORT_TIME = 3000;
- private static final long WAIT_UI_STATE_CHANGE = 10000;
- private static final long WAIT_SCAN_FINISH = 20000;
- private static final long WAIT_TEAR_DOWN = 3000;
- private static final long SLEEP_TIME = 2000;
- private static final long RDS_TIME_OUT = 10 * 60 * 1000;
- private static final int CONVERT_RATE = 10;
- private static final int EXECUTE_TIME = 500;
- private static final String TAG = "FmRadioPerformanceTest";
-
- private FmRadioActivity mFmRadioActivity = null;
- private Instrumentation mInstrumentation = null;
- private ActivityMonitor mActivityMonitor = null;
- private FmRadioFavorite mFmRadioFavorite = null;
- private Solo mSolo = null;
-
- @Override
- public void setUp() throws Exception {
- super.setUp();
- Log.i(TAG, "setUp");
- setActivityInitialTouchMode(false);
- mFmRadioActivity = getActivity();
- assertNotNull(mFmRadioActivity);
- mInstrumentation = getInstrumentation();
- assertNotNull(mInstrumentation);
- mSolo = new Solo(getInstrumentation(), mFmRadioActivity);
- Context mContext = mFmRadioActivity.getApplicationContext();
- mAudioManager = (AudioManager) mFmRadioActivity.getSystemService(mContext.AUDIO_SERVICE);
- // Makesure FmRadio is playing and initialed
- waitForPowerupWithTimeout(TIMEOUT);
- boolean isPlaying = getBooleanFromVariable(mFmRadioActivity, "mIsPlaying");
- assertTrue(isPlaying);
- waitForInitedWithTimeout(TIMEOUT);
- boolean isInited = getBooleanFromVariable(mFmRadioActivity, "mIsServiceBinded");
- assertTrue(isInited);
- mButtonDecrease = (ImageButton) mFmRadioActivity.findViewById(R.id.button_decrease);
- mButtonPrevStation = (ImageButton) mFmRadioActivity.findViewById(R.id.button_prevstation);
- mButtonNextStation = (ImageButton) mFmRadioActivity.findViewById(R.id.button_nextstation);
- mButtonIncrease = (ImageButton) mFmRadioActivity.findViewById(R.id.button_increase);
-// mButtonPlayStop = (ImageButton) mFmRadioActivity.findViewById(R.id.button_play_stop);
-
- mButtonAddToFavorite = (ImageButton) mFmRadioActivity.findViewById(R.id.button_add_to_favorite);
- mTextViewFrequency = (TextView) mFmRadioActivity.findViewById(R.id.station_value);
- }
-
-
- private void waitForInitedWithTimeout(long timeOut) {
- Log.i(TAG, ">>>waitForInitedWithTimeout");
-
- long startTime = System.currentTimeMillis();
- while (!getBooleanFromVariable(mFmRadioActivity, "mIsServiceBinded")) {
- if (System.currentTimeMillis() - startTime > timeOut) {
- break;
- }
- sleep(CHECK_TIME);
- }
- Log.i(TAG, "<<<waitForInitedWithTimeout");
-
- }
-
- private void waitForPowerupWithTimeout(long timeOut) {
- Log.i(TAG, ">>>waitForPowerupWithTimeout");
-
- long startTime = System.currentTimeMillis();
- while (!getBooleanFromVariable(mFmRadioActivity, "mIsPlaying")) {
- if (System.currentTimeMillis() - startTime > timeOut) {
- break;
- }
- sleep(CHECK_TIME);
- }
- Log.i(TAG, "<<<waitForPowerupWithTimeout");
- }
-
- /**
- * Test scan channel performance.
- */
- public void testCase00_ScanChannelPerformance() throws Exception {
- if (!mButtonDecrease.isEnabled()) {
- makeFMPowerUp();
- }
- mInstrumentation.invokeMenuActionSync(mFmRadioActivity, R.id.fm_menu, 0);
- mInstrumentation.waitForIdleSync();
- mInstrumentation.sendKeyDownUpSync(KeyEvent.KEYCODE_DPAD_DOWN);
- mInstrumentation.sendKeyDownUpSync(KeyEvent.KEYCODE_DPAD_UP);
- mInstrumentation.waitForIdleSync();
- long startTime = System.currentTimeMillis();
- Log.i(TAG, "[Performance test][FmRadio] scan channel start [" + startTime + "]");
- mInstrumentation.sendKeyDownUpSync(KeyEvent.KEYCODE_DPAD_CENTER);
- sleep(WAIT_SCAN_FINISH);
- mInstrumentation.sendKeyDownUpSync(KeyEvent.KEYCODE_BACK);
- sleep(SHORT_TIME);
- }
-
- /**
- * Test open channel performance.
- */
- /*public void testCase01_ChannelOpenPerformance() throws Exception {
- int station = getStationFromUI();
- addChannelAsFavorite(station);
- clickView(mButtonIncrease);
- sleep(SHORT_TIME);
- mInstrumentation.invokeMenuActionSync(mFmRadioActivity, R.id.fm_channel_list, 0);
- mActivityMonitor = new ActivityMonitor("com.mediatek.fmradio.FmRadioFavorite", null, false);
- mInstrumentation.addMonitor(mActivityMonitor);
- mFmRadioFavorite = (FmRadioFavorite) mActivityMonitor.waitForActivityWithTimeout(TIMEOUT);
- assertNotNull(mFmRadioFavorite);
- ListView listView = (ListView) mFmRadioFavorite.findViewById(R.id.station_list);
- mSolo.clickOnView(listView.getChildAt(0));
- long startTime = System.currentTimeMillis();
- Log.i(TAG, "[Performance test][FmRadio] open channel start [" + startTime + "]");
- sleep(WAIT_UI_STATE_CHANGE);
-
- }*/
-
- /**
- * Test increase and decrease 0.1 MHz / 0.05 MHZ performance.
- */
- public void testCase02_FrequencyChangePerformance() throws Exception {
-
- // test decrease frequency performance
- long startTime = System.currentTimeMillis();
- Log.i(TAG, "[Performance test][FmRadio] decrease frequency start [" + startTime + "]");
- clickView(mButtonDecrease);
- sleep(WAIT_UI_STATE_CHANGE);
-
- // test increase frequency performance
- startTime = System.currentTimeMillis();
- Log.i(TAG, "[Performance test][FmRadio] increase frequency start [" + startTime + "]");
- clickView(mButtonIncrease);
- sleep(WAIT_UI_STATE_CHANGE);
-
- }
-
- /**
- * Test seek channel performance.
- */
- public void testCase03_SeekChannelPerformance() throws Exception {
- // test seek previous station performance
- int stationGap = 0;
- int currentStation = FmRadioStation.getCurrentStation(mFmRadioActivity);
- long startTime = System.currentTimeMillis();
- Log.i(TAG, "[Performance test][FmRadio] seek previous channel start [" + startTime + "]");
- clickView(mButtonPrevStation);
- sleep(WAIT_UI_STATE_CHANGE);
- int searchStation = FmRadioStation.getCurrentStation(mFmRadioActivity);
- if (searchStation > currentStation) {
- stationGap = searchStation - currentStation;
- Log.i(TAG, "[Performance test][FmRadio] Test FmRadio seek time stationStep [" + (float) stationGap / CONVERT_RATE + "]");
- } else if (searchStation < currentStation) {
- stationGap = FmRadioTestCaseUtil.HIGHEST_STATION - currentStation + searchStation - FmRadioTestCaseUtil.LOWEST_STATION;
- Log.i(TAG, "[Performance test][FmRadio] Test FmRadio seek time stationStep [" + (float) stationGap / CONVERT_RATE + "]");
- } else {
- Log.e(TAG, "SearchStation Unchanged");
- }
- // test seek next station frequency performance
- currentStation = FmRadioStation.getCurrentStation(mFmRadioActivity);
- startTime = System.currentTimeMillis();
- Log.i(TAG, "[Performance test][FmRadio] seek next channel start [" + startTime + "]");
- clickView(mButtonNextStation);
- sleep(WAIT_UI_STATE_CHANGE);
- if (searchStation > currentStation) {
- stationGap = searchStation - currentStation;
- Log.i(TAG, "[Performance test][FmRadio] Test FmRadio seek time stationStep [" + (float) stationGap / CONVERT_RATE + "]");
- } else if (searchStation < currentStation) {
- stationGap = FmRadioTestCaseUtil.HIGHEST_STATION - currentStation + searchStation - FmRadioTestCaseUtil.LOWEST_STATION;
- Log.i(TAG, "[Performance test][FmRadio] Test FmRadio seek time stationStep [" + (float) stationGap / CONVERT_RATE + "]");
- } else {
- Log.e(TAG, "SearchStation Unchanged");
- }
- }
-
- /**
- * Test switch earphone and speaker performance.
- */
- public void testCase04_SwitchSpeakerEarphone() throws Exception {
- if (!mButtonDecrease.isEnabled()) {
- makeFMPowerUp();
- }
- String earphone = mFmRadioActivity.getString(R.string.optmenu_earphone);
- String speaker = mFmRadioActivity.getString(R.string.optmenu_speaker);
-
- sleep(SHORT_TIME);
- // test switch speaker performance
- mInstrumentation.invokeMenuActionSync(mFmRadioActivity, R.id.fm_menu, 0);
- mSolo.clickOnText(speaker);
- sleep(SHORT_TIME);
- mInstrumentation.invokeMenuActionSync(mFmRadioActivity, R.id.fm_menu, 0);
- assertTrue(mSolo.searchText(earphone));
- mInstrumentation.waitForIdleSync();
-
- // test switch earphone performance
- mInstrumentation.invokeMenuActionSync(mFmRadioActivity, R.id.fm_menu, 0);
- mSolo.clickOnText(earphone);
- sleep(SHORT_TIME);
- mInstrumentation.invokeMenuActionSync(mFmRadioActivity, R.id.fm_menu, 0);
- assertTrue(mSolo.searchText(speaker));
- }
-
- /**
- * Test power up performance.
- */
- public void testCase05_PowerUpPerformance() throws Exception {
- if (mButtonDecrease.isEnabled()) {
- makeFMPowerDown();
- }
- // test power up performance
- long startTime = System.currentTimeMillis();
- Log.i(TAG, "[Performance test][FmRadio] power up start [" + startTime + "]");
-// clickView(mButtonPlayStop);
- mInstrumentation.invokeMenuActionSync(mFmRadioActivity, R.id.fm_power, 0);
- sleep(WAIT_UI_STATE_CHANGE);
- }
-
- /**
- * Test get rds performance
- * start time: tune to 91.4 finished
- * end time: rds information show
- */
- public void testCase06_RDSPerformance() {
- int station = 0;
- // test add channel as favorite
- station = FmRadioTestCaseUtil.getStationFromUI(mTextViewFrequency);
- if (!FmRadioStation.isFavoriteStation(mFmRadioActivity, station)) {
- clickView(mButtonAddToFavorite);
- mInstrumentation.waitForIdleSync();
- FmRadioTestCaseUtil.sleep(SHORT_TIME);
- }
-
- // enter channel list
- mInstrumentation.invokeMenuActionSync(mFmRadioActivity,
- R.id.fm_channel_list, 0);
- mActivityMonitor = new ActivityMonitor(
- "com.mediatek.fmradio.FmRadioFavorite", null, false);
- mInstrumentation.addMonitor(mActivityMonitor);
- mFmRadioFavorite = (FmRadioFavorite) mActivityMonitor
- .waitForActivityWithTimeout(TIMEOUT);
- assertNotNull(mFmRadioFavorite);
- // edit this station to rds station91.4
- float frequency = 0;
- int stationInList = 0;
- ListView listView = (ListView) mFmRadioFavorite.findViewById(R.id.station_list);
- FmRadioTestCaseUtil.sleep(SLEEP_TIME);
- assertTrue((listView != null) && (listView.getCount() > 0));
- ListAdapter listAdapter = listView.getAdapter();
- for (int i = 0; i < listView.getCount(); i++) {
- View view = listAdapter.getView(i, null, listView);
- TextView textView = (TextView) view.findViewById(R.id.lv_station_freq);
- String frequencyStr = textView.getText().toString();
- try {
- frequency = Float.parseFloat(frequencyStr);
- } catch (NumberFormatException e) {
- e.printStackTrace();
- }
- stationInList = (int) (frequency * CONVERT_RATE);
- if (FmRadioStation.isFavoriteStation(mFmRadioFavorite, stationInList)) {
- mSolo.clickLongOnText(frequencyStr);
- mSolo.clickOnText(mFmRadioFavorite.getString(R.string.contmenu_item_edit));
- EditText editText = (EditText) mSolo.getView(R.id.dlg_edit_station_freq_text);
- mSolo.clearEditText(editText);
- mSolo.enterText(editText, "91.4");
- mInstrumentation.waitForIdleSync();
- InputMethodManager inputMethodManager = (InputMethodManager) mSolo.getCurrentActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
- inputMethodManager.toggleSoftInput(0, 0);
- if (FmRadioStation.isStationExistInChList(mFmRadioFavorite, 914)) {
- mSolo.clickOnText(mFmRadioFavorite.getString(R.string.edit_frequency_overwrite_text));
- } else {
- mSolo.clickOnText(mFmRadioFavorite.getString(R.string.btn_ok));
- }
- mInstrumentation.waitForIdleSync();
- sleep(SLEEP_TIME);
-// assertEquals("aaa", FmRadioStation.getStationName(mFmRadioFavorite, stationInList, FmRadioStation.STATION_TYPE_FAVORITE));
- break;
- }
- }
-
- // tune to RDS station 91.4
- mSolo.clickOnText("91.4");
- long startTuneTime = System.currentTimeMillis();
- Log.i(TAG, "[Performance test][FmRadio] open channel start [" + startTuneTime + "]");
- mInstrumentation.waitForIdleSync();
- // test increase frequency performance
- long startTime = System.currentTimeMillis();
- Log.i(TAG, "[Performance test][FmRadio] receive RDS start [" + startTime + "]");
-
- // check RDS info is change
- final TextView rdsTextView = (TextView) FmRadioTestCaseUtil.getVariableFromActivity(mFmRadioActivity, "mTextRDS");
- long scapeTime = 0;
- while (true) {
- String rdsInfo = rdsTextView.getText().toString();
- if (!"".equals(rdsInfo)) {
- long endTime = System.currentTimeMillis();
- Log.i(TAG, "[Performance test][FmRadio] receive RDS end [" + endTime + "]");
- break;
- }
- try {
- scapeTime = System.currentTimeMillis() - startTime;
- sleep(CHECK_TIME);
- } catch (Exception e) {
- }
- // if time > 10min, end time will be 10min
- if (scapeTime > RDS_TIME_OUT) {
- long endTime = System.currentTimeMillis();
- Log.i(TAG, "[Performance test][FmRadio] receive RDS end [" + endTime + "]");
- break;
- }
- }
- }
-
- public void testCase07_PowerDownPerformance() throws Exception {
- if (!mButtonDecrease.isEnabled()) {
- makeFMPowerUp();
- }
- // test power down performance
- long startTime = System.currentTimeMillis();
- Log.i(TAG, "[Performance test][FmRadio] power down start [" + startTime + "]");
- FmRadioTestCaseUtil.requestFocusGain(mAudioManager);
- sleep(WAIT_UI_STATE_CHANGE);
- }
-
- private void makeFMPowerUp() {
- boolean isPlaying = false;
- isPlaying = getBooleanFromVariable(mFmRadioActivity, "mIsPlaying");
- if (!isPlaying) {
- mInstrumentation
- .invokeMenuActionSync(mFmRadioActivity, R.id.fm_power, 0);
- }
- sleep(WAIT_UI_STATE_CHANGE);
-
- }
-
- private void makeFMPowerDown() {
- boolean isPlaying = true;
- isPlaying = getBooleanFromVariable(mFmRadioActivity, "mIsPlaying");
- if (isPlaying) {
- FmRadioTestCaseUtil.requestFocusGain(mAudioManager);
- }
- sleep(WAIT_UI_STATE_CHANGE);
-
- }
-
- private void switchEarphone() {
- if (!mButtonDecrease.isEnabled()) {
- makeFMPowerUp();
- }
- mInstrumentation
- .invokeMenuActionSync(mFmRadioActivity, R.id.fm_menu, 0);
- String earphone = mFmRadioActivity.getString(R.string.optmenu_earphone);
- mSolo.clickOnText(earphone);
- mInstrumentation.waitForIdleSync();
- }
-
- private void switchSpeaker() {
- if (!mButtonDecrease.isEnabled()) {
- makeFMPowerUp();
- }
- mInstrumentation
- .invokeMenuActionSync(mFmRadioActivity, R.id.fm_menu, 0);
- String speaker = mFmRadioActivity.getString(R.string.optmenu_speaker);
- mSolo.clickOnText(speaker);
- mInstrumentation.waitForIdleSync();
-
- }
-
- private boolean getBooleanFromVariable(Activity activity, String variable) {
- Field field = null;
- boolean value = false;
- try {
- field = FmRadioActivity.class.getDeclaredField(variable);
- field.setAccessible(true);
- value = ((Boolean) field.get(activity)).booleanValue();
- } catch (SecurityException e) {
- e.printStackTrace();
- } catch (NoSuchFieldException e) {
- e.printStackTrace();
- } catch (IllegalArgumentException e) {
- e.printStackTrace();
- } catch (IllegalAccessException e) {
- e.printStackTrace();
- }
- return value;
- }
-
- private boolean getBooleanFromMethod(Activity activity, String method) {
-
- boolean value = false;
- Class c = mFmRadioActivity.getClass();
- try {
- Method m = (Method) c.getDeclaredMethod(method, new Class[] {});
- m.setAccessible(true);
- value = (Boolean) m.invoke(activity, new Object[] {});
- } catch (SecurityException e) {
- e.printStackTrace();
- } catch (NoSuchMethodException e) {
- e.printStackTrace();
- } catch (IllegalArgumentException e) {
- e.printStackTrace();
- } catch (IllegalAccessException e) {
- e.printStackTrace();
- } catch (InvocationTargetException e) {
- e.printStackTrace();
- }
- return value;
- }
-
- private void clickView(final View view) {
- try {
- runTestOnUiThread(new Runnable() {
- public void run() {
- view.performClick();
-
- }
- });
- } catch (Throwable t) {
- t.printStackTrace();
- }
- }
-
- private void sleep(long milliseconds) {
- try {
- Thread.sleep(milliseconds);
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- }
-
- private void addChannelAsFavorite(int station) {
- if (!FmRadioStation.isFavoriteStation(mFmRadioActivity, station)) {
- clickView(mButtonAddToFavorite);
- mInstrumentation.waitForIdleSync();
- sleep(SHORT_TIME);
- }
-
- }
-
- private int getStationFromUI() {
- int station = 0;
- float frequency = 0;
- mTextViewFrequency = (TextView) mFmRadioActivity.findViewById(R.id.station_value);
- String frequencyStr = mTextViewFrequency.getText().toString();
- try {
- frequency = Float.parseFloat(frequencyStr);
- } catch (NumberFormatException e) {
- e.printStackTrace();
- }
- station = (int) (frequency * CONVERT_RATE);
- return station;
-
- }
-
- @Override
- public void tearDown() throws Exception {
- Log.i(TAG, "tearDown");
- try {
- mSolo.finalize();
- } catch (Throwable t) {
- t.printStackTrace();
- }
- mSolo.finishOpenedActivities();
- sleep(WAIT_TEAR_DOWN);
- super.tearDown();
- }
-
-
-}
diff --git a/MediaTek/FmRadio/tests/src/com/mediatek/fmradio/tests/FmRadioTestCaseUtil.java b/MediaTek/FmRadio/tests/src/com/mediatek/fmradio/tests/FmRadioTestCaseUtil.java
deleted file mode 100755
index f34a8c1..0000000
--- a/MediaTek/FmRadio/tests/src/com/mediatek/fmradio/tests/FmRadioTestCaseUtil.java
+++ /dev/null
@@ -1,219 +0,0 @@
-/* Copyright Statement:
- *
- * This software/firmware and related documentation ("MediaTek Software") are
- * protected under relevant copyright laws. The information contained herein is
- * confidential and proprietary to MediaTek Inc. and/or its licensors. Without
- * the prior written permission of MediaTek inc. and/or its licensors, any
- * reproduction, modification, use or disclosure of MediaTek Software, and
- * information contained herein, in whole or in part, shall be strictly
- * prohibited.
- *
- * MediaTek Inc. (C) 2010. All rights reserved.
- *
- * BY OPENING THIS FILE, RECEIVER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
- * THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
- * RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO RECEIVER
- * ON AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL
- * WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR
- * NONINFRINGEMENT. NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH
- * RESPECT TO THE SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY,
- * INCORPORATED IN, OR SUPPLIED WITH THE MEDIATEK SOFTWARE, AND RECEIVER AGREES
- * TO LOOK ONLY TO SUCH THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO.
- * RECEIVER EXPRESSLY ACKNOWLEDGES THAT IT IS RECEIVER'S SOLE RESPONSIBILITY TO
- * OBTAIN FROM ANY THIRD PARTY ALL PROPER LICENSES CONTAINED IN MEDIATEK
- * SOFTWARE. MEDIATEK SHALL ALSO NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE
- * RELEASES MADE TO RECEIVER'S SPECIFICATION OR TO CONFORM TO A PARTICULAR
- * STANDARD OR OPEN FORUM. RECEIVER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S
- * ENTIRE AND CUMULATIVE LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE
- * RELEASED HEREUNDER WILL BE, AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE
- * MEDIATEK SOFTWARE AT ISSUE, OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE
- * CHARGE PAID BY RECEIVER TO MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
- *
- * The following software/firmware and/or related documentation ("MediaTek
- * Software") have been modified by MediaTek Inc. All revisions are subject to
- * any receiver's applicable license agreements with MediaTek Inc.
- */
-
-package com.mediatek.fmradio.tests;
-
-import java.lang.reflect.Field;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-
-import android.app.Activity;
-import android.content.Context;
-import android.media.AudioManager;
-import android.media.AudioManager.OnAudioFocusChangeListener;
-import android.util.Log;
-import android.view.View;
-import android.widget.ListAdapter;
-import android.widget.ListView;
-import android.widget.TextView;
-import junit.framework.Assert;
-//import com.mediatek.storage.StorageManagerEx;
-import com.mediatek.fmradio.FmRadioActivity;
-import com.mediatek.fmradio.R;
-
-public class FmRadioTestCaseUtil {
- // FM station variables
- public static final int DEFAULT_STATION = 1000;
- // maximum station frequency
- public static final int HIGHEST_STATION = 1080;
- // minimum station frequency
- public static final int LOWEST_STATION = 875;
-
- // minimum storage space for record
- public static final long LOW_SPACE_THRESHOLD = 512 * 1024;
-
- public static final int CONVERT_RATE = 10;
- public static final long CHECK_TIME = 200;
- public static final String OP = android.os.SystemProperties.get("ro.operator.optr");
- public static final boolean IS_CMCC = ("OP01").equals(OP); // whether is CMCC project
- private static final String TAG = "FmRadioTestCaseUtil";
-
- // check station is in channel list.
- public static boolean isExistInChannelList(Activity activity, int station) {
-
- boolean find = false;
- float frequency = 0;
- int stationInList = 0;
- ListView listView = (ListView) activity.findViewById(R.id.station_list);
- sleep(CHECK_TIME);
- Assert.assertTrue((listView != null) && (listView.getCount() > 0));
- ListAdapter listAdapter = listView.getAdapter();
- int stationCount = listView.getCount();
- Log.d(TAG, "isExistInChannelList stationCount:" + stationCount);
- for (int i = 0; i < stationCount; i++) {
- View view = listAdapter.getView(i, null, listView);
- TextView textView = (TextView) view.findViewById(R.id.lv_station_freq);
- String frequencyStr = textView.getText().toString();
- try {
- frequency = Float.parseFloat(frequencyStr);
- } catch (NumberFormatException e) {
- e.printStackTrace();
- }
- stationInList = (int) (frequency * CONVERT_RATE);
- Log.d(TAG, "isExistInChannelList i:" + i + ", frequencyStr:" + frequencyStr +
- ", stationInList:" + stationInList);
- if (station == stationInList) {
- return true;
- }
- }
- return false;
- }
-
- // get station fraom UI.
- public static int getStationFromUI(TextView textView) {
- int station = 0;
- float frequency = 0;
- String frequencyStr = textView.getText().toString();
- try {
- frequency = Float.parseFloat(frequencyStr);
- } catch (NumberFormatException e) {
- e.printStackTrace();
- }
- station = (int) (frequency * CONVERT_RATE);
- return station;
- }
-
- // sleep
- public static void sleep(long milliseconds) {
- try {
- Thread.sleep(milliseconds);
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- }
-
- // get variable from method.
- public static Object getVariableFromMethod(Activity activity, String method) {
- Object value = false;
- Class c = activity.getClass();
- try {
- Method m = (Method) c.getDeclaredMethod(method, new Class[] {});
- m.setAccessible(true);
- value = m.invoke(activity, new Object[] {});
- } catch (SecurityException e) {
- e.printStackTrace();
- } catch (NoSuchMethodException e) {
- e.printStackTrace();
- } catch (IllegalArgumentException e) {
- e.printStackTrace();
- } catch (IllegalAccessException e) {
- e.printStackTrace();
- } catch (InvocationTargetException e) {
- e.printStackTrace();
- }
- return value;
- }
-
- // get variable from activity.
- public static Object getVariableFromActivity(Activity activity, String variable) {
- Field field = null;
- Object value = null;
- try {
- field = FmRadioActivity.class.getDeclaredField(variable);
- field.setAccessible(true);
- value = field.get(activity);
- } catch (SecurityException e) {
- e.printStackTrace();
- } catch (NoSuchFieldException e) {
- e.printStackTrace();
- } catch (IllegalArgumentException e) {
- e.printStackTrace();
- } catch (IllegalAccessException e) {
- e.printStackTrace();
- }
- return value;
- }
-
- public static String getProjectString(Context context, int cmccResId, int normalResId) {
- return IS_CMCC ? context.getString(cmccResId) : context.getString(normalResId);
- }
-
-// public static void mountSDCard(Context context) {
-// try {
-// getMountService().mountVolume(StorageManagerEx.getDefaultPath());
-// } catch (RemoteException e) {
-// }
-// }
-
-// public static void unmountSDCard(Context context) {
-// try {
-// getMountService().unmountVolume(StorageManagerEx.getDefaultPath(),
-// true, false);
-// } catch (RemoteException e) {
-// }
-// }
-//
-// private static IMountService getMountService() {
-// IMountService mountService = null;
-// IBinder service = ServiceManager.getService("mount");
-// Assert.assertNotNull(service);
-// mountService = IMountService.Stub.asInterface(service);
-// return mountService;
-// }
-
- private static OnAudioFocusChangeListener mAudioFocusListener = new OnAudioFocusChangeListener() {
- public void onAudioFocusChange(int focusChange) {
- switch (focusChange) {
- case AudioManager.AUDIOFOCUS_LOSS:
- Log.d(TAG, "request audio focus loss");
- break;
- case AudioManager.AUDIOFOCUS_LOSS_TRANSIENT:
- Log.d(TAG, "request audio focus loss transient");
- break;
- case AudioManager.AUDIOFOCUS_GAIN:
- Log.d(TAG, "request audio focus gain");
- break;
- default :
- break;
- }
- }
- };
- public static void requestFocusGain(AudioManager audioManager) {
- audioManager.requestAudioFocus(mAudioFocusListener,
- AudioManager.STREAM_MUSIC, AudioManager.AUDIOFOCUS_GAIN_TRANSIENT);
- }
-}