From 66f185a9e217eae57452b1c3af96ce24444a911e Mon Sep 17 00:00:00 2001 From: Amith Yamasani Date: Thu, 8 Mar 2012 11:15:49 -0800 Subject: [PATCH 1/2] Fix NPE due to removed preference. Bug: 6138309 Change-Id: I2161cb3bf58f1a1a67a136b4c7646cd7b53f6f8a --- src/com/android/settings/WirelessSettings.java | 7 ------- 1 file changed, 7 deletions(-) diff --git a/src/com/android/settings/WirelessSettings.java b/src/com/android/settings/WirelessSettings.java index 6ae3275f994..56f6d463348 100644 --- a/src/com/android/settings/WirelessSettings.java +++ b/src/com/android/settings/WirelessSettings.java @@ -45,7 +45,6 @@ public class WirelessSettings extends SettingsPreferenceFragment { private static final String KEY_WIMAX_SETTINGS = "wimax_settings"; private static final String KEY_ANDROID_BEAM_SETTINGS = "android_beam_settings"; private static final String KEY_VPN_SETTINGS = "vpn_settings"; - private static final String KEY_WIFI_P2P_SETTINGS = "wifi_p2p_settings"; private static final String KEY_TETHER_SETTINGS = "tether_settings"; private static final String KEY_PROXY_SETTINGS = "proxy_settings"; private static final String KEY_MOBILE_NETWORK_SETTINGS = "mobile_network_settings"; @@ -147,12 +146,6 @@ public class WirelessSettings extends SettingsPreferenceFragment { getPreferenceScreen().removePreference(findPreference(KEY_MOBILE_NETWORK_SETTINGS)); } - WifiP2pManager p2p = (WifiP2pManager) activity.getSystemService(Context.WIFI_P2P_SERVICE); - - if (!getPackageManager().hasSystemFeature(PackageManager.FEATURE_WIFI_DIRECT)) { - getPreferenceScreen().removePreference(findPreference(KEY_WIFI_P2P_SETTINGS)); - } - // Enable Proxy selector settings if allowed. Preference mGlobalProxy = findPreference(KEY_PROXY_SETTINGS); DevicePolicyManager mDPM = (DevicePolicyManager) From 10e7e56284dcacb7a4004a15ed141dc556544a98 Mon Sep 17 00:00:00 2001 From: Jeff Sharkey Date: Wed, 11 Apr 2012 11:03:25 -0700 Subject: [PATCH 2/2] Hide body immediately when no tabs. Also check for valid SIM card when checking 4G radio status. Bug: 6311752 Change-Id: Ic148f052429cc66bb51237bdc93c09f7c8ba3df1 --- src/com/android/settings/DataUsageSummary.java | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/com/android/settings/DataUsageSummary.java b/src/com/android/settings/DataUsageSummary.java index b0c38b99eef..70c0d9bacca 100644 --- a/src/com/android/settings/DataUsageSummary.java +++ b/src/com/android/settings/DataUsageSummary.java @@ -451,7 +451,7 @@ public class DataUsageSummary extends Fragment { mMenuRestrictBackground.setChecked(mPolicyManager.getRestrictBackground()); final MenuItem split4g = menu.findItem(R.id.data_usage_menu_split_4g); - split4g.setVisible(hasMobile4gRadio(context) && !appDetailMode); + split4g.setVisible(hasReadyMobile4gRadio(context) && !appDetailMode); split4g.setChecked(isMobilePolicySplit()); final MenuItem showWifi = menu.findItem(R.id.data_usage_menu_show_wifi); @@ -596,7 +596,7 @@ public class DataUsageSummary extends Fragment { mTabHost.clearAllTabs(); final boolean mobileSplit = isMobilePolicySplit(); - if (mobileSplit && hasMobile4gRadio(context)) { + if (mobileSplit && hasReadyMobile4gRadio(context)) { mTabHost.addTab(buildTabSpec(TAB_3G, R.string.data_usage_tab_3g)); mTabHost.addTab(buildTabSpec(TAB_4G, R.string.data_usage_tab_4g)); } else if (hasReadyMobileRadio(context)) { @@ -609,6 +609,7 @@ public class DataUsageSummary extends Fragment { mTabHost.addTab(buildTabSpec(TAB_ETHERNET, R.string.data_usage_tab_ethernet)); } + final boolean noTabs = mTabWidget.getTabCount() == 0; final boolean multipleTabs = mTabWidget.getTabCount() > 1; mTabWidget.setVisibility(multipleTabs ? View.VISIBLE : View.GONE); if (mIntentTab != null) { @@ -619,6 +620,9 @@ public class DataUsageSummary extends Fragment { mTabHost.setCurrentTabByTag(mIntentTab); } mIntentTab = null; + } else if (noTabs) { + // no usable tabs, so hide body + updateBody(); } else { // already hit updateBody() when added; ignore } @@ -2081,7 +2085,7 @@ public class DataUsageSummary extends Fragment { /** * Test if device has a mobile 4G data radio. */ - public static boolean hasMobile4gRadio(Context context) { + public static boolean hasReadyMobile4gRadio(Context context) { if (!NetworkPolicyEditor.ENABLE_SPLIT_POLICIES) { return false; } @@ -2093,7 +2097,8 @@ public class DataUsageSummary extends Fragment { final TelephonyManager tele = TelephonyManager.from(context); final boolean hasWimax = conn.isNetworkSupported(TYPE_WIMAX); - final boolean hasLte = tele.getLteOnCdmaMode() == Phone.LTE_ON_CDMA_TRUE; + final boolean hasLte = (tele.getLteOnCdmaMode() == Phone.LTE_ON_CDMA_TRUE) + && hasReadyMobileRadio(context); return hasWimax || hasLte; }