blob: 8f4fa6782a575ecb7922a26dbbdfa19dc087b6eb [file] [log] [blame]
Santos Cordon7d4ddf62013-07-10 11:58:08 -07001/*
2 * Copyright (C) 2009 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
17package com.android.phone;
18
Santos Cordon7d4ddf62013-07-10 11:58:08 -070019import android.os.Bundle;
Jonathan Basseric31f1f32015-05-12 10:13:03 -070020import android.os.PersistableBundle;
Santos Cordon7d4ddf62013-07-10 11:58:08 -070021import android.preference.Preference;
22import android.preference.PreferenceActivity;
23import android.preference.PreferenceScreen;
fionaxue46e69f2017-04-27 14:32:46 -070024import android.preference.SwitchPreference;
Jonathan Basseri3649bdb2015-04-30 22:39:11 -070025import android.telephony.CarrierConfigManager;
Sanket Padawee09a6f62015-03-05 11:59:39 -080026import android.view.MenuItem;
Santos Cordon7d4ddf62013-07-10 11:58:08 -070027
Aravind Sreekumarafc08c52018-04-10 15:34:32 -070028import com.android.internal.telephony.PhoneConstants;
29
Jang Hayeong4022b382019-07-16 20:05:17 +090030public class CdmaCallOptions extends TimeConsumingPreferenceActivity {
Santos Cordon7d4ddf62013-07-10 11:58:08 -070031 private static final String LOG_TAG = "CdmaCallOptions";
32 private final boolean DBG = (PhoneGlobals.DBG_LEVEL >= 2);
33
34 private static final String BUTTON_VP_KEY = "button_voice_privacy_key";
Jang Hayeong43bd1402019-07-16 15:40:47 +090035 private static final String CALL_FORWARDING_KEY = "call_forwarding_key";
Jang Hayeong4022b382019-07-16 20:05:17 +090036 private static final String CALL_WAITING_KEY = "call_waiting_key";
fionaxue46e69f2017-04-27 14:32:46 -070037 private SwitchPreference mButtonVoicePrivacy;
Santos Cordon7d4ddf62013-07-10 11:58:08 -070038
39 @Override
40 protected void onCreate(Bundle icicle) {
41 super.onCreate(icicle);
42
43 addPreferencesFromResource(R.xml.cdma_call_privacy);
44
Sanket Padawee09a6f62015-03-05 11:59:39 -080045 SubscriptionInfoHelper subInfoHelper = new SubscriptionInfoHelper(this, getIntent());
46 subInfoHelper.setActionBarTitle(
47 getActionBar(), getResources(), R.string.labelCdmaMore_with_label);
48
fionaxue46e69f2017-04-27 14:32:46 -070049 mButtonVoicePrivacy = (SwitchPreference) findPreference(BUTTON_VP_KEY);
Jonathan Basseric31f1f32015-05-12 10:13:03 -070050 PersistableBundle carrierConfig;
Jonathan Basseri3649bdb2015-04-30 22:39:11 -070051 if (subInfoHelper.hasSubId()) {
52 carrierConfig = PhoneGlobals.getInstance().getCarrierConfigForSubId(
53 subInfoHelper.getSubId());
54 } else {
55 carrierConfig = PhoneGlobals.getInstance().getCarrierConfig();
56 }
Sanket Padawee09a6f62015-03-05 11:59:39 -080057 if (subInfoHelper.getPhone().getPhoneType() != PhoneConstants.PHONE_TYPE_CDMA
Jonathan Basserif0b39112015-06-09 15:14:06 -070058 || carrierConfig.getBoolean(CarrierConfigManager.KEY_VOICE_PRIVACY_DISABLE_UI_BOOL)) {
Jonathan Basseri3649bdb2015-04-30 22:39:11 -070059 // disable the entire screen
Jang Hayeong43bd1402019-07-16 15:40:47 +090060 mButtonVoicePrivacy.setEnabled(false);
Santos Cordon7d4ddf62013-07-10 11:58:08 -070061 }
Jang Hayeong43bd1402019-07-16 15:40:47 +090062
63 Preference callForwardingPref = getPreferenceScreen().findPreference(CALL_FORWARDING_KEY);
64 callForwardingPref.setIntent(subInfoHelper.getIntent(CdmaCallForwardOptions.class));
Jang Hayeong4022b382019-07-16 20:05:17 +090065
66 CdmaCallWaitingPreference callWaitingPref = (CdmaCallWaitingPreference)getPreferenceScreen()
67 .findPreference(CALL_WAITING_KEY);
68 callWaitingPref.init(this, subInfoHelper.getPhone());
Santos Cordon7d4ddf62013-07-10 11:58:08 -070069 }
70
71 @Override
Sanket Padawee09a6f62015-03-05 11:59:39 -080072 public boolean onOptionsItemSelected(MenuItem item) {
73 final int itemId = item.getItemId();
74 if (itemId == android.R.id.home) {
75 onBackPressed();
76 return true;
77 }
78 return super.onOptionsItemSelected(item);
79 }
80
81 @Override
Santos Cordon7d4ddf62013-07-10 11:58:08 -070082 public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) {
83 if (preference.getKey().equals(BUTTON_VP_KEY)) {
84 return true;
85 }
86 return false;
87 }
Santos Cordon7d4ddf62013-07-10 11:58:08 -070088}