diff --git a/res/layout/app_percentage_item.xml b/res/layout/app_percentage_item.xml index e5710e4479d..949999a3456 100644 --- a/res/layout/app_percentage_item.xml +++ b/res/layout/app_percentage_item.xml @@ -18,8 +18,8 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:minHeight="?android:attr/listPreferredItemHeight" - android:paddingLeft="@*android:dimen/preference_item_padding_side" - android:paddingRight="@*android:dimen/preference_item_padding_side" + android:paddingLeft="?android:attr/listPreferredItemPaddingLeft" + android:paddingRight="?android:attr/listPreferredItemPaddingRight" android:paddingTop="8dip" android:paddingBottom="8dip" android:columnCount="3"> diff --git a/res/layout/data_usage_cycles.xml b/res/layout/data_usage_cycles.xml index 136fec63426..c9647c8ea30 100644 --- a/res/layout/data_usage_cycles.xml +++ b/res/layout/data_usage_cycles.xml @@ -20,8 +20,8 @@ android:layout_height="40dip" android:orientation="horizontal" android:gravity="center_vertical" - android:paddingLeft="@*android:dimen/preference_item_padding_side" - android:paddingRight="@*android:dimen/preference_item_padding_side"> + android:paddingLeft="?android:attr/listPreferredItemPaddingLeft" + android:paddingRight="?android:attr/listPreferredItemPaddingRight"> + android:orientation="vertical" + android:visibility="gone"> diff --git a/res/layout/data_usage_header.xml b/res/layout/data_usage_header.xml index a7b12b73237..619956d77c9 100644 --- a/res/layout/data_usage_header.xml +++ b/res/layout/data_usage_header.xml @@ -41,8 +41,8 @@ android:id="@+id/usage_summary" android:layout_width="match_parent" android:layout_height="wrap_content" - android:paddingLeft="@*android:dimen/preference_item_padding_side" - android:paddingRight="@*android:dimen/preference_item_padding_side" + android:paddingLeft="?android:attr/listPreferredItemPaddingLeft" + android:paddingRight="?android:attr/listPreferredItemPaddingRight" android:paddingTop="8dip" android:paddingBottom="8dip" android:textAppearance="?android:attr/textAppearanceSmall" /> @@ -52,8 +52,8 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:visibility="gone" - android:paddingLeft="@*android:dimen/preference_item_padding_side" - android:paddingRight="@*android:dimen/preference_item_padding_side" + android:paddingLeft="?android:attr/listPreferredItemPaddingLeft" + android:paddingRight="?android:attr/listPreferredItemPaddingRight" android:paddingBottom="8dip" android:text="@string/data_usage_empty" android:textAppearance="?android:attr/textAppearanceSmall" /> diff --git a/src/com/android/settings/DataUsageSummary.java b/src/com/android/settings/DataUsageSummary.java index 1255b6bcf7d..3b0ce595758 100644 --- a/src/com/android/settings/DataUsageSummary.java +++ b/src/com/android/settings/DataUsageSummary.java @@ -394,9 +394,6 @@ public class DataUsageSummary extends Fragment { mUsageSummary = (TextView) mHeader.findViewById(R.id.usage_summary); mEmpty = (TextView) mHeader.findViewById(android.R.id.empty); - // only assign layout transitions once first layout is finished - mListView.getViewTreeObserver().addOnGlobalLayoutListener(mFirstLayoutListener); - mAdapter = new DataUsageAdapter(mUidDetailProvider, mInsetSide); mListView.setOnItemClickListener(mListListener); mListView.setAdapter(mAdapter); @@ -574,25 +571,22 @@ public class DataUsageSummary extends Fragment { } /** - * Listener to setup {@link LayoutTransition} after first layout pass. + * Build and assign {@link LayoutTransition} to various containers. Should + * only be assigned after initial layout is complete. */ - private OnGlobalLayoutListener mFirstLayoutListener = new OnGlobalLayoutListener() { - @Override - public void onGlobalLayout() { - mListView.getViewTreeObserver().removeOnGlobalLayoutListener(mFirstLayoutListener); + private void ensureLayoutTransitions() { + // skip when already setup + if (mChart.getLayoutTransition() != null) return; - mTabsContainer.setLayoutTransition(buildLayoutTransition()); - mHeader.setLayoutTransition(buildLayoutTransition()); - mNetworkSwitchesContainer.setLayoutTransition(buildLayoutTransition()); + mTabsContainer.setLayoutTransition(buildLayoutTransition()); + mHeader.setLayoutTransition(buildLayoutTransition()); + mNetworkSwitchesContainer.setLayoutTransition(buildLayoutTransition()); - final LayoutTransition chartTransition = buildLayoutTransition(); - chartTransition.setStartDelay(LayoutTransition.APPEARING, 0); - chartTransition.setStartDelay(LayoutTransition.DISAPPEARING, 0); - chartTransition.setAnimator(LayoutTransition.APPEARING, null); - chartTransition.setAnimator(LayoutTransition.DISAPPEARING, null); - mChart.setLayoutTransition(chartTransition); - } - }; + final LayoutTransition chartTransition = buildLayoutTransition(); + chartTransition.disableTransitionType(LayoutTransition.APPEARING); + chartTransition.disableTransitionType(LayoutTransition.DISAPPEARING); + mChart.setLayoutTransition(chartTransition); + } private static LayoutTransition buildLayoutTransition() { final LayoutTransition transition = new LayoutTransition(); @@ -1176,6 +1170,9 @@ public class DataUsageSummary extends Fragment { } mUsageSummary.setText(getString(summaryRes, totalPhrase, rangePhrase)); + + // initial layout is finished above, ensure we have transitions + ensureLayoutTransitions(); } private final LoaderCallbacks mChartDataCallbacks = new LoaderCallbacks<