summaryrefslogtreecommitdiffstats
path: root/src/com/android/settings/DataUsageSummary.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/settings/DataUsageSummary.java')
-rw-r--r--src/com/android/settings/DataUsageSummary.java47
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<