需求说明
修改点【mt67xx_11.0】:
--- a/alps/vendor/mediatek/proprietary/packages/apps/MtkSettings/res/xml/system_dashboard_fragment.xml
+++ b/alps/vendor/mediatek/proprietary/packages/apps/MtkSettings/res/xml/system_dashboard_fragment.xml
@@ -19,7 +19,7 @@
xmlns:settings="http://schemas.android.com/apk/res-auto"
android:key="system_dashboard_screen"
android:title="@string/header_category_system"
- settings:initialExpandedChildrenCount="4">
+ settings:initialExpandedChildrenCount="8"> //xml文件内有7项,其中”备份“项是动态加载的
相关方法:
//system_dashboard_fragment.xml的处理类
//vendor/mediatek/proprietary/packages/apps/MtkSettings/src/com/android/settings/system/SystemDashboardFragment.java
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
final PreferenceScreen screen = getPreferenceScreen();
// We do not want to display an advanced button if only one setting is hidden
if (getVisiblePreferenceCount(screen) == screen.getInitialExpandedChildrenCount() + 1) {
screen.setInitialExpandedChildrenCount(Integer.MAX_VALUE);
}
showRestrictionDialog();
}
private int getVisiblePreferenceCount(PreferenceGroup group) {
int visibleCount = 0;
for (int i = 0; i < group.getPreferenceCount(); i++) {
final Preference preference = group.getPreference(i);
if (preference instanceof PreferenceGroup) {
visibleCount += getVisiblePreferenceCount((PreferenceGroup) preference);
} else if (preference.isVisible()) {
visibleCount++;
}
}
return visibleCount;
}
//SystemDashboardFragment继承DashboardFragment
//vendor/mediatek/proprietary/packages/apps/MtkSettings/src/com/android/settings/dashboard/DashboardFragment.java
private void displayResourceTiles() {
final int resId = getPreferenceScreenResId();
if (resId <= 0) {
return;
}
addPreferencesFromResource(resId);
final PreferenceScreen screen = getPreferenceScreen();
screen.setOnExpandButtonClickListener(this);
displayResourceTilesToScreen(screen);
}
/**
* Perform {@link AbstractPreferenceController#displayPreference(PreferenceScreen)}
* on all {@link AbstractPreferenceController}s.
*/
protected void displayResourceTilesToScreen(PreferenceScreen screen) {
mPreferenceControllers.values().stream().flatMap(Collection::stream).forEach(
controller -> controller.displayPreference(screen));
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)