Cherish:Intitial for Android 11

Signed-off-by: Hưng Phan <phandinhhungvp2001@gmail.com>
This commit is contained in:
Hưng Phan
2020-09-26 12:29:26 +07:00
parent e1061bf1a5
commit e6308bab52
59 changed files with 20 additions and 9500 deletions

View File

@@ -26,12 +26,6 @@ import com.android.settings.SettingsPreferenceFragment;
public class RecentsSettings extends SettingsPreferenceFragment implements
OnPreferenceChangeListener {
private static final String PREF_STOCK_RECENTS_CATEGORY = "stock_recents_category";
private static final String PREF_ALTERNATIVE_RECENTS_CATEGORY = "alternative_recents_category";
private static final String PREF_SWIPE_UP_ENABLED = "swipe_up_enabled_warning";
private PreferenceCategory mStockRecentsCategory;
private PreferenceCategory mAlternativeRecentsCategory;
private Context mContext;
@Override
@@ -41,78 +35,8 @@ public class RecentsSettings extends SettingsPreferenceFragment implements
addPreferencesFromResource(R.xml.cherish_settings_recents);
ContentResolver resolver = getActivity().getContentResolver();
mStockRecentsCategory = (PreferenceCategory) findPreference(PREF_STOCK_RECENTS_CATEGORY);
mAlternativeRecentsCategory =
(PreferenceCategory) findPreference(PREF_ALTERNATIVE_RECENTS_CATEGORY);
// Alternative recents en-/disabling
Preference.OnPreferenceChangeListener alternativeRecentsChangeListener =
new Preference.OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
updateDependencies(preference, (Boolean) newValue);
return true;
}
};
for (int i = 0; i < mAlternativeRecentsCategory.getPreferenceCount(); i++) {
Preference preference = mAlternativeRecentsCategory.getPreference(i);
if (preference instanceof SystemSettingMasterSwitchPreference) {
preference.setOnPreferenceChangeListener(alternativeRecentsChangeListener);
}
}
updateDependencies();
// Warning for alternative recents when gesture navigation is enabled,
// which directly controls quickstep (launcher) recents.
final int navigationMode = getActivity().getResources()
.getInteger(com.android.internal.R.integer.config_navBarInteractionMode);
// config_navBarInteractionMode:
// 0: 3 button mode (supports slim recents)
// 1: 2 button mode (currently does not support alternative recents)
// 2: gesture only (currently does not support alternative recents)
if (navigationMode != 0) {
for (int i = 0; i < mAlternativeRecentsCategory.getPreferenceCount(); i++) {
Preference preference = mAlternativeRecentsCategory.getPreference(i);
if (PREF_SWIPE_UP_ENABLED.equals(preference.getKey())) {
// We want to have that one enabled
continue;
}
preference.setEnabled(false);
}
} else {
mAlternativeRecentsCategory.removePreference(findPreference(PREF_SWIPE_UP_ENABLED));
}
}
private void updateDependencies() {
updateDependencies(null, null);
}
private void updateDependencies(Preference updatedPreference, Boolean newValue) {
// Disable stock recents category if alternative enabled
boolean alternativeRecentsEnabled = newValue != null && newValue;
if (!alternativeRecentsEnabled) {
for (int i = 0; i < mAlternativeRecentsCategory.getPreferenceCount(); i++) {
Preference preference = mAlternativeRecentsCategory.getPreference(i);
if (preference == updatedPreference) {
// Already used newValue
continue;
}
if (preference instanceof SystemSettingMasterSwitchPreference
&& ((SystemSettingMasterSwitchPreference) preference).isChecked()) {
alternativeRecentsEnabled = true;
break;
}
}
}
if (mStockRecentsCategory != null) {
mStockRecentsCategory.setEnabled(!alternativeRecentsEnabled);
}
}
}
@Override
public boolean onPreferenceChange(Preference preference, Object objValue) {
@@ -124,4 +48,4 @@ public class RecentsSettings extends SettingsPreferenceFragment implements
public int getMetricsCategory() {
return MetricsProto.MetricsEvent.CHERISH_SETTINGS;
}
}
}