diff options
Diffstat (limited to 'src/com/android/settings/DataUsageSummary.java')
-rw-r--r-- | src/com/android/settings/DataUsageSummary.java | 47 |
1 files changed, 24 insertions, 23 deletions
diff --git a/src/com/android/settings/DataUsageSummary.java b/src/com/android/settings/DataUsageSummary.java index 7d45461..3b0ce59 100644 --- a/src/com/android/settings/DataUsageSummary.java +++ b/src/com/android/settings/DataUsageSummary.java @@ -278,6 +278,12 @@ public class DataUsageSummary extends Fragment { mShowWifi = mPrefs.getBoolean(PREF_SHOW_WIFI, false); mShowEthernet = mPrefs.getBoolean(PREF_SHOW_ETHERNET, false); + // override preferences when no mobile radio + if (!hasReadyMobileRadio(context)) { + mShowWifi = hasWifiRadio(context); + mShowEthernet = hasEthernet(context); + } + setHasOptionsMenu(true); } @@ -388,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); @@ -461,7 +464,6 @@ public class DataUsageSummary extends Fragment { showWifi.setChecked(mShowWifi); } else { showWifi.setVisible(false); - mShowWifi = true; } final MenuItem showEthernet = menu.findItem(R.id.data_usage_menu_show_ethernet); @@ -470,7 +472,6 @@ public class DataUsageSummary extends Fragment { showEthernet.setChecked(mShowEthernet); } else { showEthernet.setVisible(false); - mShowEthernet = true; } final MenuItem metered = menu.findItem(R.id.data_usage_menu_metered); @@ -570,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); - - 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); - } - }; + private void ensureLayoutTransitions() { + // skip when already setup + if (mChart.getLayoutTransition() != null) return; + + mTabsContainer.setLayoutTransition(buildLayoutTransition()); + mHeader.setLayoutTransition(buildLayoutTransition()); + mNetworkSwitchesContainer.setLayoutTransition(buildLayoutTransition()); + + final LayoutTransition chartTransition = buildLayoutTransition(); + chartTransition.disableTransitionType(LayoutTransition.APPEARING); + chartTransition.disableTransitionType(LayoutTransition.DISAPPEARING); + mChart.setLayoutTransition(chartTransition); + } private static LayoutTransition buildLayoutTransition() { final LayoutTransition transition = new LayoutTransition(); @@ -1172,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<ChartData> mChartDataCallbacks = new LoaderCallbacks< |