OSDN Git Service

Overhaul vibrate and silent settings to match hard keys.
[android-x86/packages-apps-Settings.git] / src / com / android / settings / Settings.java
index ae7e24e..c9f5c73 100644 (file)
@@ -63,7 +63,7 @@ public class Settings extends PreferenceActivity implements ButtonBarHandler {
     private static final String META_DATA_KEY_PARENT_FRAGMENT_CLASS =
         "com.android.settings.PARENT_FRAGMENT_CLASS";
 
-    private static final String EXTRA_THEME = "settings:theme";
+    private static final String EXTRA_CLEAR_UI_OPTIONS = "settings:remove_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";
@@ -82,9 +82,9 @@ public class Settings extends PreferenceActivity implements ButtonBarHandler {
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
-        final int theme = getIntent().getIntExtra(
-                EXTRA_THEME, android.R.style.Theme_Holo_SplitActionBarWhenNarrow);
-        setTheme(theme);
+        if (getIntent().getBooleanExtra(EXTRA_CLEAR_UI_OPTIONS, false)) {
+            getWindow().setUiOptions(0);
+        }
 
         getMetaData();
         mInLocalHeaderSwitch = true;
@@ -190,6 +190,7 @@ public class Settings extends PreferenceActivity implements ButtonBarHandler {
                 mCurrentHeader = parentHeader;
 
                 switchToHeaderLocal(parentHeader);
+                highlightHeader();
 
                 mParentHeader = new Header();
                 mParentHeader.fragment
@@ -217,6 +218,7 @@ public class Settings extends PreferenceActivity implements ButtonBarHandler {
             Integer index = mHeaderIndexMap.get(mTopLevelHeaderId);
             if (index != null) {
                 getListView().setItemChecked(index, true);
+                getListView().smoothScrollToPosition(index);
             }
         }
     }
@@ -288,12 +290,12 @@ public class Settings extends PreferenceActivity implements ButtonBarHandler {
         Intent intent = super.onBuildStartFragmentIntent(fragmentName, args,
                 titleRes, shortTitleRes);
 
-        // some fragments would like a custom activity theme
+        // 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)) {
-            intent.putExtra(EXTRA_THEME, android.R.style.Theme_Holo_SolidActionBar);
+            intent.putExtra(EXTRA_CLEAR_UI_OPTIONS, true);
         }
 
         intent.setClass(this, SubSettings.class);
@@ -539,11 +541,11 @@ public class Settings extends PreferenceActivity implements ButtonBarHandler {
     @Override
     public boolean onPreferenceStartFragment(PreferenceFragment caller, Preference pref) {
         // Override the fragment title for Wallpaper settings
-        CharSequence title = pref.getTitle();
+        int titleRes = pref.getTitleRes();
         if (pref.getFragment().equals(WallpaperTypeSettings.class.getName())) {
-            title = getString(R.string.wallpaper_settings_fragment_title);
+            titleRes = R.string.wallpaper_settings_fragment_title;
         }
-        startPreferencePanel(pref.getFragment(), pref.getExtras(), 0, title, null, 0);
+        startPreferencePanel(pref.getFragment(), pref.getExtras(), titleRes, null, null, 0);
         return true;
     }
 
@@ -600,4 +602,5 @@ public class Settings extends PreferenceActivity implements ButtonBarHandler {
     public static class DataUsageSummaryActivity extends Settings { /* empty */ }
     public static class AdvancedWifiSettingsActivity extends Settings { /* empty */ }
     public static class TextToSpeechSettingsActivity extends Settings { /* empty */ }
+    public static class AndroidBeamSettingsActivity extends Settings { /* empty */ }
 }