blob: a7f0a957e2f864889ad7c9d3a3ae5024651cf4e4 [file] [log] [blame]
/*
* Copyright (C) 2017 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 com.android.cts.verifier.dialer;
import android.content.Intent;
import android.content.Context;
import android.os.Bundle;
import android.telecom.TelecomManager;
import android.telephony.TelephonyManager;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import com.android.cts.verifier.PassFailButtons;
import com.android.cts.verifier.R;
/** Tests that a third party dialer implements certain telecom intents. */
public class DialerImplementsTelecomIntentsActivity extends PassFailButtons.Activity {
private Button mLaunchCallSettingsButton;
private CheckBox mLaunchCallSettingsCheckBox;
private Button mLaunchShortSmsAnswerButton;
private CheckBox mLaunchShortSmsAnswerCheckBox;
private Button mLaunchCallingAccountsSettingsButton;
private CheckBox mLaunchCallingAccountsSettingsCheckBox;
private Button mLaunchAccessibilitySettingsButton;
private CheckBox mLaunchAccessibilitySettingsCheckBox;
private TelephonyManager mTelephonyManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
View view = getLayoutInflater().inflate(R.layout.dialer_telecom_intents, null);
setContentView(view);
setInfoResources(
R.string.dialer_telecom_intents_test,
R.string.dialer_telecom_intents_test_instructions,
-1);
setPassFailButtonClickListeners();
getPassButton().setEnabled(false);
mTelephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
mLaunchCallSettingsCheckBox = findViewById(R.id.dialer_telecom_intents_call_settings_check_box);
mLaunchShortSmsAnswerCheckBox = findViewById(R.id.dialer_telecom_intents_short_sms_check_box);
mLaunchCallingAccountsSettingsCheckBox =
findViewById(R.id.dialer_telecom_intents_calling_accounts_check_box);
mLaunchAccessibilitySettingsCheckBox =
findViewById(R.id.dialer_telecom_intents_accessibility_settings_check_box);
mLaunchCallSettingsCheckBox.setOnCheckedChangeListener(
(CompoundButton unusedButton, boolean unusedBoolean) -> onCheckedChangeListener());
mLaunchShortSmsAnswerCheckBox.setOnCheckedChangeListener(
(CompoundButton unusedButton, boolean unusedBoolean) -> onCheckedChangeListener());
mLaunchCallingAccountsSettingsCheckBox.setOnCheckedChangeListener(
(CompoundButton unusedButton, boolean unusedBoolean) -> onCheckedChangeListener());
mLaunchAccessibilitySettingsCheckBox.setOnCheckedChangeListener(
(CompoundButton unusedButton, boolean unusedBoolean) -> onCheckedChangeListener());
mLaunchCallSettingsButton = findViewById(R.id.dialer_telecom_intents_call_settings);
mLaunchCallSettingsButton.setOnClickListener(
(View unused) -> startActivity(new Intent(TelecomManager.ACTION_SHOW_CALL_SETTINGS)));
mLaunchShortSmsAnswerButton = findViewById(R.id.dialer_telecom_intents_short_sms);
mLaunchShortSmsAnswerButton.setOnClickListener(
(View unused) ->
startActivity(new Intent(TelecomManager.ACTION_SHOW_RESPOND_VIA_SMS_SETTINGS)));
mLaunchCallingAccountsSettingsButton =
findViewById(R.id.dialer_telecom_intents_calling_accounts);
mLaunchCallingAccountsSettingsButton.setOnClickListener(
(View unused) -> startActivity(new Intent(TelecomManager.ACTION_CHANGE_PHONE_ACCOUNTS)));
mLaunchAccessibilitySettingsButton =
findViewById(R.id.dialer_telecom_intents_accessibility_settings);
mLaunchAccessibilitySettingsButton.setOnClickListener(
(View unused) ->
startActivity(new Intent(TelecomManager.ACTION_SHOW_CALL_ACCESSIBILITY_SETTINGS)));
if (!mTelephonyManager.isHearingAidCompatibilitySupported() && !mTelephonyManager.isTtyModeSupported()) {
mLaunchAccessibilitySettingsButton.setVisibility(View.INVISIBLE);
mLaunchAccessibilitySettingsCheckBox.setVisibility(View.INVISIBLE);
mLaunchAccessibilitySettingsCheckBox.setChecked(true);
}
}
private void onCheckedChangeListener() {
if (mLaunchCallSettingsCheckBox.isChecked()
&& mLaunchShortSmsAnswerCheckBox.isChecked()
&& mLaunchCallingAccountsSettingsCheckBox.isChecked()
&& mLaunchAccessibilitySettingsCheckBox.isChecked()) {
getPassButton().setEnabled(true);
} else {
getPassButton().setEnabled(false);
}
}
}