From a9c9eea93af0aebbdace4ce39acde8085186403e Mon Sep 17 00:00:00 2001 From: Jeff Sharkey Date: Thu, 21 Mar 2013 14:57:07 -0700 Subject: Finish RTL work in Downloads. Clean up some padding, and handle checkbox clicks based on RTL mode. Bug: 8133419 Change-Id: I9c0f54218eb1c182fbe6f3f4eeb3e83e7ebc6ea9 --- ui/res/layout/download_list.xml | 8 ++++---- ui/res/layout/download_list_item.xml | 5 +++-- ui/res/layout/list_group_header.xml | 13 ++++++------- ui/res/values/dimen.xml | 2 +- .../downloads/ui/DateSortedExpandableListAdapter.java | 2 +- .../com/android/providers/downloads/ui/DownloadItem.java | 15 +++++++++++---- 6 files changed, 26 insertions(+), 19 deletions(-) diff --git a/ui/res/layout/download_list.xml b/ui/res/layout/download_list.xml index e4ebf7c9..a0ff5ff2 100644 --- a/ui/res/layout/download_list.xml +++ b/ui/res/layout/download_list.xml @@ -30,16 +30,16 @@ android:layout_weight="1"> + android:layout_marginStart="8dip" + android:textAppearance="?android:attr/textAppearanceSmall" + android:textAlignment="viewStart" /> diff --git a/ui/res/layout/list_group_header.xml b/ui/res/layout/list_group_header.xml index 2600f8de..466cd6c6 100644 --- a/ui/res/layout/list_group_header.xml +++ b/ui/res/layout/list_group_header.xml @@ -15,10 +15,9 @@ --> + android:id="@android:id/text1" + android:layout_width="match_parent" + android:layout_height="?android:attr/listPreferredItemHeight" + android:paddingStart="?android:attr/expandableListPreferredItemPaddingLeft" + android:textAppearance="?android:attr/textAppearanceMedium" + android:gravity="center_vertical" /> diff --git a/ui/res/values/dimen.xml b/ui/res/values/dimen.xml index 6e48f132..7519b878 100644 --- a/ui/res/values/dimen.xml +++ b/ui/res/values/dimen.xml @@ -15,5 +15,5 @@ --> - 40dip + 48dip diff --git a/ui/src/com/android/providers/downloads/ui/DateSortedExpandableListAdapter.java b/ui/src/com/android/providers/downloads/ui/DateSortedExpandableListAdapter.java index 19132a11..f5d70770 100644 --- a/ui/src/com/android/providers/downloads/ui/DateSortedExpandableListAdapter.java +++ b/ui/src/com/android/providers/downloads/ui/DateSortedExpandableListAdapter.java @@ -273,7 +273,7 @@ public class DateSortedExpandableListAdapter implements ExpandableListAdapter { TextView item; if (null == convertView || !(convertView instanceof TextView)) { LayoutInflater factory = LayoutInflater.from(mContext); - item = (TextView) factory.inflate(R.layout.list_group_header, null); + item = (TextView) factory.inflate(R.layout.list_group_header, parent, false); } else { item = (TextView) convertView; } diff --git a/ui/src/com/android/providers/downloads/ui/DownloadItem.java b/ui/src/com/android/providers/downloads/ui/DownloadItem.java index e24ac4a4..0562cd05 100644 --- a/ui/src/com/android/providers/downloads/ui/DownloadItem.java +++ b/ui/src/com/android/providers/downloads/ui/DownloadItem.java @@ -18,12 +18,11 @@ package com.android.providers.downloads.ui; import android.content.Context; import android.util.AttributeSet; -import android.view.accessibility.AccessibilityEvent; import android.view.MotionEvent; +import android.view.accessibility.AccessibilityEvent; import android.widget.CheckBox; import android.widget.Checkable; import android.widget.GridLayout; -import android.widget.RelativeLayout; /** * This class customizes RelativeLayout to directly handle clicks on the left part of the view and @@ -83,12 +82,20 @@ public class DownloadItem extends GridLayout implements Checkable { mDownloadList = downloadList; } + private boolean inCheckArea(MotionEvent event) { + if (isLayoutRtl()) { + return event.getX() > getWidth() - CHECKMARK_AREA; + } else { + return event.getX() < CHECKMARK_AREA; + } + } + @Override public boolean onTouchEvent(MotionEvent event) { boolean handled = false; switch(event.getAction()) { case MotionEvent.ACTION_DOWN: - if (event.getX() < CHECKMARK_AREA) { + if (inCheckArea(event)) { mIsInDownEvent = true; handled = true; } @@ -99,7 +106,7 @@ public class DownloadItem extends GridLayout implements Checkable { break; case MotionEvent.ACTION_UP: - if (mIsInDownEvent && event.getX() < CHECKMARK_AREA) { + if (mIsInDownEvent && inCheckArea(event)) { toggle(); sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_CLICKED); handled = true; -- cgit v1.2.3