summaryrefslogtreecommitdiff
path: root/core/java/android/widget/ScrollView.java
diff options
context:
space:
mode:
Diffstat (limited to 'core/java/android/widget/ScrollView.java')
-rw-r--r--core/java/android/widget/ScrollView.java17
1 files changed, 12 insertions, 5 deletions
diff --git a/core/java/android/widget/ScrollView.java b/core/java/android/widget/ScrollView.java
index 0555cd403b00..493b28c688f9 100644
--- a/core/java/android/widget/ScrollView.java
+++ b/core/java/android/widget/ScrollView.java
@@ -17,6 +17,7 @@
package android.widget;
import android.annotation.NonNull;
+import android.content.res.Configuration;
import android.os.Build;
import android.os.Build.VERSION_CODES;
import android.os.Parcel;
@@ -186,6 +187,10 @@ public class ScrollView extends FrameLayout {
setFillViewport(a.getBoolean(R.styleable.ScrollView_fillViewport, false));
a.recycle();
+
+ if (context.getResources().getConfiguration().uiMode == Configuration.UI_MODE_TYPE_WATCH) {
+ setRevealOnFocusHint(false);
+ }
}
@Override
@@ -1455,11 +1460,13 @@ public class ScrollView extends FrameLayout {
@Override
public void requestChildFocus(View child, View focused) {
- if (!mIsLayoutDirty) {
- scrollToChild(focused);
- } else {
- // The child may not be laid out yet, we can't compute the scroll yet
- mChildToScrollTo = focused;
+ if (focused.getRevealOnFocusHint()) {
+ if (!mIsLayoutDirty) {
+ scrollToChild(focused);
+ } else {
+ // The child may not be laid out yet, we can't compute the scroll yet
+ mChildToScrollTo = focused;
+ }
}
super.requestChildFocus(child, focused);
}