From: Jeff Sharkey Date: Wed, 28 Nov 2012 00:42:27 +0000 (-0800) Subject: Invert split action bar logic. X-Git-Tag: android-x86-4.4-r1~700^2 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=cc0d26bb14e7151727f82c1f1a78947c521740df;p=android-x86%2Fpackages-apps-Settings.git Invert split action bar logic. The majority of Settings activities don't want split action bars, so invert the logic to be opt-in instead of opt-out. Bug: 7545845 Change-Id: I794f6df911dda61904e02a0f6b917ab92c846293 --- diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 14207db4b8..3cbb5a374d 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -67,7 +67,6 @@ android:icon="@mipmap/ic_launcher_settings" android:taskAffinity="" android:theme="@android:style/Theme.Holo" - android:uiOptions="splitActionBarWhenNarrow" android:hardwareAccelerated="true" android:supportsRtl="true"> @@ -122,6 +121,7 @@ @@ -163,10 +165,11 @@ + android:clearTaskOnLaunch="true"> @@ -175,11 +178,12 @@ + android:uiOptions="splitActionBarWhenNarrow" + android:theme="@android:style/Theme.Holo.NoActionBar" + android:screenOrientation="behind" + android:clearTaskOnLaunch="true" + android:windowSoftInputMode="adjustResize" + android:exported="true" /> @@ -266,6 +269,7 @@ @@ -284,6 +288,7 @@ @@ -306,7 +312,6 @@ @@ -328,7 +333,6 @@ @@ -343,6 +347,7 @@ @@ -505,7 +510,6 @@ @@ -649,8 +653,7 @@ + android:excludeFromRecents="true"> @@ -767,7 +770,6 @@ @@ -975,7 +977,6 @@ @@ -1342,7 +1343,6 @@ @@ -1371,8 +1371,7 @@ + android:parentActivityName="Settings"> @@ -1454,7 +1453,6 @@ @@ -1469,6 +1467,7 @@ diff --git a/src/com/android/settings/Settings.java b/src/com/android/settings/Settings.java index a5e200524c..f850f3910f 100644 --- a/src/com/android/settings/Settings.java +++ b/src/com/android/settings/Settings.java @@ -16,19 +16,6 @@ package com.android.settings; -import com.android.internal.util.ArrayUtils; -import com.android.settings.ChooseLockGeneric.ChooseLockGenericFragment; -import com.android.settings.accounts.AccountSyncSettings; -import com.android.settings.accounts.AuthenticatorHelper; -import com.android.settings.accounts.ManageAccountsSettings; -import com.android.settings.applications.InstalledAppDetails; -import com.android.settings.applications.ManageApplications; -import com.android.settings.bluetooth.BluetoothEnabler; -import com.android.settings.deviceinfo.Memory; -import com.android.settings.fuelgauge.PowerUsageSummary; -import com.android.settings.vpn2.VpnSettings; -import com.android.settings.wifi.WifiEnabler; - import android.accounts.Account; import android.accounts.AccountManager; import android.accounts.OnAccountsUpdateListener; @@ -62,6 +49,17 @@ import android.widget.ListAdapter; import android.widget.Switch; import android.widget.TextView; +import com.android.internal.util.ArrayUtils; +import com.android.settings.AccessibilitySettings.ToggleAccessibilityServicePreferenceFragment; +import com.android.settings.accounts.AccountSyncSettings; +import com.android.settings.accounts.AuthenticatorHelper; +import com.android.settings.accounts.ManageAccountsSettings; +import com.android.settings.bluetooth.BluetoothEnabler; +import com.android.settings.bluetooth.BluetoothSettings; +import com.android.settings.wifi.WifiEnabler; +import com.android.settings.wifi.WifiSettings; +import com.android.settings.wifi.p2p.WifiP2pSettings; + import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; @@ -85,7 +83,7 @@ public class Settings extends PreferenceActivity private static final String META_DATA_KEY_PARENT_FRAGMENT_CLASS = "com.android.settings.PARENT_FRAGMENT_CLASS"; - private static final String EXTRA_CLEAR_UI_OPTIONS = "settings:remove_ui_options"; + private static final String EXTRA_UI_OPTIONS = "settings:ui_options"; private static final String SAVE_KEY_CURRENT_HEADER = "com.android.settings.CURRENT_HEADER"; private static final String SAVE_KEY_PARENT_HEADER = "com.android.settings.PARENT_HEADER"; @@ -136,8 +134,8 @@ public class Settings extends PreferenceActivity @Override protected void onCreate(Bundle savedInstanceState) { - if (getIntent().getBooleanExtra(EXTRA_CLEAR_UI_OPTIONS, false)) { - getWindow().setUiOptions(0); + if (getIntent().hasExtra(EXTRA_UI_OPTIONS)) { + getWindow().setUiOptions(getIntent().getIntExtra(EXTRA_UI_OPTIONS, 0)); } mAuthenticatorHelper = new AuthenticatorHelper(); @@ -379,26 +377,14 @@ public class Settings extends PreferenceActivity Intent intent = super.onBuildStartFragmentIntent(fragmentName, args, titleRes, shortTitleRes); - // some fragments want to avoid split actionbar - if (DataUsageSummary.class.getName().equals(fragmentName) || - PowerUsageSummary.class.getName().equals(fragmentName) || - AccountSyncSettings.class.getName().equals(fragmentName) || - UserDictionarySettings.class.getName().equals(fragmentName) || - Memory.class.getName().equals(fragmentName) || - ManageApplications.class.getName().equals(fragmentName) || - WirelessSettings.class.getName().equals(fragmentName) || - SoundSettings.class.getName().equals(fragmentName) || - PrivacySettings.class.getName().equals(fragmentName) || - ManageAccountsSettings.class.getName().equals(fragmentName) || - VpnSettings.class.getName().equals(fragmentName) || - SecuritySettings.class.getName().equals(fragmentName) || - InstalledAppDetails.class.getName().equals(fragmentName) || - ChooseLockGenericFragment.class.getName().equals(fragmentName) || - TetherSettings.class.getName().equals(fragmentName) || - ApnSettings.class.getName().equals(fragmentName) || - LocationSettings.class.getName().equals(fragmentName) || - ZonePicker.class.getName().equals(fragmentName)) { - intent.putExtra(EXTRA_CLEAR_UI_OPTIONS, true); + // Some fragments want split ActionBar; these should stay in sync with + // uiOptions for fragments also defined as activities in manifest. + if (WifiSettings.class.getName().equals(fragmentName) || + WifiP2pSettings.class.getName().equals(fragmentName) || + BluetoothSettings.class.getName().equals(fragmentName) || + DreamSettings.class.getName().equals(fragmentName) || + ToggleAccessibilityServicePreferenceFragment.class.getName().equals(fragmentName)) { + intent.putExtra(EXTRA_UI_OPTIONS, ActivityInfo.UIOPTION_SPLIT_ACTION_BAR_WHEN_NARROW); } intent.setClass(this, SubSettings.class);