Split ActionBar in Settings

Made menu item visible to force action bar, changed style.

Also change parent_fragment for items that have been moved to top level (wifi,
bluetooth, development, battery).

Change-Id: I62932ba55356abdfbf94942f5b4efaa0f15dbd6a
This commit is contained in:
Gilles Debunne
2011-06-27 12:00:49 -07:00
parent 5754baa58c
commit dc7101ff88
5 changed files with 24 additions and 34 deletions

View File

@@ -125,10 +125,6 @@
android:value="com.android.settings.wifi.WifiSettings" />
<meta-data android:name="com.android.settings.TOP_LEVEL_HEADER_ID"
android:resource="@id/wireless_settings" />
<meta-data android:name="com.android.settings.PARENT_FRAGMENT_TITLE"
android:resource="@string/wireless_networks_settings_title" />
<meta-data android:name="com.android.settings.PARENT_FRAGMENT_CLASS"
android:value="com.android.settings.Settings$WirelessSettingsActivity" />
</activity>
<activity android:name=".wifi.WifiPickerActivity"
@@ -233,10 +229,6 @@
android:value="com.android.settings.bluetooth.BluetoothSettings" />
<meta-data android:name="com.android.settings.TOP_LEVEL_HEADER_ID"
android:resource="@id/wireless_settings" />
<meta-data android:name="com.android.settings.PARENT_FRAGMENT_TITLE"
android:resource="@string/wireless_networks_settings_title" />
<meta-data android:name="com.android.settings.PARENT_FRAGMENT_CLASS"
android:value="com.android.settings.Settings$WirelessSettingsActivity" />
</activity>
<activity-alias android:name=".bluetooth.AdvancedBluetoothSettings"
@@ -873,10 +865,6 @@
android:value="com.android.settings.DevelopmentSettings" />
<meta-data android:name="com.android.settings.TOP_LEVEL_HEADER_ID"
android:resource="@id/application_settings" />
<meta-data android:name="com.android.settings.PARENT_FRAGMENT_TITLE"
android:resource="@string/applications_settings_header" />
<meta-data android:name="com.android.settings.PARENT_FRAGMENT_CLASS"
android:value="com.android.settings.Settings$ApplicationSettingsActivity" />
</activity>
<activity-alias android:name="DevelopmentSettings"
@@ -894,10 +882,6 @@
android:value="com.android.settings.DevelopmentSettings" />
<meta-data android:name="com.android.settings.TOP_LEVEL_HEADER_ID"
android:resource="@id/application_settings" />
<meta-data android:name="com.android.settings.PARENT_FRAGMENT_TITLE"
android:resource="@string/applications_settings_header" />
<meta-data android:name="com.android.settings.PARENT_FRAGMENT_CLASS"
android:value="com.android.settings.Settings$ApplicationSettingsActivity" />
</activity-alias>

View File

@@ -936,8 +936,8 @@
<!-- Bluetooth settings: The title of the preference (list item) that initiates a scan for devices -->
<string name="bluetooth_preference_scan_title">Scan for devices</string>
<!-- Bluetooth settings: The title of the preference (list item) that finds nearby devices [CHAR LIMIT=30] -->
<string name="bluetooth_preference_find_nearby_title">Find nearby devices</string>
<!-- Bluetooth settings: The title of the action button that finds nearby devices [CHAR LIMIT=20] -->
<string name="bluetooth_preference_find_nearby_title">Scan</string>
<!-- Bluetooth settings: The sub heading for device settings. [CHAR LIMIT=30] -->
<string name="bluetooth_preference_device_settings">Device settings</string>
<!-- Bluetooth settings: The sub heading for paired devices. [CHAR LIMIT=30] -->

View File

@@ -76,12 +76,13 @@ public class Settings extends PreferenceActivity implements ButtonBarHandler {
@Override
protected void onCreate(Bundle savedInstanceState) {
setTheme(android.R.style.Theme_Holo_SplitActionBarWhenNarrow);
getMetaData();
mInLocalHeaderSwitch = true;
super.onCreate(savedInstanceState);
mInLocalHeaderSwitch = false;
if (isMultiPane()) {
if (!onIsHidingHeaders() && onIsMultiPane()) {
highlightHeader();
// Force the title so that it doesn't get overridden by a direct launch of
// a specific settings screen.
@@ -107,6 +108,10 @@ public class Settings extends PreferenceActivity implements ButtonBarHandler {
}
});
}
// TODO Add support for android.R.id.home in all Setting's onOptionsItemSelected
// getActionBar().setDisplayOptions(ActionBar.DISPLAY_HOME_AS_UP,
// ActionBar.DISPLAY_HOME_AS_UP);
}
@Override
@@ -193,7 +198,7 @@ public class Settings extends PreferenceActivity implements ButtonBarHandler {
// If it is not launched from history, then reset to top-level
if ((intent.getFlags() & Intent.FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY) == 0
&& mFirstHeader != null && isMultiPane()) {
&& mFirstHeader != null && !onIsHidingHeaders() && onIsMultiPane()) {
switchToHeaderLocal(mFirstHeader);
}
}

View File

@@ -40,9 +40,8 @@ import com.android.settings.R;
public final class BluetoothSettings extends DeviceListPreferenceFragment {
private static final String TAG = "BluetoothSettings";
private static final int MENU_ID_MAKE_DISCOVERABLE = Menu.FIRST;
private static final int MENU_ID_SCAN = Menu.FIRST + 1;
private static final int MENU_ID_ADVANCED = Menu.FIRST + 2;
private static final int MENU_ID_SCAN = Menu.FIRST;
private static final int MENU_ID_ADVANCED = Menu.FIRST + 1;
private BluetoothEnabler mBluetoothEnabler;
@@ -80,8 +79,6 @@ public final class BluetoothSettings extends DeviceListPreferenceFragment {
activity.getActionBar().setSubtitle(mLocalAdapter.getName());
}
// TODO activity.setTheme(android.R.style.Theme_Holo_SplitActionBarWhenNarrow);
setHasOptionsMenu(true);
}
@@ -104,23 +101,22 @@ public final class BluetoothSettings extends DeviceListPreferenceFragment {
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
boolean bluetoothIsEnabled = mLocalAdapter.getBluetoothState() == BluetoothAdapter.STATE_ON;
menu.add(Menu.NONE, MENU_ID_MAKE_DISCOVERABLE, 0, R.string.bluetooth_visibility)
.setEnabled(bluetoothIsEnabled);
menu.add(Menu.NONE, MENU_ID_SCAN, 0, R.string.bluetooth_preference_find_nearby_title)
.setIcon(R.drawable.ic_menu_scan_network).setEnabled(bluetoothIsEnabled);
//.setIcon(R.drawable.ic_menu_scan_network)
.setEnabled(bluetoothIsEnabled)
.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
menu.add(Menu.NONE, MENU_ID_ADVANCED, 0, R.string.bluetooth_menu_advanced)
.setIcon(android.R.drawable.ic_menu_manage);
//.setIcon(android.R.drawable.ic_menu_manage)
.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case MENU_ID_MAKE_DISCOVERABLE:
// TODO
// if (mLocalAdapter.getBluetoothState() == BluetoothAdapter.STATE_ON) {
// onAddNetworkPressed();
// }
return true;
case MENU_ID_SCAN:
if (mLocalAdapter.getBluetoothState() == BluetoothAdapter.STATE_ON) {
mLocalAdapter.startScanning(true);

View File

@@ -253,11 +253,16 @@ public class WifiSettings extends SettingsPreferenceFragment
if (!mInXlSetupWizard) {
final boolean wifiIsEnabled = mWifiManager.isWifiEnabled();
menu.add(Menu.NONE, MENU_ID_SCAN, 0, R.string.wifi_menu_scan)
.setIcon(R.drawable.ic_menu_scan_network).setEnabled(wifiIsEnabled);
//.setIcon(R.drawable.ic_menu_scan_network)
.setEnabled(wifiIsEnabled)
.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
menu.add(Menu.NONE, MENU_ID_ADD_NETWORK, 0, R.string.wifi_add_network)
.setIcon(android.R.drawable.ic_menu_add).setEnabled(wifiIsEnabled);
//.setIcon(android.R.drawable.ic_menu_add)
.setEnabled(wifiIsEnabled)
.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
menu.add(Menu.NONE, MENU_ID_ADVANCED, 0, R.string.wifi_menu_advanced)
.setIcon(android.R.drawable.ic_menu_manage);
//.setIcon(android.R.drawable.ic_menu_manage)
.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
}
super.onCreateOptionsMenu(menu, inflater);
}