diff options
Diffstat (limited to 'src/com')
-rw-r--r-- | src/com/android/settings/DataUsageSummary.java | 7 | ||||
-rw-r--r-- | src/com/android/settings/print/PrintJobSettingsFragment.java | 9 | ||||
-rw-r--r-- | src/com/android/settings/wifi/WifiEnabler.java | 23 |
3 files changed, 30 insertions, 9 deletions
diff --git a/src/com/android/settings/DataUsageSummary.java b/src/com/android/settings/DataUsageSummary.java index 17c6d88..872de1a 100644 --- a/src/com/android/settings/DataUsageSummary.java +++ b/src/com/android/settings/DataUsageSummary.java @@ -513,11 +513,8 @@ public class DataUsageSummary extends HighlightingFragment implements Indexable mMenuSimCards.setVisible(false); mMenuCellularNetworks = menu.findItem(R.id.data_usage_menu_cellular_networks); - if (hasReadyMobileRadio(context)) { - mMenuCellularNetworks.setVisible(!appDetailMode); - } else { - mMenuCellularNetworks.setVisible(false); - } + mMenuCellularNetworks.setVisible(hasReadyMobileRadio(context) + && !appDetailMode && isOwner); final MenuItem help = menu.findItem(R.id.data_usage_menu_help); String helpUrl; diff --git a/src/com/android/settings/print/PrintJobSettingsFragment.java b/src/com/android/settings/print/PrintJobSettingsFragment.java index a72fa7d..34db97b 100644 --- a/src/com/android/settings/print/PrintJobSettingsFragment.java +++ b/src/com/android/settings/print/PrintJobSettingsFragment.java @@ -112,13 +112,18 @@ public class PrintJobSettingsFragment extends SettingsPreferenceFragment { public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { super.onCreateOptionsMenu(menu, inflater); - if (!getPrintJob().getInfo().isCancelling()) { + PrintJob printJob = getPrintJob(); + if (printJob == null) { + return; + } + + if (!printJob.getInfo().isCancelling()) { MenuItem cancel = menu.add(0, MENU_ITEM_ID_CANCEL, Menu.NONE, getString(R.string.print_cancel)); cancel.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM); } - if (getPrintJob().isFailed()) { + if (printJob.isFailed()) { MenuItem restart = menu.add(0, MENU_ITEM_ID_RESTART, Menu.NONE, getString(R.string.print_restart)); restart.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM); diff --git a/src/com/android/settings/wifi/WifiEnabler.java b/src/com/android/settings/wifi/WifiEnabler.java index ffc10a0..8426439 100644 --- a/src/com/android/settings/wifi/WifiEnabler.java +++ b/src/com/android/settings/wifi/WifiEnabler.java @@ -40,6 +40,7 @@ import java.util.concurrent.atomic.AtomicBoolean; public class WifiEnabler implements SwitchBar.OnSwitchChangeListener { private Context mContext; private SwitchBar mSwitchBar; + private boolean mListeningToOnSwitchChange = false; private AtomicBoolean mConnected = new AtomicBoolean(false); private final WifiManager mWifiManager; @@ -99,23 +100,41 @@ public class WifiEnabler implements SwitchBar.OnSwitchChangeListener { public void setupSwitchBar() { final int state = mWifiManager.getWifiState(); handleWifiStateChanged(state); - mSwitchBar.addOnSwitchChangeListener(this); + if (!mListeningToOnSwitchChange) { + mSwitchBar.addOnSwitchChangeListener(this); + mListeningToOnSwitchChange = true; + } mSwitchBar.show(); + + mContext.registerReceiver(mReceiver, mIntentFilter); } public void teardownSwitchBar() { - mSwitchBar.removeOnSwitchChangeListener(this); + if (mListeningToOnSwitchChange) { + mSwitchBar.removeOnSwitchChangeListener(this); + mListeningToOnSwitchChange = false; + } mSwitchBar.hide(); + + mContext.unregisterReceiver(mReceiver); } public void resume(Context context) { mContext = context; // Wi-Fi state is sticky, so just let the receiver update UI mContext.registerReceiver(mReceiver, mIntentFilter); + if (!mListeningToOnSwitchChange) { + mSwitchBar.addOnSwitchChangeListener(this); + mListeningToOnSwitchChange = true; + } } public void pause() { mContext.unregisterReceiver(mReceiver); + if (mListeningToOnSwitchChange) { + mSwitchBar.removeOnSwitchChangeListener(this); + mListeningToOnSwitchChange = false; + } } private void handleWifiStateChanged(int state) { |