Add handling for fingerprint swipe in gesture settings.
Hide fingerprint swipe setting if it is not supported, and update the corresponding config when user enable/disable the fingerprint gesture. Bug: 28565958 Change-Id: I5a124d3b6933ea6d3aadceaa0eecaa4bee2ccd9d
This commit is contained in:
@@ -22,6 +22,7 @@ import android.os.Build;
|
|||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.SystemProperties;
|
import android.os.SystemProperties;
|
||||||
import android.provider.SearchIndexableResource;
|
import android.provider.SearchIndexableResource;
|
||||||
|
import android.provider.Settings.Global;
|
||||||
import android.provider.Settings.Secure;
|
import android.provider.Settings.Secure;
|
||||||
import android.support.v7.preference.Preference;
|
import android.support.v7.preference.Preference;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
@@ -80,6 +81,16 @@ public class GestureSettings extends SettingsPreferenceFragment implements
|
|||||||
removePreference(PREF_KEY_PICK_UP_AND_NUDGE);
|
removePreference(PREF_KEY_PICK_UP_AND_NUDGE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Fingerprint slide for notifications
|
||||||
|
if (isSystemUINavigationAvailable(context)) {
|
||||||
|
GesturePreference preference =
|
||||||
|
(GesturePreference) findPreference(PREF_KEY_SWIPE_DOWN_FINGERPRINT);
|
||||||
|
preference.setChecked(isSystemUINavigationEnabled(context));
|
||||||
|
preference.setOnPreferenceChangeListener(this);
|
||||||
|
} else {
|
||||||
|
removePreference(PREF_KEY_SWIPE_DOWN_FINGERPRINT);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -87,10 +98,13 @@ public class GestureSettings extends SettingsPreferenceFragment implements
|
|||||||
boolean enabled = (boolean) newValue;
|
boolean enabled = (boolean) newValue;
|
||||||
String key = preference.getKey();
|
String key = preference.getKey();
|
||||||
if (PREF_KEY_DOUBLE_TAP_POWER.equals(key)) {
|
if (PREF_KEY_DOUBLE_TAP_POWER.equals(key)) {
|
||||||
Secure.putInt(getActivity().getContentResolver(),
|
Secure.putInt(getContentResolver(),
|
||||||
Secure.CAMERA_DOUBLE_TAP_POWER_GESTURE_DISABLED, enabled ? 0 : 1);
|
Secure.CAMERA_DOUBLE_TAP_POWER_GESTURE_DISABLED, enabled ? 0 : 1);
|
||||||
} else if (PREF_KEY_PICK_UP_AND_NUDGE.equals(key)) {
|
} else if (PREF_KEY_PICK_UP_AND_NUDGE.equals(key)) {
|
||||||
Secure.putInt(getActivity().getContentResolver(), Secure.DOZE_ENABLED, enabled ? 1 : 0);
|
Secure.putInt(getContentResolver(), Secure.DOZE_ENABLED, enabled ? 1 : 0);
|
||||||
|
} else if (PREF_KEY_SWIPE_DOWN_FINGERPRINT.equals(key)) {
|
||||||
|
Global.putInt(getContentResolver(),
|
||||||
|
Global.SYSTEM_NAVIGATION_KEYS_ENABLED, enabled ? 1 : 0);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -114,6 +128,16 @@ public class GestureSettings extends SettingsPreferenceFragment implements
|
|||||||
return !TextUtils.isEmpty(name);
|
return !TextUtils.isEmpty(name);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static boolean isSystemUINavigationAvailable(Context context) {
|
||||||
|
return context.getResources().getBoolean(
|
||||||
|
com.android.internal.R.bool.config_supportSystemNavigationKeys);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static boolean isSystemUINavigationEnabled(Context context) {
|
||||||
|
return Global.getInt(context.getContentResolver(), Global.SYSTEM_NAVIGATION_KEYS_ENABLED, 0)
|
||||||
|
== 1;
|
||||||
|
}
|
||||||
|
|
||||||
public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
|
public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
|
||||||
new BaseSearchIndexProvider() {
|
new BaseSearchIndexProvider() {
|
||||||
@Override
|
@Override
|
||||||
@@ -138,6 +162,9 @@ public class GestureSettings extends SettingsPreferenceFragment implements
|
|||||||
if (!isDozeAvailable(context)) {
|
if (!isDozeAvailable(context)) {
|
||||||
result.add(PREF_KEY_PICK_UP_AND_NUDGE);
|
result.add(PREF_KEY_PICK_UP_AND_NUDGE);
|
||||||
}
|
}
|
||||||
|
if (!isSystemUINavigationAvailable(context)) {
|
||||||
|
result.add(PREF_KEY_SWIPE_DOWN_FINGERPRINT);
|
||||||
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
Reference in New Issue
Block a user