Cherish: Fingerprint authentication vibration [2/2]

Signed-off-by: Hưng Phan <phandinhhungvp2001@gmail.com>
This commit is contained in:
Beanstown
2023-03-20 02:20:22 +07:00
committed by Hưng Phan
parent 64d52be566
commit a5aef65c5c
4 changed files with 67 additions and 5 deletions

View File

@@ -19,6 +19,7 @@
<string name="button_summary">Hardware keys, Navigation bar</string> <string name="button_summary">Hardware keys, Navigation bar</string>
<string name="gestures_title">Gestures</string> <string name="gestures_title">Gestures</string>
<string name="gestures_summary">Jump to camera, swipe to screenshot</string> <string name="gestures_summary">Jump to camera, swipe to screenshot</string>
<string name="fingerprint_category">Fingerprint</string>
<string name="lockscreen_title">Lock screen</string> <string name="lockscreen_title">Lock screen</string>
<string name="lockscreen_summary">Music visualizer, charging animation, clock style</string> <string name="lockscreen_summary">Music visualizer, charging animation, clock style</string>
<string name="misc_title">Miscellaneous</string> <string name="misc_title">Miscellaneous</string>
@@ -864,4 +865,10 @@
<!-- Black theme --> <!-- Black theme -->
<string name="system_black_theme_title">Vivid Colors</string> <string name="system_black_theme_title">Vivid Colors</string>
<string name="system_black_theme_summary">Use colorful and darker monet shades</string> <string name="system_black_theme_summary">Use colorful and darker monet shades</string>
<!-- Fingerprint authentication vibration -->
<string name="fprint_error_vib_title">Fingerprint error vibration</string>
<string name="fprint_error_vib_summary">Vibrate on error fingerprint authentication</string>
<string name="fprint_success_vib_title">Fingerprint authentication vibration</string>
<string name="fprint_success_vib_summary">Vibrate on successful fingerprint authentication</string>
</resources> </resources>

View File

@@ -18,4 +18,4 @@
android:title="@string/gestures_title" android:title="@string/gestures_title"
xmlns:settings="http://schemas.android.com/apk/res/com.android.settings"> xmlns:settings="http://schemas.android.com/apk/res/com.android.settings">
</PreferenceScreen> </PreferenceScreen>

View File

@@ -72,6 +72,24 @@
android:title="@string/enable_fingerprint_ripple_effect_title" android:title="@string/enable_fingerprint_ripple_effect_title"
android:summary="@string/enable_fingerprint_ripple_effect_summary" android:summary="@string/enable_fingerprint_ripple_effect_summary"
android:defaultValue="true" /> android:defaultValue="true" />
<PreferenceCategory
android:key="lockscreen_ui_finterprint_category"
android:title="@string/fingerprint_category">
<SwitchPreference
android:key="fingerprint_success_vib"
android:title="@string/fprint_success_vib_title"
android:summary="@string/fprint_success_vib_summary"
android:persistent="true" />
<SwitchPreference
android:key="fingerprint_error_vib"
android:title="@string/fprint_error_vib_title"
android:summary="@string/fprint_error_vib_summary"
android:persistent="true" />
</PreferenceCategory>
<PreferenceCategory <PreferenceCategory
android:key="lockscreen_media_art_options" android:key="lockscreen_media_art_options"

View File

@@ -62,6 +62,13 @@ public class LockScreenSettings extends SettingsPreferenceFragment implements
private static final String UDFPS_CATEGORY = "udfps_category"; private static final String UDFPS_CATEGORY = "udfps_category";
private static final String TORCH_POWER_BUTTON_GESTURE = "torch_power_button_gesture"; private static final String TORCH_POWER_BUTTON_GESTURE = "torch_power_button_gesture";
private static final String FINGERPRINT_SUCCESS_VIB = "fingerprint_success_vib";
private static final String FINGERPRINT_ERROR_VIB = "fingerprint_error_vib";
private FingerprintManager mFingerprintManager;
private SwitchPreference mFingerprintSuccessVib;
private SwitchPreference mFingerprintErrorVib;
private ListPreference mLockClockStyles; private ListPreference mLockClockStyles;
@@ -73,10 +80,9 @@ public class LockScreenSettings extends SettingsPreferenceFragment implements
public void onCreate(Bundle icicle) { public void onCreate(Bundle icicle) {
super.onCreate(icicle); super.onCreate(icicle);
addPreferencesFromResource(R.xml.cherish_settings_lockscreen); addPreferencesFromResource(R.xml.cherish_settings_lockscreen);
final ContentResolver resolver = getActivity().getContentResolver();
ContentResolver resolver = getActivity().getContentResolver(); final PreferenceScreen prefSet = getPreferenceScreen();
PreferenceScreen prefScreen = getPreferenceScreen(); final PackageManager mPm = getActivity().getPackageManager();
Resources resources = getResources();
Resources res = null; Resources res = null;
Context ctx = getContext(); Context ctx = getContext();
@@ -100,6 +106,27 @@ public class LockScreenSettings extends SettingsPreferenceFragment implements
mTorchPowerButton.setValue(Integer.toString(mTorchPowerButtonValue)); mTorchPowerButton.setValue(Integer.toString(mTorchPowerButtonValue));
mTorchPowerButton.setSummary(mTorchPowerButton.getEntry()); mTorchPowerButton.setSummary(mTorchPowerButton.getEntry());
mTorchPowerButton.setOnPreferenceChangeListener(this); mTorchPowerButton.setOnPreferenceChangeListener(this);
mFingerprintManager = (FingerprintManager) getActivity().getSystemService(Context.FINGERPRINT_SERVICE);
mFingerprintSuccessVib = (SwitchPreference) findPreference(FINGERPRINT_SUCCESS_VIB);
mFingerprintErrorVib = (SwitchPreference) findPreference(FINGERPRINT_ERROR_VIB);
if (mPm.hasSystemFeature(PackageManager.FEATURE_FINGERPRINT) &&
mFingerprintManager != null) {
if (!mFingerprintManager.isHardwareDetected()){
prefSet.removePreference(mFingerprintSuccessVib);
prefSet.removePreference(mFingerprintErrorVib);
} else {
mFingerprintSuccessVib.setChecked((Settings.System.getInt(getContentResolver(),
Settings.System.FP_SUCCESS_VIBRATE, 1) == 1));
mFingerprintSuccessVib.setOnPreferenceChangeListener(this);
mFingerprintErrorVib.setChecked((Settings.System.getInt(getContentResolver(),
Settings.System.FP_ERROR_VIBRATE, 1) == 1));
mFingerprintErrorVib.setOnPreferenceChangeListener(this);
}
} else {
prefSet.removePreference(mFingerprintSuccessVib);
prefSet.removePreference(mFingerprintErrorVib);
}
} }
@Override @Override
@@ -117,6 +144,16 @@ public class LockScreenSettings extends SettingsPreferenceFragment implements
Settings.System.putInt(resolver, Settings.System.TORCH_POWER_BUTTON_GESTURE, Settings.System.putInt(resolver, Settings.System.TORCH_POWER_BUTTON_GESTURE,
mTorchPowerButtonValue); mTorchPowerButtonValue);
return true; return true;
} else if (preference == mFingerprintSuccessVib) {
boolean value = (Boolean) newValue;
Settings.System.putInt(getActivity().getContentResolver(),
Settings.System.FP_SUCCESS_VIBRATE, value ? 1 : 0);
return true;
} else if (preference == mFingerprintErrorVib) {
boolean value = (Boolean) newValue;
Settings.System.putInt(getActivity().getContentResolver(),
Settings.System.FP_ERROR_VIBRATE, value ? 1 : 0);
return true;
} }
return false; return false;
} }