diff options
Diffstat (limited to 'core/java/android')
| -rw-r--r-- | core/java/android/content/ContentResolver.java | 7 | ||||
| -rwxr-xr-x[-rw-r--r--] | core/java/android/view/GestureDetector.java | 11 | ||||
| -rw-r--r-- | core/java/android/webkit/BrowserFrame.java | 1 | ||||
| -rw-r--r-- | core/java/android/widget/LinearLayout.java | 4 | ||||
| -rw-r--r-- | core/java/android/widget/Spinner.java | 34 | ||||
| -rw-r--r-- | core/java/android/widget/TimePicker.java | 2 |
6 files changed, 43 insertions, 16 deletions
diff --git a/core/java/android/content/ContentResolver.java b/core/java/android/content/ContentResolver.java index cc3219b..780ec11 100644 --- a/core/java/android/content/ContentResolver.java +++ b/core/java/android/content/ContentResolver.java @@ -1030,7 +1030,8 @@ public abstract class ContentResolver { } /** - * Notify registered observers that a row was updated. + * Notify registered observers that a row was updated and attempt to sync changes + * to the network. * To register, call {@link #registerContentObserver(android.net.Uri , boolean, android.database.ContentObserver) registerContentObserver()}. * By default, CursorAdapter objects will get this notification. * @@ -1045,10 +1046,14 @@ public abstract class ContentResolver { * Notify registered observers that a row was updated. * To register, call {@link #registerContentObserver(android.net.Uri , boolean, android.database.ContentObserver) registerContentObserver()}. * By default, CursorAdapter objects will get this notification. + * If syncToNetwork is true, this will attempt to schedule a local sync using the sync + * adapter that's registered for the authority of the provided uri. No account will be + * passed to the sync adapter, so all matching accounts will be synchronized. * * @param uri * @param observer The observer that originated the change, may be <code>null</null> * @param syncToNetwork If true, attempt to sync the change to the network. + * @see #requestSync(android.accounts.Account, String, android.os.Bundle) */ public void notifyChange(Uri uri, ContentObserver observer, boolean syncToNetwork) { try { diff --git a/core/java/android/view/GestureDetector.java b/core/java/android/view/GestureDetector.java index a496a9e..5c8b236 100644..100755 --- a/core/java/android/view/GestureDetector.java +++ b/core/java/android/view/GestureDetector.java @@ -193,8 +193,7 @@ public class GestureDetector { } } - // TODO: ViewConfiguration - private int mBiggerTouchSlopSquare = 20 * 20; + private int mBiggerTouchSlopSquare; private int mTouchSlopSquare; private int mDoubleTapSlopSquare; @@ -408,6 +407,14 @@ public class GestureDetector { } mTouchSlopSquare = touchSlop * touchSlop; mDoubleTapSlopSquare = doubleTapSlop * doubleTapSlop; + + // The biggerTouchSlop should be a little bit bigger than touchSlop + // and mBiggerTouchSlopSquare should not be over mDoubleTapSlopSquare. + int biggerTouchSlop = (int)(touchSlop * 1.25f); + mBiggerTouchSlopSquare = biggerTouchSlop * biggerTouchSlop; + if (mBiggerTouchSlopSquare > mDoubleTapSlopSquare) { + mBiggerTouchSlopSquare = mDoubleTapSlopSquare; + } } /** diff --git a/core/java/android/webkit/BrowserFrame.java b/core/java/android/webkit/BrowserFrame.java index 66fca80..a810cf6 100644 --- a/core/java/android/webkit/BrowserFrame.java +++ b/core/java/android/webkit/BrowserFrame.java @@ -869,6 +869,7 @@ class BrowserFrame extends Handler { loader.setCacheMode(headers.containsKey("If-Modified-Since") || headers.containsKey("If-None-Match") ? WebSettings.LOAD_NO_CACHE : cacheMode); + loader.executeLoad(); // Set referrer to current URL? return !synchronous ? loadListener : null; } diff --git a/core/java/android/widget/LinearLayout.java b/core/java/android/widget/LinearLayout.java index 427fd3e..e67e4bb 100644 --- a/core/java/android/widget/LinearLayout.java +++ b/core/java/android/widget/LinearLayout.java @@ -307,7 +307,7 @@ public class LinearLayout extends ViewGroup { if (child != null && child.getVisibility() != GONE) { if (hasDividerBeforeChildAt(i)) { final LayoutParams lp = (LayoutParams) child.getLayoutParams(); - final int top = child.getTop() - lp.topMargin; + final int top = child.getTop() - lp.topMargin - mDividerHeight; drawHorizontalDivider(canvas, top); } } @@ -334,7 +334,7 @@ public class LinearLayout extends ViewGroup { if (child != null && child.getVisibility() != GONE) { if (hasDividerBeforeChildAt(i)) { final LayoutParams lp = (LayoutParams) child.getLayoutParams(); - final int left = child.getLeft() - lp.leftMargin; + final int left = child.getLeft() - lp.leftMargin - mDividerWidth; drawVerticalDivider(canvas, left); } } diff --git a/core/java/android/widget/Spinner.java b/core/java/android/widget/Spinner.java index ec3790e..6499f9a 100644 --- a/core/java/android/widget/Spinner.java +++ b/core/java/android/widget/Spinner.java @@ -26,6 +26,7 @@ import android.database.DataSetObserver; import android.graphics.Rect; import android.graphics.drawable.Drawable; import android.util.AttributeSet; +import android.util.DisplayMetrics; import android.view.Gravity; import android.view.View; import android.view.ViewGroup; @@ -38,13 +39,13 @@ import android.view.ViewGroup; * * <p>See the <a href="{@docRoot}resources/tutorials/views/hello-spinner.html">Spinner * tutorial</a>.</p> - * + * * @attr ref android.R.styleable#Spinner_prompt */ @Widget public class Spinner extends AbsSpinner implements OnClickListener { private static final String TAG = "Spinner"; - + // Only measure this many items to get a decent max width. private static final int MAX_ITEMS_MEASURED = 15; @@ -52,7 +53,7 @@ public class Spinner extends AbsSpinner implements OnClickListener { * Use a dialog window for selecting spinner options. */ public static final int MODE_DIALOG = 0; - + /** * Use a dropdown anchored to the Spinner for selecting spinner options. */ @@ -732,13 +733,30 @@ public class Spinner extends AbsSpinner implements OnClickListener { @Override public void show() { + final Drawable background = getBackground(); + int bgOffset = 0; + if (background != null) { + background.getPadding(mTempRect); + bgOffset = -mTempRect.left; + } else { + mTempRect.left = mTempRect.right = 0; + } + final int spinnerPaddingLeft = Spinner.this.getPaddingLeft(); if (mDropDownWidth == WRAP_CONTENT) { final int spinnerWidth = Spinner.this.getWidth(); final int spinnerPaddingRight = Spinner.this.getPaddingRight(); + + int contentWidth = measureContentWidth( + (SpinnerAdapter) mAdapter, getBackground()); + final int contentWidthLimit = mContext.getResources() + .getDisplayMetrics().widthPixels - mTempRect.left - mTempRect.right; + if (contentWidth > contentWidthLimit) { + contentWidth = contentWidthLimit; + } + setContentWidth(Math.max( - measureContentWidth((SpinnerAdapter) mAdapter, getBackground()), - spinnerWidth - spinnerPaddingLeft - spinnerPaddingRight)); + contentWidth, spinnerWidth - spinnerPaddingLeft - spinnerPaddingRight)); } else if (mDropDownWidth == MATCH_PARENT) { final int spinnerWidth = Spinner.this.getWidth(); final int spinnerPaddingRight = Spinner.this.getPaddingRight(); @@ -746,12 +764,6 @@ public class Spinner extends AbsSpinner implements OnClickListener { } else { setContentWidth(mDropDownWidth); } - final Drawable background = getBackground(); - int bgOffset = 0; - if (background != null) { - background.getPadding(mTempRect); - bgOffset = -mTempRect.left; - } setHorizontalOffset(bgOffset + spinnerPaddingLeft); setInputMethodMode(ListPopupWindow.INPUT_METHOD_NOT_NEEDED); super.show(); diff --git a/core/java/android/widget/TimePicker.java b/core/java/android/widget/TimePicker.java index afca2db..62373fc 100644 --- a/core/java/android/widget/TimePicker.java +++ b/core/java/android/widget/TimePicker.java @@ -212,6 +212,7 @@ public class TimePicker extends FrameLayout { button.requestFocus(); mIsAm = !mIsAm; updateAmPmControl(); + onTimeChanged(); } }); } else { @@ -226,6 +227,7 @@ public class TimePicker extends FrameLayout { picker.requestFocus(); mIsAm = !mIsAm; updateAmPmControl(); + onTimeChanged(); } }); mAmPmSpinnerInput = (EditText) mAmPmSpinner.findViewById(R.id.numberpicker_input); |
