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

@@ -62,6 +62,13 @@ public class LockScreenSettings extends SettingsPreferenceFragment implements
private static final String UDFPS_CATEGORY = "udfps_category";
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;
@@ -73,10 +80,9 @@ public class LockScreenSettings extends SettingsPreferenceFragment implements
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
addPreferencesFromResource(R.xml.cherish_settings_lockscreen);
ContentResolver resolver = getActivity().getContentResolver();
PreferenceScreen prefScreen = getPreferenceScreen();
Resources resources = getResources();
final ContentResolver resolver = getActivity().getContentResolver();
final PreferenceScreen prefSet = getPreferenceScreen();
final PackageManager mPm = getActivity().getPackageManager();
Resources res = null;
Context ctx = getContext();
@@ -100,6 +106,27 @@ public class LockScreenSettings extends SettingsPreferenceFragment implements
mTorchPowerButton.setValue(Integer.toString(mTorchPowerButtonValue));
mTorchPowerButton.setSummary(mTorchPowerButton.getEntry());
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
@@ -117,6 +144,16 @@ public class LockScreenSettings extends SettingsPreferenceFragment implements
Settings.System.putInt(resolver, Settings.System.TORCH_POWER_BUTTON_GESTURE,
mTorchPowerButtonValue);
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;
}