summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/com/android/settings/DataUsageSummary.java7
-rw-r--r--src/com/android/settings/print/PrintJobSettingsFragment.java9
-rw-r--r--src/com/android/settings/wifi/WifiEnabler.java23
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) {