UDFPS Settings: beautifications

Move all UDFPS Settings to separate menu for ease of removal
for non-udfps devices

Signed-off-by: SuperDroidBond <superdroidbond@yahoo.com>
Signed-off-by: Hưng Phan <phandinhhungvp2001@gmail.com>
This commit is contained in:
SuperDroidBond
2022-01-06 20:55:58 +05:30
committed by Hưng Phan
parent 90452d5dcc
commit 06a6ff5dc3
5 changed files with 134 additions and 28 deletions

View File

@@ -60,8 +60,6 @@ public class LockScreenSettings extends SettingsPreferenceFragment implements
Preference.OnPreferenceChangeListener {
private static final String AOD_SCHEDULE_KEY = "always_on_display_schedule";
private static final String SCREEN_OFF_FOD_KEY = "screen_off_fod";
private static final String UDFPS_HAPTIC_FEEDBACK = "udfps_haptic_feedback";
static final int MODE_DISABLED = 0;
static final int MODE_NIGHT = 1;
@@ -71,8 +69,6 @@ public class LockScreenSettings extends SettingsPreferenceFragment implements
Preference mAODPref;
Preference mFODPref;
private SystemSettingSwitchPreference mFODScreenOff;
private SystemSettingSwitchPreference mUdfpsHapticFeedback;
@Override
public void onCreate(Bundle icicle) {
@@ -94,8 +90,6 @@ public class LockScreenSettings extends SettingsPreferenceFragment implements
}
PreferenceCategory udfps = (PreferenceCategory) prefScreen.findPreference("udfps_category");
mFODScreenOff = (SystemSettingSwitchPreference) findPreference(SCREEN_OFF_FOD_KEY);
mUdfpsHapticFeedback = (SystemSettingSwitchPreference) findPreference(UDFPS_HAPTIC_FEEDBACK);
if (!FodUtils.hasFodSupport(getContext())) {
prefScreen.removePreference(udfps);
}

View File

@@ -0,0 +1,78 @@
/*
* Copyright (C) 2020-22 The CherishOS Projects
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
package com.cherish.settings.fragments;
import com.android.internal.logging.nano.MetricsProto;
import android.app.Activity;
import android.content.Context;
import android.content.ContentResolver;
import android.app.WallpaperManager;
import android.content.Intent;
import android.content.res.Resources;
import android.hardware.fingerprint.FingerprintManager;
import android.net.Uri;
import android.os.Bundle;
import androidx.preference.ListPreference;
import androidx.preference.Preference;
import androidx.preference.PreferenceCategory;
import androidx.preference.PreferenceFragment;
import androidx.preference.PreferenceManager;
import androidx.preference.SwitchPreference;
import androidx.preference.PreferenceScreen;
import androidx.preference.Preference.OnPreferenceChangeListener;
import android.provider.Settings;
import com.android.settings.R;
import com.android.settings.SettingsPreferenceFragment;
import com.android.internal.util.cherish.fod.FodUtils;
import com.android.internal.util.cherish.CherishUtils;
import com.cherish.settings.preferences.SystemSettingSwitchPreference;
public class UdfpsSettings extends SettingsPreferenceFragment implements
Preference.OnPreferenceChangeListener {
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
addPreferencesFromResource(R.xml.cherish_settings_udfps);
final PreferenceScreen prefScreen = getPreferenceScreen();
Resources resources = getResources();
boolean udfpsResPkgInstalled = CherishUtils.isPackageInstalled(getContext(),
"com.cherish.udfps.resources");
PreferenceCategory udfps_custom = (PreferenceCategory) prefScreen.findPreference("udfps_customization");
if (!udfpsResPkgInstalled) {
prefScreen.removePreference(udfps_custom);
}
}
public boolean onPreferenceChange(Preference preference, Object newValue) {
ContentResolver resolver = getActivity().getContentResolver();
return false;
}
@Override
public int getMetricsCategory() {
return MetricsProto.MetricsEvent.CHERISH_SETTINGS;
}
}