jovanak | a664776 | 2018-06-26 14:09:30 -0700 | [diff] [blame] | 1 | /* |
| 2 | * Copyright (C) 2018 The Android Open Source Project |
| 3 | * |
| 4 | * Licensed under the Apache License, Version 2.0 (the "License"); |
| 5 | * you may not use this file except in compliance with the License. |
| 6 | * You may obtain a copy of the License at |
| 7 | * |
| 8 | * http://www.apache.org/licenses/LICENSE-2.0 |
| 9 | * |
| 10 | * Unless required by applicable law or agreed to in writing, software |
| 11 | * distributed under the License is distributed on an "AS IS" BASIS, |
| 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| 13 | * See the License for the specific language governing permissions and |
| 14 | * limitations under the License. |
| 15 | */ |
| 16 | |
| 17 | package com.android.car.settings.testutils; |
| 18 | |
| 19 | import android.widget.Button; |
jovanak | 7cb4497 | 2018-08-21 16:48:28 -0700 | [diff] [blame] | 20 | import android.widget.TextView; |
jovanak | a664776 | 2018-06-26 14:09:30 -0700 | [diff] [blame] | 21 | |
| 22 | import androidx.fragment.app.DialogFragment; |
| 23 | |
jovanak | a664776 | 2018-06-26 14:09:30 -0700 | [diff] [blame] | 24 | /** |
| 25 | * Helper methods for DialogFragment testing. |
| 26 | */ |
| 27 | public class DialogTestUtils { |
Heemin Seog | 11d45c1 | 2018-11-20 13:47:34 -0800 | [diff] [blame] | 28 | private DialogTestUtils() { |
| 29 | } |
jovanak | a664776 | 2018-06-26 14:09:30 -0700 | [diff] [blame] | 30 | |
| 31 | /** |
| 32 | * Invokes onClick on the dialog's positive button. |
| 33 | */ |
| 34 | public static void clickPositiveButton(DialogFragment dialogFragment) { |
Heemin Seog | 11d45c1 | 2018-11-20 13:47:34 -0800 | [diff] [blame] | 35 | Button positiveButton = dialogFragment.getDialog().getWindow().findViewById( |
| 36 | com.android.internal.R.id.button1); |
jovanak | a664776 | 2018-06-26 14:09:30 -0700 | [diff] [blame] | 37 | positiveButton.callOnClick(); |
| 38 | } |
| 39 | |
| 40 | /** |
| 41 | * Invokes onClick on the dialog's negative button. |
| 42 | */ |
jovanak | 7cb4497 | 2018-08-21 16:48:28 -0700 | [diff] [blame] | 43 | public static void clickNegativeButton(DialogFragment dialogFragment) { |
Heemin Seog | 11d45c1 | 2018-11-20 13:47:34 -0800 | [diff] [blame] | 44 | Button negativeButton = dialogFragment.getDialog().getWindow().findViewById( |
| 45 | com.android.internal.R.id.button2); |
jovanak | a664776 | 2018-06-26 14:09:30 -0700 | [diff] [blame] | 46 | negativeButton.callOnClick(); |
| 47 | } |
jovanak | 7cb4497 | 2018-08-21 16:48:28 -0700 | [diff] [blame] | 48 | |
| 49 | /** |
| 50 | * Gets dialog's title. |
| 51 | */ |
| 52 | public static String getTitle(DialogFragment dialogFragment) { |
Heemin Seog | 11d45c1 | 2018-11-20 13:47:34 -0800 | [diff] [blame] | 53 | TextView titleView = dialogFragment.getDialog().getWindow().findViewById( |
| 54 | com.android.internal.R.id.alertTitle); |
jovanak | 7cb4497 | 2018-08-21 16:48:28 -0700 | [diff] [blame] | 55 | return titleView.getText().toString(); |
| 56 | } |
JianYang Liu | 67deaf0 | 2020-01-31 10:56:54 -0800 | [diff] [blame] | 57 | |
| 58 | public static String getMessage(DialogFragment dialogFragment) { |
| 59 | TextView messageView = dialogFragment.getDialog().getWindow().findViewById( |
| 60 | com.android.internal.R.id.message); |
| 61 | return messageView.getText().toString(); |
| 62 | } |
jovanak | a664776 | 2018-06-26 14:09:30 -0700 | [diff] [blame] | 63 | } |