Settings: Allow configuring haptics for wake gestures [2/2]

Change-Id: Iaa771adfb1ebe588ebda65cd9e0ce0fcb359eb30
Signed-off-by: Ghosuto <clash.raja10@gmail.com>
This commit is contained in:
Ido Ben-Hur
2023-08-01 15:21:33 +03:00
committed by Joey
parent e47862be1b
commit c5a5cc1924
6 changed files with 44 additions and 0 deletions

View File

@@ -384,4 +384,8 @@
<string name="cycle_type_weekly_sub">Day of each week:\n1 = Monday</string>
<string name="cycle_type_daily_title">Usage cycle reset hour</string>
<string name="cycle_type_daily_sub">Hour of each day:</string>
<!-- Wake gestures haptics -->
<string name="doze_gesture_vibrate_title">Haptic feedback</string>
<string name="doze_gesture_vibrate_summary">Vibrate when this gesture is invoked</string>
</resources>

View File

@@ -31,4 +31,10 @@
app:keywords="@string/keywords_gesture"
app:controller="com.android.settings.gestures.DoubleTapScreenPreferenceController" />
<org.evolution.settings.preferences.SecureSettingSwitchPreference
android:key="doze_double_tap_gesture_vibrate"
android:title="@string/doze_gesture_vibrate_title"
android:summary="@string/doze_gesture_vibrate_summary"
android:defaultValue="false" />
</PreferenceScreen>

View File

@@ -41,4 +41,10 @@
android:summary="@string/doze_gesture_ambient_summary"
android:defaultValue="false" />
<org.evolution.settings.preferences.SecureSettingSwitchPreference
android:key="doze_pick_up_gesture_vibrate"
android:title="@string/doze_gesture_vibrate_title"
android:summary="@string/doze_gesture_vibrate_summary"
android:defaultValue="false" />
</PreferenceScreen>

View File

@@ -41,4 +41,10 @@
android:summary="@string/doze_gesture_ambient_summary"
android:defaultValue="true" />
<org.evolution.settings.preferences.SecureSettingSwitchPreference
android:key="doze_tap_gesture_vibrate"
android:title="@string/doze_gesture_vibrate_title"
android:summary="@string/doze_gesture_vibrate_summary"
android:defaultValue="false" />
</PreferenceScreen>

View File

@@ -17,6 +17,7 @@
package com.android.settings.gestures;
import android.content.Context;
import android.os.Vibrator;
import android.provider.Settings;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
@@ -36,11 +37,15 @@ public class PickupGestureInsidePreferenceController extends AbstractPreferenceC
private static final String KEY = "gesture_pick_up";
private static final String AMBIENT_KEY = "doze_pick_up_gesture_ambient";
private static final String VIB_KEY = "doze_pick_up_gesture_vibrate";
private final boolean mDefault;
private final Context mContext;
private MainSwitchPreference mSwitch;
private SecureSettingSwitchPreference mAmbientPref;
private SecureSettingSwitchPreference mVibPref;
private boolean mIsVibAvailable;
public PickupGestureInsidePreferenceController(Context context) {
super(context);
@@ -70,6 +75,11 @@ public class PickupGestureInsidePreferenceController extends AbstractPreferenceC
});
mSwitch.addOnSwitchChangeListener(this);
updateState(mSwitch);
mVibPref = screen.findPreference(VIB_KEY);
final Vibrator vibrator = (Vibrator) mContext.getSystemService(Context.VIBRATOR_SERVICE);
mIsVibAvailable = vibrator != null && vibrator.hasVibrator();
if (!mIsVibAvailable) mVibPref.setVisible(false);
}
public void setChecked(boolean isChecked) {
@@ -101,5 +111,6 @@ public class PickupGestureInsidePreferenceController extends AbstractPreferenceC
private void updateAmbientEnablement(boolean enabled) {
if (mAmbientPref == null) return;
mAmbientPref.setEnabled(enabled);
if (mVibPref != null && mIsVibAvailable) mVibPref.setEnabled(enabled);
}
}

View File

@@ -18,6 +18,7 @@ package com.android.settings.gestures;
import android.content.Context;
import android.os.SystemProperties;
import android.os.Vibrator;
import android.provider.Settings;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
@@ -37,10 +38,14 @@ public class TapPreferenceController extends AbstractPreferenceController
private static final String KEY = "gesture_tap";
private static final String AMBIENT_KEY = "doze_tap_gesture_ambient";
private static final String VIB_KEY = "doze_tap_gesture_vibrate";
private final Context mContext;
private MainSwitchPreference mSwitch;
private SecureSettingSwitchPreference mAmbientPref;
private SecureSettingSwitchPreference mVibPref;
private boolean mIsVibAvailable;
public TapPreferenceController(Context context) {
super(context);
@@ -68,6 +73,11 @@ public class TapPreferenceController extends AbstractPreferenceController
});
mSwitch.addOnSwitchChangeListener(this);
updateState(mSwitch);
mVibPref = screen.findPreference(VIB_KEY);
final Vibrator vibrator = (Vibrator) mContext.getSystemService(Context.VIBRATOR_SERVICE);
mIsVibAvailable = vibrator != null && vibrator.hasVibrator();
if (!mIsVibAvailable) mVibPref.setVisible(false);
}
public void setChecked(boolean isChecked) {
@@ -100,5 +110,6 @@ public class TapPreferenceController extends AbstractPreferenceController
private void updateAmbientEnablement(boolean enabled) {
if (mAmbientPref == null) return;
mAmbientPref.setEnabled(enabled);
if (mVibPref != null && mIsVibAvailable) mVibPref.setEnabled(enabled);
}
}