Fix jank when loading emergency info.
Previously, empty elements were removed when the fragments are resumed,
but not during initial creation. As a result, the transition from
"present but empty" to "absent" was visible.
Fix: 63078874
Test: manual
Change-Id: Iaff095f574d10d5a7979daa95219d0c8df1d8e78
diff --git a/src/com/android/emergency/edit/EditInfoFragment.java b/src/com/android/emergency/edit/EditInfoFragment.java
index eb642e2..006c725 100644
--- a/src/com/android/emergency/edit/EditInfoFragment.java
+++ b/src/com/android/emergency/edit/EditInfoFragment.java
@@ -58,6 +58,10 @@
for (String preferenceKey : PreferenceKeys.KEYS_EDIT_EMERGENCY_INFO) {
Preference preference = findPreference(preferenceKey);
mMedicalInfoPreferences.put(preferenceKey, preference);
+
+ if (((ReloadablePreferenceInterface) preference).isNotSet()) {
+ getMedicalInfoParent().removePreference(preference);
+ }
}
// Fill in emergency contacts.
diff --git a/src/com/android/emergency/view/ViewEmergencyInfoFragment.java b/src/com/android/emergency/view/ViewEmergencyInfoFragment.java
index d3eef03..baa7996 100644
--- a/src/com/android/emergency/view/ViewEmergencyInfoFragment.java
+++ b/src/com/android/emergency/view/ViewEmergencyInfoFragment.java
@@ -45,6 +45,10 @@
for (String preferenceKey : PreferenceKeys.KEYS_VIEW_EMERGENCY_INFO) {
Preference preference = findPreference(preferenceKey);
mPreferences.add(preference);
+
+ if (((ReloadablePreferenceInterface) preference).isNotSet()) {
+ getPreferenceScreen().removePreference(preference);
+ }
}
}