Merge "Push scrollbars to screen edges." into jb-mr1.1-dev
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 71cc520..df53863 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -252,9 +252,11 @@
             </intent-filter>
         </activity-alias>
 
-        <activity android:name="ApnSettings" android:label="@string/apn_settings"
-                  android:configChanges="orientation|keyboardHidden|screenSize"
-                  android:launchMode="singleTask">
+        <activity android:name="ApnSettings"
+                android:label="@string/apn_settings"
+                android:uiOptions="none"
+                android:configChanges="orientation|keyboardHidden|screenSize"
+                android:launchMode="singleTask">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
                 <action android:name="android.settings.APN_SETTINGS" />
@@ -304,6 +306,7 @@
 
         <activity android:name="Settings$TetherSettingsActivity"
                 android:label="@string/tether_settings_title_all"
+                android:uiOptions="none"
                 android:taskAffinity=""
                 android:excludeFromRecents="true">
             <intent-filter>
@@ -325,6 +328,7 @@
         <!-- Keep compatibility with old shortcuts. -->
         <activity-alias android:name=".TetherSettings"
                   android:label="@string/tether_settings_title_all"
+                  android:uiOptions="none"
                   android:clearTaskOnLaunch="true"
                   android:exported="true"
                   android:targetActivity="Settings$TetherSettingsActivity">
@@ -763,6 +767,7 @@
 
         <activity android:name="Settings$LocationSettingsActivity"
                 android:label="@string/location_settings_title"
+                android:uiOptions="none"
                 android:configChanges="orientation|keyboardHidden|screenSize"
                 android:taskAffinity=""
                 android:excludeFromRecents="true">
@@ -1465,6 +1470,22 @@
                 android:resource="@id/wireless_settings" />
         </activity>
 
+        <activity android:name="Settings$DreamSettingsActivity"
+                android:label="@string/screensaver_settings_title"
+                android:taskAffinity=""
+                android:excludeFromRecents="true">
+            <intent-filter>
+                <action android:name="android.intent.action.MAIN" />
+                <action android:name="android.settings.DREAM_SETTINGS" />
+                <category android:name="android.intent.category.DEFAULT" />
+                <category android:name="com.android.settings.SHORTCUT" />
+            </intent-filter>
+            <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
+                android:value="com.android.settings.DreamSettings" />
+            <meta-data android:name="com.android.settings.TOP_LEVEL_HEADER_ID"
+                android:resource="@id/display_settings" />
+        </activity>
+
         <receiver android:name=".widget.SettingsAppWidgetProvider"
                 android:label="@string/gadget_title"
                 android:exported="true"
diff --git a/res/layout/apn_preference_layout.xml b/res/layout/apn_preference_layout.xml
index 76c9c3d..b79b0b9 100644
--- a/res/layout/apn_preference_layout.xml
+++ b/res/layout/apn_preference_layout.xml
@@ -23,15 +23,14 @@
 
     <RelativeLayout
         android:id="@+android:id/text_layout"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_marginStart="16sp"
-        android:layout_marginEnd="6sp"
-        android:layout_marginTop="6sp"
-        android:layout_marginBottom="6sp"
+        android:layout_width="0dip"
+        android:layout_height="match_parent"
+        android:paddingStart="8dip"
+        android:paddingEnd="8dip"
+        android:gravity="center_vertical"
         android:layout_weight="1"
         android:focusable="true"
-        android:background="@android:drawable/menuitem_background">
+        android:background="?android:attr/selectableItemBackground">
 
         <TextView
             android:id="@+android:id/title"
@@ -39,7 +38,7 @@
             android:layout_height="wrap_content"
             android:focusable="true"
             android:singleLine="true"
-            android:textAppearance="?android:attr/textAppearanceLarge" />
+            android:textAppearance="?android:attr/textAppearanceMedium" />
 
         <TextView
             android:id="@+android:id/summary"
@@ -57,8 +56,8 @@
         android:id="@+android:id/apn_radiobutton"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
-        android:layout_marginStart="4dip"
-        android:layout_marginEnd="4dip"
+        android:layout_marginStart="8dip"
+        android:layout_marginEnd="8dip"
         android:layout_gravity="center_vertical"
         android:clickable="true" />
 
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index c433b2b..4c04f2a 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -1706,7 +1706,7 @@
     <string name="data_usage_app_restrict_background_summary" msgid="518658001418490405">"Zakázat data na pozadí v mobilních sítích. Používat jiné sítě."</string>
     <string name="data_usage_app_restrict_background_summary_disabled" msgid="7401927377070755054">"Data na pozadí u aplikace omezíte nastavením limitu mob. dat."</string>
     <string name="data_usage_app_restrict_dialog_title" msgid="1613108390242737923">"Omezení datových přenosů na pozadí?"</string>
-    <string name="data_usage_app_restrict_dialog" msgid="1466689968707308512">"Pokud budou k dispozici pouze mobilní sítě, může tato funkce způsobit, že aplikace, které data na pozadí vyžadují, nebudou fungovat."\n\n"Vhodnější způsoby řízení využívání dat naleznete v nastaveních aplikace."</string>
+    <string name="data_usage_app_restrict_dialog" msgid="1466689968707308512">"Pokud budou k dispozici pouze mobilní sítě, může tato funkce způsobit, že aplikace, které data na pozadí vyžadují, nebudou fungovat."\n\n"Vhodnější způsoby řízení využívání dat naleznete v nastavení aplikace."</string>
     <string name="data_usage_restrict_denied_dialog" msgid="7086969103661420799">"Omezení dat na pozadí je k dispozici pouze v případě, že jste nastavili limit přenosu mobilních dat."</string>
     <string name="data_usage_auto_sync_on_dialog_title" msgid="2438617846762244389">"Zapnout aut. synchronizaci dat?"</string>
     <string name="data_usage_auto_sync_on_dialog" product="tablet" msgid="7312283529426636845">"Změny, které v rámci svých účtů provedete na webu, se automaticky zkopírují do tabletu."\n\n"Některé účty také automaticky zkopírují změny provedené v tabletu na web. Tímto způsobem funguje například účet Google."\n\n"Typy informací, které se budou v jednotlivých účtech synchronizovat, nastavíte v části Nastavení &gt; Účty."</string>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index e39b9eb..a16cfb0 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -33,7 +33,10 @@
     <!-- Device Info screen. Used for a status item's value when the proper value is not known -->
     <string name="device_info_default">Unknown</string>
     <!-- [CHAR LIMIT=NONE] Device Info screen. Countdown for user taps to enable development settings -->
-    <string name="show_dev_countdown">You are now <xliff:g id="step_count">%1$d</xliff:g> steps away from being a developer.</string>
+    <plurals name="show_dev_countdown">
+        <item quantity="one">You are now <xliff:g id="step_count">%1$d</xliff:g> step away from being a developer.</item>
+        <item quantity="other">You are now <xliff:g id="step_count">%1$d</xliff:g> steps away from being a developer.</item>
+    </plurals>
     <!-- [CHAR LIMIT=NONE] Device Info screen. Confirmation that developer settings are enabled -->
     <string name="show_dev_on">You are now a developer!</string>
     <!-- [CHAR LIMIT=NONE] Device Info screen. Okay we get it, stop pressing, you already have it on -->
@@ -303,6 +306,9 @@
     <!-- Strings for BluetoothDevicePicker -->
     <string name="device_picker">Bluetooth device chooser</string>
 
+    <!-- Strings for dialog title when asking to the user whether to allow an app to enable discovery mode -->
+    <string name="bluetooth_permission_request">"Bluetooth permission request"</string>
+
     <!-- Strings for asking to the user whether to allow an app to enable bluetooth -->
     <string name="bluetooth_ask_enablement">An app wants to turn on Bluetooth.</string>
 
diff --git a/src/com/android/settings/DevelopmentSettings.java b/src/com/android/settings/DevelopmentSettings.java
index aeedb0c..5e7573f 100644
--- a/src/com/android/settings/DevelopmentSettings.java
+++ b/src/com/android/settings/DevelopmentSettings.java
@@ -46,6 +46,7 @@
 import android.os.StrictMode;
 import android.os.SystemProperties;
 import android.os.Trace;
+import android.os.UserHandle;
 import android.preference.CheckBoxPreference;
 import android.preference.ListPreference;
 import android.preference.MultiCheckPreference;
@@ -213,6 +214,11 @@
         mPassword = (PreferenceScreen) findPreference(LOCAL_BACKUP_PASSWORD);
         mAllPrefs.add(mPassword);
 
+        if (!android.os.Process.myUserHandle().equals(UserHandle.OWNER)) {
+            disableForUser(mEnableAdb);
+            disableForUser(mPassword);
+        }
+
         mDebugAppPref = findPreference(DEBUG_APP_KEY);
         mAllPrefs.add(mDebugAppPref);
         mWaitForDebugger = findAndInitCheckboxPref(WAIT_FOR_DEBUGGER_KEY);
@@ -284,6 +290,13 @@
         removeHdcpOptionsForProduction();
     }
 
+    private void disableForUser(Preference pref) {
+        if (pref != null) {
+            pref.setEnabled(false);
+            mDisabledPrefs.add(pref);
+        }
+    }
+
     private CheckBoxPreference findAndInitCheckboxPref(String key) {
         CheckBoxPreference pref = (CheckBoxPreference) findPreference(key);
         if (pref == null) {
diff --git a/src/com/android/settings/DeviceInfoSettings.java b/src/com/android/settings/DeviceInfoSettings.java
index a4abfea..d2ff6db 100644
--- a/src/com/android/settings/DeviceInfoSettings.java
+++ b/src/com/android/settings/DeviceInfoSettings.java
@@ -191,8 +191,8 @@
                     if (mDevHitToast != null) {
                         mDevHitToast.cancel();
                     }
-                    mDevHitToast = Toast.makeText(getActivity(), getResources().getString(
-                            R.string.show_dev_countdown, mDevHitCountdown),
+                    mDevHitToast = Toast.makeText(getActivity(), getResources().getQuantityString(
+                            R.plurals.show_dev_countdown, mDevHitCountdown, mDevHitCountdown),
                             Toast.LENGTH_SHORT);
                     mDevHitToast.show();
                 }
diff --git a/src/com/android/settings/Settings.java b/src/com/android/settings/Settings.java
index f045db0..a5e2005 100644
--- a/src/com/android/settings/Settings.java
+++ b/src/com/android/settings/Settings.java
@@ -393,7 +393,11 @@
                 VpnSettings.class.getName().equals(fragmentName) ||
                 SecuritySettings.class.getName().equals(fragmentName) ||
                 InstalledAppDetails.class.getName().equals(fragmentName) ||
-                ChooseLockGenericFragment.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);
         }
 
@@ -833,4 +837,5 @@
     public static class TextToSpeechSettingsActivity extends Settings { /* empty */ }
     public static class AndroidBeamSettingsActivity extends Settings { /* empty */ }
     public static class WifiDisplaySettingsActivity extends Settings { /* empty */ }
+    public static class DreamSettingsActivity extends Settings { /* empty */ }
 }
diff --git a/src/com/android/settings/ZonePicker.java b/src/com/android/settings/ZonePicker.java
index 19129e2..1502ad1 100644
--- a/src/com/android/settings/ZonePicker.java
+++ b/src/com/android/settings/ZonePicker.java
@@ -83,7 +83,7 @@
     public static SimpleAdapter constructTimezoneAdapter(Context context,
             boolean sortedByName) {
         return constructTimezoneAdapter(context, sortedByName,
-                android.R.layout.simple_list_item_2);
+                R.layout.date_time_setup_custom_list_item_2);
     }
 
     /**