TopLevelSettings: Fix null pointer crash on high dpi devices

* reference issue: https://github.com/RisingTechOSS/issue_tracker/issues/49

cc: mnri
This commit is contained in:
minaripenguin
2024-12-03 08:37:09 +08:00
committed by Joey
parent 76718b1ff5
commit 50169a920c

View File

@@ -54,6 +54,7 @@ import com.android.settings.overlay.FeatureFactory;
import com.android.settings.search.BaseSearchIndexProvider; import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.support.SupportPreferenceController; import com.android.settings.support.SupportPreferenceController;
import com.android.settings.widget.HomepagePreference; import com.android.settings.widget.HomepagePreference;
import com.android.settings.widget.HomepagePreferenceLayoutHelper;
import com.android.settings.widget.HomepagePreferenceLayoutHelper.HomepagePreferenceLayout; import com.android.settings.widget.HomepagePreferenceLayoutHelper.HomepagePreferenceLayout;
import com.android.settingslib.core.instrumentation.Instrumentable; import com.android.settingslib.core.instrumentation.Instrumentable;
import com.android.settingslib.drawer.Tile; import com.android.settingslib.drawer.Tile;
@@ -290,10 +291,11 @@ public class TopLevelSettings extends DashboardFragment implements SplitLayoutLi
@Override @Override
public void doForEach(Preference preference) { public void doForEach(Preference preference) {
if (preference instanceof HomepagePreferenceLayout) { if (preference instanceof HomepagePreferenceLayout) {
((HomepagePreferenceLayout) preference).getHelper() HomepagePreferenceLayoutHelper helper = ((HomepagePreferenceLayout) preference).getHelper();
.setIconPaddingStart(mIconPaddingStart); if (helper != null) {
((HomepagePreferenceLayout) preference).getHelper() helper.setIconPaddingStart(mIconPaddingStart);
.setTextPaddingStart(mTextPaddingStart); helper.setTextPaddingStart(mTextPaddingStart);
}
} }
} }
}); });