| /* |
| * Copyright (C) 2019 The Android Open Source Project |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| package android.platform.helpers; |
| |
| import java.util.List; |
| |
| public interface IAutoDialHelper extends IAppHelper, Scrollable { |
| |
| /** enum class for contact list order type. */ |
| enum OrderType { |
| FIRST_NAME, |
| LAST_NAME |
| } |
| /** enum class for phone call audio channel. */ |
| enum AudioSource { |
| PHONE, |
| CAR_SPEAKERS, |
| } |
| |
| /** |
| * Setup expectations: The app is open and the dialpad is open |
| * |
| * <p>This method is used to dial the phonenumber on dialpad |
| * |
| * @param phoneNumber phone number to dial. |
| */ |
| void dialANumber(String phoneNumber); |
| |
| /** |
| * Setup expectations: A prompt allowing the user to select "Device" is open. |
| * |
| * <p>This method is meant to be used when contacts are being uploaded onto a device (the |
| * confirmation dialogue allows either the device to be selected for upload, or for |
| * cancellation. |
| */ |
| void pressDeviceOnPrompt(); |
| |
| /** |
| * Press the contact info element on screen containing the given name. |
| * |
| * @param expectedName - The contact name on the contact info element |
| */ |
| void pressContactResult(String expectedName); |
| |
| /** Assumes contact page is open. Press the mobile call button on a contact page. */ |
| void pressMobileCallOnContact(); |
| |
| /** |
| * Setup expectations: The app is open and there is an ongoing call. |
| * |
| * <p>This method is used to end call using softkey. |
| */ |
| void endCall(); |
| |
| /** |
| * Setup expectations: The app is open. |
| * |
| * <p>This method is used to open call history details. |
| */ |
| void openCallHistory(); |
| |
| /** |
| * Setup expectations: The app is open. |
| * |
| * <p>This method dials a contact from the contact list. |
| * |
| * @param contactName to dial. |
| */ |
| void callContact(String contactName); |
| |
| /** |
| * Setup expectations: The app is open and in Dialpad. |
| * |
| * <p>This method is used to delete the number entered on dialpad using backspace |
| */ |
| void deleteDialedNumber(); |
| |
| /** |
| * Setup expectations: The app is open and in Dialpad |
| * |
| * <p>This method is used to get the number entered on dialing screen. |
| */ |
| String getDialedNumber(); |
| |
| /** |
| * Setup expectations: A call is underway, and the call screen is in focus on the device. |
| * |
| * <p>This method is used to get the number that is currently being dialed, or has been dialed |
| * on a currently-displayed ongoing call |
| */ |
| String getDialingNumber(); |
| |
| /** |
| * Setup expectations: The app is open and in Dialpad |
| * |
| * <p>This method is used to get the number entered on dialpad |
| */ |
| String getNumberInDialPad(); |
| |
| /** |
| * Setup expectations: The app is open and there is an ongoing call. |
| * |
| * <p>This method is used to get the name of the contact for the ongoing call |
| */ |
| String getDialedContactName(); |
| |
| /** |
| * Setup expectations: The app is open and Call History is open. |
| * |
| * <p>This method is used to get the most recent call history. |
| */ |
| String getRecentCallHistory(); |
| |
| /** |
| * Setup expectations: The app is open and phonenumber is entered on the dialpad. |
| * |
| * <p>This method is used to make/receive a call using softkey. |
| */ |
| void makeCall(); |
| |
| /** |
| * Setup expectations: The app is open. |
| * |
| * <p>This method is used to dial a number from a list (Favorites, Call History, Contact). |
| * |
| * @param contact (number or name) dial. |
| */ |
| void dialFromList(String contact); |
| |
| /** |
| * Setup expectations: The app is open and there is an ongoing call. |
| * |
| * <p>This method is used to enter number on the in-call dialpad. |
| * |
| * @param phoneNumber to dial. |
| */ |
| void inCallDialPad(String phoneNumber); |
| |
| /** |
| * Setup expectations: The app is open and there is an ongoing call. |
| * |
| * <p>This method is used to mute the ongoing call. |
| */ |
| void muteCall(); |
| |
| /** |
| * Setup expectations: The app is open and there is an ongoing call. |
| * |
| * <p>This method is used to unmute the ongoing call. |
| */ |
| void unmuteCall(); |
| |
| /** |
| * Setup expectations: The app is open and there is an ongoing call. |
| * |
| * <p>This method is used to change voice channel to handset/bluetooth. |
| * |
| * @param source to switch to. |
| */ |
| void changeAudioSource(AudioSource source); |
| |
| /** |
| * Setup expectations: The app is open. |
| * |
| * <p>This method is used to make a call to the first history from Call History. |
| */ |
| void callMostRecentHistory(); |
| |
| /** |
| * Setup expectations: The app is open and there is an ongoing call. |
| * |
| * <p>This method is used to get the contact name being called. |
| */ |
| String getContactName(); |
| |
| /** |
| * Setup expectations: The app is open and there is an ongoing call |
| * |
| * <p>This method is used to get the contact type (Mobile, Work, Home and etc.) being called. |
| */ |
| String getContactType(); |
| |
| /** |
| * Setup expectations: The app is open. |
| * |
| * <p>This method is used to search a contact in the contact list. |
| * |
| * @param contact to search. |
| */ |
| void searchContactsByName(String contact); |
| |
| /** |
| * Setup expectations: The app is open. |
| * |
| * <p>This method is used to search a number in the contact list. |
| * |
| * @param number to search. |
| */ |
| void searchContactsByNumber(String number); |
| |
| /** |
| * Setup expectations: The app is open. |
| * |
| * <p>This method is used to get the first search result for contact. |
| */ |
| String getFirstSearchResult(); |
| |
| /** |
| * Setup expectations: The app is open. |
| * |
| * <p>This method is used to order the contact list based on first/last name. |
| * |
| * @param orderType to use. |
| */ |
| void sortContactListBy(OrderType orderType); |
| |
| /** |
| * Setup expectations: The app is open. |
| * |
| * <p>This method is used to get the first contact name from contact list. |
| */ |
| String getFirstContactFromContactList(); |
| |
| /** |
| * Setup expectations: A Contact details page is open. |
| * |
| * <p>This method is used to get the home address from the currently-open contact. |
| */ |
| String getHomeAddress(); |
| |
| /** |
| * Setup expectations: The app is open. |
| * |
| * <p>This method is used to verify if a contact is added to Favorites. |
| * |
| * @param contact to check. |
| */ |
| boolean isContactInFavorites(String contact); |
| |
| /** |
| * Setup expectations: The contact's details page is open. |
| * |
| * <p>This method is used to close the details page. |
| * |
| * @param contact Contact's details page to be opened. |
| */ |
| void openDetailsPage(String contact); |
| |
| /** Setup expectations: The dialer main page is open. Opens the dial pad screen. */ |
| void openDialPad(); |
| |
| /** |
| * Setup expectations: The app is open. |
| * |
| * <p>This method is used to check if phone is paired. |
| */ |
| boolean isPhonePaired(); |
| /** |
| * Setup expectations: The app is open. |
| * |
| * <p>This method is used to open contact list |
| */ |
| void openContacts(); |
| |
| /** |
| * Setup expectations: The contacts page is open. |
| * |
| * <p>This method is used to open the contact details page of the first visible contact. Throws |
| * an error if no contacts are visible. |
| */ |
| void openFirstContactDetails(); |
| |
| /** |
| * Setup expectations: The app is open and there is an ongoing call. |
| * |
| * <p>This method is used check if ongoing call is displayed on home. |
| */ |
| boolean isOngoingCallDisplayedOnHome(); |
| |
| /** |
| * Setup expectations: The home screen is open |
| * |
| * <p>This method is used for opening phone app from homescreen |
| */ |
| void openPhoneAppFromHome(); |
| |
| /** |
| * Setup expectations: The app is open. |
| * |
| * <p>This method is used to get visible contacts list |
| */ |
| List<String> getListOfAllVisibleContacts(); |
| |
| /** |
| * Setup expectations: The call history view is open. |
| * |
| * @return - The number of call histrory entries currently on screen. |
| */ |
| int getNumberOfCallHistoryEntries(); |
| |
| /** |
| * Setup expectations: bluetooth is off |
| * |
| * <p>This method is used for checking if error message is displaye when bluetooth is off |
| */ |
| boolean isBluetoothHfpErrorDisplayed(); |
| |
| /** |
| * Setup expectations: The app is open |
| * |
| * <p>This method is adding favorites from the Favorites Tab |
| */ |
| void addFavoritesFromFavoritesTab(String contact); |
| /** |
| * Setup expectations: The bluetooth palette is open |
| * |
| * <p>This method is used for clicking phone button from bluetooth palette |
| */ |
| void clickPhoneButton(); |
| /** |
| * Setup expectations: The dialer page is open |
| * |
| * <p>This method is used to check if Recents tab is present in dialer page |
| */ |
| boolean verifyDialerRecentsTab(); |
| /** |
| * Setup expectations: The dialer page is open |
| * |
| * <p>This method is used to check if Contacts tab is present in dialer page |
| */ |
| boolean verifyDialerContactsTab(); |
| /** |
| * Setup expectations: The dialer page is open |
| * |
| * <p>This method is used to check if Favorites tab is present in dialer page |
| */ |
| boolean verifyDialerFavoritesTab(); |
| /** |
| * Setup expectations: The dialer page is open |
| * |
| * <p>This method is used to check if Dialpad tab is present in dialer page |
| */ |
| boolean verifyDialerDialpadTab(); |
| } |