Settings: Incall vibration option [3/3]

* allow setting vibration when call is connected
* allow setting vibration when call is disconnected
* allow setting vibration for call waiting
* this works with google and aosp dialer :)

Adapted to PE

[arrow-13.0]:
- Move inside accessibility_vibration_settings
  as all the aosp vibration toggles are there

includes:
fixup! Settings: incall vibration options [3/3]

[ghostrider-reborn]
- Enable by default
- Add to the slider-based prefs page as well

Change-Id: I55e99f501a3af07287c57a23939666351f4cef67
Signed-off-by: Karan Parashar <whyredfire@gmail.com>
Signed-off-by: Adithya R <gh0strider.2k18.reborn@gmail.com>
Signed-off-by: someone5678 <someone5678@users.noreply.github.com>
This commit is contained in:
beanstown106
2017-09-05 14:44:44 +08:00
committed by Joey
parent 7c57f71f72
commit 58864d1c1e
4 changed files with 93 additions and 0 deletions

View File

@@ -234,4 +234,10 @@
<!-- Doze on charge -->
<string name="doze_on_charge_title">Always show when charging</string>
<string name="doze_on_charge_summary">Display info when device is charging</string>
<!-- Incall vibrate options -->
<string name="incall_vibration_category">In-call vibration options</string>
<string name="incall_vibrate_connect_title">Vibrate on connect</string>
<string name="incall_vibrate_call_wait_title">Vibrate on call waiting</string>
<string name="incall_vibrate_disconnect_title">Vibrate on disconnect</string>
</resources>

View File

@@ -93,4 +93,27 @@
</PreferenceCategory>
<!-- Incall vibration options -->
<PreferenceCategory
android:key="accessibility_incall_vibration_category"
android:title="@string/incall_vibration_category"
app:controller="com.android.settings.sound.IncallFeedbackPreferenceController">
<org.evolution.settings.preferences.SystemSettingSwitchPreference
android:key="vibrate_on_connect"
android:title="@string/incall_vibrate_connect_title"
android:defaultValue="true" />
<org.evolution.settings.preferences.SystemSettingSwitchPreference
android:key="vibrate_on_callwaiting"
android:title="@string/incall_vibrate_call_wait_title"
android:defaultValue="true" />
<org.evolution.settings.preferences.SystemSettingSwitchPreference
android:key="vibrate_on_disconnect"
android:title="@string/incall_vibrate_disconnect_title"
android:defaultValue="true" />
</PreferenceCategory>
</PreferenceScreen>

View File

@@ -85,4 +85,27 @@
</PreferenceCategory>
<!-- Incall vibration options -->
<PreferenceCategory
android:key="accessibility_incall_vibration_category"
android:title="@string/incall_vibration_category"
app:controller="com.android.settings.sound.IncallFeedbackPreferenceController">
<org.evolution.settings.preferences.SystemSettingSwitchPreference
android:key="vibrate_on_connect"
android:title="@string/incall_vibrate_connect_title"
android:defaultValue="true" />
<org.evolution.settings.preferences.SystemSettingSwitchPreference
android:key="vibrate_on_callwaiting"
android:title="@string/incall_vibrate_call_wait_title"
android:defaultValue="true" />
<org.evolution.settings.preferences.SystemSettingSwitchPreference
android:key="vibrate_on_disconnect"
android:title="@string/incall_vibrate_disconnect_title"
android:defaultValue="true" />
</PreferenceCategory>
</PreferenceScreen>

View File

@@ -0,0 +1,41 @@
/*
* Copyright (C) 2019 The PixelExperience 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.settings.sound;
import android.content.Context;
import android.telephony.TelephonyManager;
import com.android.settings.core.BasePreferenceController;
public class IncallFeedbackPreferenceController extends BasePreferenceController {
public IncallFeedbackPreferenceController(Context context, String key) {
super(context, key);
}
@Override
public int getAvailabilityStatus() {
return isVoiceCapable() ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
}
private boolean isVoiceCapable() {
TelephonyManager telephony =
(TelephonyManager) mContext.getSystemService(Context.TELEPHONY_SERVICE);
return telephony != null && telephony.isVoiceCapable();
}
}