Merge "Disable vorbis-auto-looping if the audio sink used is not realtime, i.e. recording."
diff --git a/core/java/android/preference/PreferenceActivity.java b/core/java/android/preference/PreferenceActivity.java
index 78c9010..1029161 100644
--- a/core/java/android/preference/PreferenceActivity.java
+++ b/core/java/android/preference/PreferenceActivity.java
@@ -589,8 +589,6 @@
mPreferenceManager.setOnPreferenceTreeClickListener(this);
}
- getListView().setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
-
// see if we should show Back/Next buttons
Intent intent = getIntent();
if (intent.getBooleanExtra(EXTRA_PREFS_SHOW_BUTTON_BAR, false)) {
diff --git a/core/java/android/preference/PreferenceFragment.java b/core/java/android/preference/PreferenceFragment.java
index f6ba7f7..bdd858b 100644
--- a/core/java/android/preference/PreferenceFragment.java
+++ b/core/java/android/preference/PreferenceFragment.java
@@ -159,7 +159,6 @@
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
- getListView().setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
if (mHavePrefs) {
bindPreferences();
diff --git a/core/java/android/webkit/WebView.java b/core/java/android/webkit/WebView.java
index 6374b47..17dfbe05 100644
--- a/core/java/android/webkit/WebView.java
+++ b/core/java/android/webkit/WebView.java
@@ -9036,15 +9036,6 @@
}
/**
- * Enable expanded tiles bound for smoother scrolling.
- *
- * @hide only used by the Browser
- */
- public void setExpandedTileBounds(boolean enabled) {
- nativeSetExpandedTileBounds(enabled);
- }
-
- /**
* Set the time to wait between passing touches to WebCore. See also the
* TOUCH_SENT_INTERVAL member for further discussion.
*
@@ -9273,7 +9264,6 @@
static final int NO_LEFTEDGE = -1;
native int nativeGetBlockLeftEdge(int x, int y, float scale);
- private native void nativeSetExpandedTileBounds(boolean enabled);
private native void nativeUseHardwareAccelSkia(boolean enabled);
// Returns a pointer to the scrollable LayerAndroid at the given point.
diff --git a/core/java/com/android/server/NetworkManagementSocketTagger.java b/core/java/com/android/server/NetworkManagementSocketTagger.java
index 23af37e..9f6ab31 100644
--- a/core/java/com/android/server/NetworkManagementSocketTagger.java
+++ b/core/java/com/android/server/NetworkManagementSocketTagger.java
@@ -115,7 +115,8 @@
private void unTagSocketFd(FileDescriptor fd) throws IOException {
int fdNum = fd.getInt$();
- if (fdNum == -1) return;
+ final SocketTags options = threadSocketTags.get();
+ if (fdNum == -1 || (options.statsTag == -1 && options.statsUid == -1)) return;
String cmd = "u " + fdNum;
internalModuleCtrl(cmd);
}
diff --git a/core/res/res/layout-sw600dp/preference_list_content.xml b/core/res/res/layout-sw600dp/preference_list_content.xml
index 5b67d71..08f6453 100644
--- a/core/res/res/layout-sw600dp/preference_list_content.xml
+++ b/core/res/res/layout-sw600dp/preference_list_content.xml
@@ -44,8 +44,11 @@
android:layout_width="match_parent"
android:layout_height="0px"
android:layout_weight="1"
- android:paddingTop="16dp"
- android:paddingBottom="16dp"
+ android:paddingLeft="@dimen/preference_screen_header_padding_side"
+ android:paddingRight="@dimen/preference_screen_header_padding_side"
+ android:paddingTop="@dimen/preference_screen_header_vertical_padding"
+ android:paddingBottom="@dimen/preference_screen_header_vertical_padding"
+ android:scrollbarStyle="@integer/preference_screen_header_scrollbarStyle"
android:drawSelectorOnTop="false"
android:cacheColorHint="@android:color/transparent"
android:listPreferredItemHeight="48dp"
diff --git a/core/res/res/layout/breadcrumbs_in_fragment.xml b/core/res/res/layout/breadcrumbs_in_fragment.xml
index 98fffb7..9c12618 100644
--- a/core/res/res/layout/breadcrumbs_in_fragment.xml
+++ b/core/res/res/layout/breadcrumbs_in_fragment.xml
@@ -13,10 +13,10 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
+
<!-- This layout disables breadcrumbs in the fragment area and causes PreferenceActivity to
put the breadcrumbs in the action bar. -->
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="vertical"
- android:layout_height="@dimen/preference_fragment_padding_side"
- android:layout_width="match_parent">
-</LinearLayout>
\ No newline at end of file
+<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="0dip"
+ android:layout_height="0dip"
+ android:visibility="gone" />
diff --git a/core/res/res/layout/preference_list_content.xml b/core/res/res/layout/preference_list_content.xml
index 4e7981a..62181b5 100644
--- a/core/res/res/layout/preference_list_content.xml
+++ b/core/res/res/layout/preference_list_content.xml
@@ -44,8 +44,11 @@
android:layout_width="match_parent"
android:layout_height="0px"
android:layout_weight="1"
+ android:paddingLeft="@dimen/preference_screen_header_padding_side"
+ android:paddingRight="@dimen/preference_screen_header_padding_side"
android:paddingTop="@dimen/preference_screen_header_vertical_padding"
android:paddingBottom="@dimen/preference_screen_header_vertical_padding"
+ android:scrollbarStyle="@integer/preference_screen_header_scrollbarStyle"
android:drawSelectorOnTop="false"
android:cacheColorHint="@android:color/transparent"
android:listPreferredItemHeight="48dp"
diff --git a/core/res/res/layout/preference_list_fragment.xml b/core/res/res/layout/preference_list_fragment.xml
index 315f708..fdef4fc 100644
--- a/core/res/res/layout/preference_list_fragment.xml
+++ b/core/res/res/layout/preference_list_fragment.xml
@@ -32,11 +32,19 @@
android:paddingBottom="@dimen/preference_fragment_padding_bottom"
android:paddingLeft="@dimen/preference_fragment_padding_side"
android:paddingRight="@dimen/preference_fragment_padding_side"
+ android:scrollbarStyle="@integer/preference_fragment_scrollbarStyle"
android:clipToPadding="false"
android:drawSelectorOnTop="false"
android:cacheColorHint="@android:color/transparent"
android:scrollbarAlwaysDrawVerticalTrack="true" />
+ <TextView android:id="@android:id/empty"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:padding="@dimen/preference_fragment_padding_side"
+ android:gravity="center"
+ android:visibility="gone" />
+
<RelativeLayout android:id="@+id/button_bar"
android:layout_height="wrap_content"
android:layout_width="match_parent"
diff --git a/core/res/res/values-h720dp/dimens.xml b/core/res/res/values-h720dp/dimens.xml
index 37dee8e..7efe322 100644
--- a/core/res/res/values-h720dp/dimens.xml
+++ b/core/res/res/values-h720dp/dimens.xml
@@ -25,4 +25,10 @@
<dimen name="preference_screen_top_margin">16dp</dimen>
<!-- Preference activity bottom margin -->
<dimen name="preference_screen_bottom_margin">16dp</dimen>
+
+ <dimen name="preference_screen_header_padding_side">0dip</dimen>
+
+ <integer name="preference_screen_header_scrollbarStyle">0x0</integer> <!-- insideOverlay -->
+ <integer name="preference_fragment_scrollbarStyle">0x0</integer> <!-- insideOverlay -->
+
</resources>
diff --git a/core/res/res/values-w720dp/dimens.xml b/core/res/res/values-w720dp/dimens.xml
index 3d10103..c62c3f5 100644
--- a/core/res/res/values-w720dp/dimens.xml
+++ b/core/res/res/values-w720dp/dimens.xml
@@ -29,4 +29,9 @@
This helps in aligning titles when some items have icons and some don't. When space is
at a premium, we don't pre-allocate any space. -->
<dimen name="preference_icon_minWidth">56dp</dimen>
+
+ <dimen name="preference_screen_header_padding_side">0dip</dimen>
+
+ <integer name="preference_screen_header_scrollbarStyle">0x0</integer> <!-- insideOverlay -->
+ <integer name="preference_fragment_scrollbarStyle">0x0</integer> <!-- insideOverlay -->
</resources>
diff --git a/core/res/res/values/dimens.xml b/core/res/res/values/dimens.xml
index 8855645..83e86939 100644
--- a/core/res/res/values/dimens.xml
+++ b/core/res/res/values/dimens.xml
@@ -76,9 +76,9 @@
<dimen name="multiwaveview_hit_radius">60dip</dimen>
<!-- Preference activity side margins -->
- <dimen name="preference_screen_side_margin">16dp</dimen>
+ <dimen name="preference_screen_side_margin">0dp</dimen>
<!-- Preference activity side margins negative-->
- <dimen name="preference_screen_side_margin_negative">16dp</dimen>
+ <dimen name="preference_screen_side_margin_negative">0dp</dimen>
<!-- Preference activity top margin -->
<dimen name="preference_screen_top_margin">0dp</dimen>
<!-- Preference activity bottom margin -->
@@ -88,7 +88,7 @@
<!-- Preference fragment padding, bottom -->
<dimen name="preference_fragment_padding_bottom">0dp</dimen>
<!-- Preference fragment padding, sides -->
- <dimen name="preference_fragment_padding_side">0dp</dimen>
+ <dimen name="preference_fragment_padding_side">16dp</dimen>
<!-- Weight of the left pane in a multi-pane preference layout. -->
<integer name="preferences_left_pane_weight">4</integer>
<!-- Weight of the right pane in a multi-pane preference layout. So the split is 40:60 -->
@@ -108,6 +108,11 @@
<!-- Preference activity, vertical padding for the header list -->
<dimen name="preference_screen_header_vertical_padding">0dp</dimen>
+ <dimen name="preference_screen_header_padding_side">16dip</dimen>
+ <integer name="preference_screen_header_scrollbarStyle">0x02000000</integer> <!-- outsideOverlay -->
+
+ <integer name="preference_fragment_scrollbarStyle">0x02000000</integer> <!-- outsideOverlay -->
+
<dimen name="preference_item_padding_side">8dip</dimen>
<dimen name="preference_item_padding_inner">8dip</dimen>
<dimen name="preference_child_padding_side">16dip</dimen>
diff --git a/core/res/res/values/styles.xml b/core/res/res/values/styles.xml
index 6f2f1e5..94c6e41 100644
--- a/core/res/res/values/styles.xml
+++ b/core/res/res/values/styles.xml
@@ -2363,7 +2363,7 @@
<style name="Widget.Holo.PreferenceFrameLayout">
<item name="android:borderTop">0dip</item>
- <item name="android:borderBottom">@dimen/preference_fragment_padding_side</item>
+ <item name="android:borderBottom">@dimen/preference_fragment_padding_bottom</item>
<item name="android:borderLeft">@dimen/preference_fragment_padding_side</item>
<item name="android:borderRight">@dimen/preference_fragment_padding_side</item>
</style>
diff --git a/core/tests/coretests/src/android/provider/SettingsProviderTest.java b/core/tests/coretests/src/android/provider/SettingsProviderTest.java
index b82e698..3e96dc4 100644
--- a/core/tests/coretests/src/android/provider/SettingsProviderTest.java
+++ b/core/tests/coretests/src/android/provider/SettingsProviderTest.java
@@ -20,11 +20,16 @@
import android.content.ContentUris;
import android.content.ContentValues;
import android.content.Intent;
+import android.content.pm.PackageManager;
+import android.content.pm.ResolveInfo;
import android.database.Cursor;
import android.net.Uri;
import android.provider.Settings;
import android.test.AndroidTestCase;
import android.test.suitebuilder.annotation.MediumTest;
+import android.test.suitebuilder.annotation.SmallTest;
+
+import java.util.List;
/** Unit test for SettingsProvider. */
public class SettingsProviderTest extends AndroidTestCase {
@@ -191,4 +196,49 @@
assertEquals("test1,test2",
Settings.Secure.getString(r, Settings.Secure.LOCATION_PROVIDERS_ALLOWED));
}
+
+ @SmallTest
+ public void testSettings() {
+ assertCanBeHandled(new Intent(Settings.ACTION_ACCESSIBILITY_SETTINGS));
+ assertCanBeHandled(new Intent(Settings.ACTION_ADD_ACCOUNT));
+ assertCanBeHandled(new Intent(Settings.ACTION_AIRPLANE_MODE_SETTINGS));
+ assertCanBeHandled(new Intent(Settings.ACTION_APN_SETTINGS));
+ assertCanBeHandled(new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS)
+ .setData(Uri.parse("package:" + getContext().getPackageName())));
+ assertCanBeHandled(new Intent(Settings.ACTION_APPLICATION_DEVELOPMENT_SETTINGS));
+ assertCanBeHandled(new Intent(Settings.ACTION_APPLICATION_SETTINGS));
+ assertCanBeHandled(new Intent(Settings.ACTION_BLUETOOTH_SETTINGS));
+ assertCanBeHandled(new Intent(Settings.ACTION_DATA_ROAMING_SETTINGS));
+ assertCanBeHandled(new Intent(Settings.ACTION_DATE_SETTINGS));
+ assertCanBeHandled(new Intent(Settings.ACTION_DEVICE_INFO_SETTINGS));
+ assertCanBeHandled(new Intent(Settings.ACTION_DISPLAY_SETTINGS));
+ assertCanBeHandled(new Intent(Settings.ACTION_INPUT_METHOD_SETTINGS));
+ assertCanBeHandled(new Intent(Settings.ACTION_INTERNAL_STORAGE_SETTINGS));
+ assertCanBeHandled(new Intent(Settings.ACTION_LOCALE_SETTINGS));
+ assertCanBeHandled(new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS));
+ assertCanBeHandled(new Intent(Settings.ACTION_MANAGE_ALL_APPLICATIONS_SETTINGS));
+ assertCanBeHandled(new Intent(Settings.ACTION_MANAGE_APPLICATIONS_SETTINGS));
+ assertCanBeHandled(new Intent(Settings.ACTION_MEMORY_CARD_SETTINGS));
+ assertCanBeHandled(new Intent(Settings.ACTION_NETWORK_OPERATOR_SETTINGS));
+ assertCanBeHandled(new Intent(Settings.ACTION_PRIVACY_SETTINGS));
+ assertCanBeHandled(new Intent(Settings.ACTION_QUICK_LAUNCH_SETTINGS));
+ assertCanBeHandled(new Intent(Settings.ACTION_SEARCH_SETTINGS));
+ assertCanBeHandled(new Intent(Settings.ACTION_SECURITY_SETTINGS));
+ assertCanBeHandled(new Intent(Settings.ACTION_SETTINGS));
+ assertCanBeHandled(new Intent(Settings.ACTION_SOUND_SETTINGS));
+ assertCanBeHandled(new Intent(Settings.ACTION_SYNC_SETTINGS));
+ assertCanBeHandled(new Intent(Settings.ACTION_SYSTEM_UPDATE_SETTINGS));
+ assertCanBeHandled(new Intent(Settings.ACTION_USER_DICTIONARY_SETTINGS));
+ assertCanBeHandled(new Intent(Settings.ACTION_WIFI_IP_SETTINGS));
+ assertCanBeHandled(new Intent(Settings.ACTION_WIFI_SETTINGS));
+ assertCanBeHandled(new Intent(Settings.ACTION_WIRELESS_SETTINGS));
+ }
+
+ private void assertCanBeHandled(final Intent intent) {
+ PackageManager packageManager = mContext.getPackageManager();
+ List<ResolveInfo> resolveInfoList = packageManager.queryIntentActivities(intent, 0);
+ assertNotNull(resolveInfoList);
+ // one or more activity can handle this intent.
+ assertTrue(resolveInfoList.size() > 0);
+ }
}