Avoid animation flashing and fix padding.
Bug: 6446203 Change-Id: Icea64d5d30d894a6438af9278bc2d10b8b921d29
This commit is contained in:
@@ -18,8 +18,8 @@
|
|||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:minHeight="?android:attr/listPreferredItemHeight"
|
android:minHeight="?android:attr/listPreferredItemHeight"
|
||||||
android:paddingLeft="@*android:dimen/preference_item_padding_side"
|
android:paddingLeft="?android:attr/listPreferredItemPaddingLeft"
|
||||||
android:paddingRight="@*android:dimen/preference_item_padding_side"
|
android:paddingRight="?android:attr/listPreferredItemPaddingRight"
|
||||||
android:paddingTop="8dip"
|
android:paddingTop="8dip"
|
||||||
android:paddingBottom="8dip"
|
android:paddingBottom="8dip"
|
||||||
android:columnCount="3">
|
android:columnCount="3">
|
||||||
|
@@ -20,8 +20,8 @@
|
|||||||
android:layout_height="40dip"
|
android:layout_height="40dip"
|
||||||
android:orientation="horizontal"
|
android:orientation="horizontal"
|
||||||
android:gravity="center_vertical"
|
android:gravity="center_vertical"
|
||||||
android:paddingLeft="@*android:dimen/preference_item_padding_side"
|
android:paddingLeft="?android:attr/listPreferredItemPaddingLeft"
|
||||||
android:paddingRight="@*android:dimen/preference_item_padding_side">
|
android:paddingRight="?android:attr/listPreferredItemPaddingRight">
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
|
@@ -18,20 +18,22 @@
|
|||||||
android:id="@+id/app_detail"
|
android:id="@+id/app_detail"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:orientation="vertical">
|
android:orientation="vertical"
|
||||||
|
android:visibility="gone">
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginLeft="@*android:dimen/preference_item_padding_side"
|
android:layout_marginLeft="?android:attr/listPreferredItemPaddingLeft"
|
||||||
android:layout_marginRight="@*android:dimen/preference_item_padding_side"
|
android:layout_marginRight="?android:attr/listPreferredItemPaddingRight"
|
||||||
android:orientation="horizontal">
|
android:orientation="horizontal">
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:layout_width="0dip"
|
android:layout_width="0dip"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_weight="1"
|
android:layout_weight="1"
|
||||||
android:layout_marginRight="@*android:dimen/preference_item_padding_inner"
|
android:layout_marginTop="8dip"
|
||||||
|
android:layout_marginRight="8dip"
|
||||||
android:orientation="vertical">
|
android:orientation="vertical">
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
@@ -82,8 +84,8 @@
|
|||||||
android:id="@+id/app_settings"
|
android:id="@+id/app_settings"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginLeft="@*android:dimen/preference_item_padding_side"
|
android:layout_marginLeft="?android:attr/listPreferredItemPaddingLeft"
|
||||||
android:layout_marginRight="@*android:dimen/preference_item_padding_side"
|
android:layout_marginRight="?android:attr/listPreferredItemPaddingRight"
|
||||||
android:layout_marginTop="16dip"
|
android:layout_marginTop="16dip"
|
||||||
android:layout_marginBottom="16dip"
|
android:layout_marginBottom="16dip"
|
||||||
android:text="@string/data_usage_app_settings" />
|
android:text="@string/data_usage_app_settings" />
|
||||||
|
@@ -41,8 +41,8 @@
|
|||||||
android:id="@+id/usage_summary"
|
android:id="@+id/usage_summary"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:paddingLeft="@*android:dimen/preference_item_padding_side"
|
android:paddingLeft="?android:attr/listPreferredItemPaddingLeft"
|
||||||
android:paddingRight="@*android:dimen/preference_item_padding_side"
|
android:paddingRight="?android:attr/listPreferredItemPaddingRight"
|
||||||
android:paddingTop="8dip"
|
android:paddingTop="8dip"
|
||||||
android:paddingBottom="8dip"
|
android:paddingBottom="8dip"
|
||||||
android:textAppearance="?android:attr/textAppearanceSmall" />
|
android:textAppearance="?android:attr/textAppearanceSmall" />
|
||||||
@@ -52,8 +52,8 @@
|
|||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:visibility="gone"
|
android:visibility="gone"
|
||||||
android:paddingLeft="@*android:dimen/preference_item_padding_side"
|
android:paddingLeft="?android:attr/listPreferredItemPaddingLeft"
|
||||||
android:paddingRight="@*android:dimen/preference_item_padding_side"
|
android:paddingRight="?android:attr/listPreferredItemPaddingRight"
|
||||||
android:paddingBottom="8dip"
|
android:paddingBottom="8dip"
|
||||||
android:text="@string/data_usage_empty"
|
android:text="@string/data_usage_empty"
|
||||||
android:textAppearance="?android:attr/textAppearanceSmall" />
|
android:textAppearance="?android:attr/textAppearanceSmall" />
|
||||||
|
@@ -394,9 +394,6 @@ public class DataUsageSummary extends Fragment {
|
|||||||
mUsageSummary = (TextView) mHeader.findViewById(R.id.usage_summary);
|
mUsageSummary = (TextView) mHeader.findViewById(R.id.usage_summary);
|
||||||
mEmpty = (TextView) mHeader.findViewById(android.R.id.empty);
|
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);
|
mAdapter = new DataUsageAdapter(mUidDetailProvider, mInsetSide);
|
||||||
mListView.setOnItemClickListener(mListListener);
|
mListView.setOnItemClickListener(mListListener);
|
||||||
mListView.setAdapter(mAdapter);
|
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() {
|
private void ensureLayoutTransitions() {
|
||||||
@Override
|
// skip when already setup
|
||||||
public void onGlobalLayout() {
|
if (mChart.getLayoutTransition() != null) return;
|
||||||
mListView.getViewTreeObserver().removeOnGlobalLayoutListener(mFirstLayoutListener);
|
|
||||||
|
|
||||||
mTabsContainer.setLayoutTransition(buildLayoutTransition());
|
mTabsContainer.setLayoutTransition(buildLayoutTransition());
|
||||||
mHeader.setLayoutTransition(buildLayoutTransition());
|
mHeader.setLayoutTransition(buildLayoutTransition());
|
||||||
mNetworkSwitchesContainer.setLayoutTransition(buildLayoutTransition());
|
mNetworkSwitchesContainer.setLayoutTransition(buildLayoutTransition());
|
||||||
|
|
||||||
final LayoutTransition chartTransition = buildLayoutTransition();
|
final LayoutTransition chartTransition = buildLayoutTransition();
|
||||||
chartTransition.setStartDelay(LayoutTransition.APPEARING, 0);
|
chartTransition.disableTransitionType(LayoutTransition.APPEARING);
|
||||||
chartTransition.setStartDelay(LayoutTransition.DISAPPEARING, 0);
|
chartTransition.disableTransitionType(LayoutTransition.DISAPPEARING);
|
||||||
chartTransition.setAnimator(LayoutTransition.APPEARING, null);
|
mChart.setLayoutTransition(chartTransition);
|
||||||
chartTransition.setAnimator(LayoutTransition.DISAPPEARING, null);
|
}
|
||||||
mChart.setLayoutTransition(chartTransition);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
private static LayoutTransition buildLayoutTransition() {
|
private static LayoutTransition buildLayoutTransition() {
|
||||||
final LayoutTransition transition = new LayoutTransition();
|
final LayoutTransition transition = new LayoutTransition();
|
||||||
@@ -1176,6 +1170,9 @@ public class DataUsageSummary extends Fragment {
|
|||||||
}
|
}
|
||||||
|
|
||||||
mUsageSummary.setText(getString(summaryRes, totalPhrase, rangePhrase));
|
mUsageSummary.setText(getString(summaryRes, totalPhrase, rangePhrase));
|
||||||
|
|
||||||
|
// initial layout is finished above, ensure we have transitions
|
||||||
|
ensureLayoutTransitions();
|
||||||
}
|
}
|
||||||
|
|
||||||
private final LoaderCallbacks<ChartData> mChartDataCallbacks = new LoaderCallbacks<
|
private final LoaderCallbacks<ChartData> mChartDataCallbacks = new LoaderCallbacks<
|
||||||
|
Reference in New Issue
Block a user