Fix bug #13327889 Launching Wifi setting using available wifi network

...notification does not show ON/OFF button for wifi

- the notification was launching the WifiPickerActivity which is
a PreferenceActivity, so take care of this case too.

Change-Id: I64f58d4b9f75141626bb6f0266cf2f17fbb39fc7
This commit is contained in:
Fabrice Di Meglio
2014-03-05 17:27:50 -08:00
parent 835c5e4ef9
commit 565d8b7bcc

View File

@@ -409,20 +409,26 @@ public class WifiSettings extends RestrictedSettingsFragment
final Activity activity = getActivity(); final Activity activity = getActivity();
mSwitch = new Switch(activity); mSwitch = new Switch(activity);
boolean addSwitch = false;
if (activity instanceof SettingsActivity) { if (activity instanceof SettingsActivity) {
SettingsActivity sa = (SettingsActivity) activity; SettingsActivity sa = (SettingsActivity) activity;
if (!sa.onIsHidingHeaders()) { addSwitch = !sa.onIsHidingHeaders();
final int padding = activity.getResources().getDimensionPixelSize( } else if (activity instanceof WifiPickerActivity) {
R.dimen.action_bar_switch_padding); PreferenceActivity pa = (PreferenceActivity) activity;
mSwitch.setPaddingRelative(0, 0, padding, 0); addSwitch = pa.onIsHidingHeaders();
activity.getActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM, }
ActionBar.DISPLAY_SHOW_CUSTOM);
activity.getActionBar().setCustomView(mSwitch, new ActionBar.LayoutParams( if (addSwitch) {
ActionBar.LayoutParams.WRAP_CONTENT, final int padding = activity.getResources().getDimensionPixelSize(
ActionBar.LayoutParams.WRAP_CONTENT, R.dimen.action_bar_switch_padding);
Gravity.CENTER_VERTICAL | Gravity.END)); mSwitch.setPaddingRelative(0, 0, padding, 0);
} activity.getActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM,
ActionBar.DISPLAY_SHOW_CUSTOM);
activity.getActionBar().setCustomView(mSwitch, new ActionBar.LayoutParams(
ActionBar.LayoutParams.WRAP_CONTENT,
ActionBar.LayoutParams.WRAP_CONTENT,
Gravity.CENTER_VERTICAL | Gravity.END));
} }
mWifiEnabler = new WifiEnabler(activity, mSwitch); mWifiEnabler = new WifiEnabler(activity, mSwitch);