Merge "Fix 6486099: Fix clipping issues with MultiWaveView on phone/tablet" into jb-dev

This commit is contained in:
Jim Miller
2012-05-12 14:54:06 -07:00
committed by Android (Google) Code Review
9 changed files with 16 additions and 21 deletions

View File

@@ -258,14 +258,14 @@ public class MultiWaveView extends View {
protected int getSuggestedMinimumWidth() {
// View should be large enough to contain the background + handle and
// target drawable on either edge.
return mOuterRing.getWidth() + mMaxTargetWidth;
return (int) (Math.max(mOuterRing.getWidth(), 2 * mOuterRadius) + mMaxTargetWidth);
}
@Override
protected int getSuggestedMinimumHeight() {
// View should be large enough to contain the unlock ring + target and
// target drawable on either edge
return mOuterRing.getHeight() + mMaxTargetHeight;
return (int) (Math.max(mOuterRing.getHeight(), 2 * mOuterRadius) + mMaxTargetHeight);
}
private int resolveMeasured(int measureSpec, int desired)
@@ -941,10 +941,14 @@ public class MultiWaveView extends View {
super.onLayout(changed, left, top, right, bottom);
final int width = right - left;
final int height = bottom - top;
// Target placement width/height. This puts the targets on the greater of the ring
// width or the specified outer radius.
final float placementWidth = Math.max(mOuterRing.getWidth(), 2 * mOuterRadius);
final float placementHeight = Math.max(mOuterRing.getHeight(), 2 * mOuterRadius);
float newWaveCenterX = mHorizontalOffset + mHorizontalInset
+ Math.max(width, mMaxTargetWidth + mOuterRing.getWidth()) / 2;
+ Math.max(width, mMaxTargetWidth + placementWidth) / 2;
float newWaveCenterY = mVerticalOffset + mVerticalInset
+ Math.max(height, + mMaxTargetHeight + mOuterRing.getHeight()) / 2;
+ Math.max(height, + mMaxTargetHeight + placementHeight) / 2;
assignDefaultsIfNeeded(newWaveCenterX, newWaveCenterY);

View File

@@ -31,7 +31,7 @@
<!-- top: status -->
<RelativeLayout
android:layout_height="0dip"
android:layout_weight="1"
android:layout_weight="0.42"
android:layout_width="match_parent"
android:gravity="center">
@@ -69,8 +69,9 @@
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dip"
android:layout_weight="1"
android:orientation="vertical">
android:layout_weight="0.58"
android:orientation="vertical"
android:gravity="bottom">
<TextView
android:id="@+id/screenLocked"
@@ -87,7 +88,7 @@
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_gravity="center_horizontal"
android:gravity="center"
android:targetDrawables="@array/lockscreen_targets_with_camera"

View File

@@ -30,7 +30,7 @@
<!-- left side: status and music -->
<RelativeLayout
android:layout_height="match_parent"
android:layout_weight="1"
android:layout_weight="0.42"
android:layout_width="0dip"
android:gravity="center">
@@ -67,7 +67,7 @@
<!-- right side -->
<RelativeLayout
android:layout_height="match_parent"
android:layout_weight="1"
android:layout_weight="0.58"
android:layout_width="0dip"
android:gravity="center_horizontal|center_vertical">
@@ -87,7 +87,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_rowSpan="7"
android:layout_gravity="center_vertical|center_horizontal"
android:layout_gravity="center_vertical|right"
android:gravity="center"
android:targetDrawables="@array/lockscreen_targets_with_camera"

View File

@@ -52,7 +52,6 @@
prvandroid:directionDescriptions="@array/navbar_search_direction_descriptions"
prvandroid:handleDrawable="@drawable/navbar_search_handle"
prvandroid:waveDrawable="@drawable/navbar_search_outerring"
prvandroid:outerRadius="@dimen/navbar_search_target_placement_radius"
prvandroid:snapMargin="@dimen/navbar_search_snap_margin"
prvandroid:hitRadius="@dimen/navbar_search_hit_radius"
prvandroid:feedbackCount="0"

View File

@@ -52,7 +52,6 @@
prvandroid:directionDescriptions="@array/navbar_search_direction_descriptions"
prvandroid:handleDrawable="@drawable/navbar_search_handle"
prvandroid:waveDrawable="@drawable/navbar_search_outerring"
prvandroid:outerRadius="@dimen/navbar_search_target_placement_radius"
prvandroid:snapMargin="@dimen/navbar_search_snap_margin"
prvandroid:hitRadius="@dimen/navbar_search_hit_radius"
prvandroid:feedbackCount="0"

View File

@@ -61,7 +61,6 @@
prvandroid:directionDescriptions="@array/navbar_search_direction_descriptions"
prvandroid:handleDrawable="@drawable/navbar_search_handle"
prvandroid:waveDrawable="@drawable/navbar_search_outerring"
prvandroid:outerRadius="@dimen/navbar_search_target_placement_radius"
prvandroid:snapMargin="@dimen/navbar_search_snap_margin"
prvandroid:hitRadius="@dimen/navbar_search_hit_radius"
prvandroid:feedbackCount="0"

View File

@@ -61,7 +61,6 @@
prvandroid:directionDescriptions="@array/navbar_search_direction_descriptions"
prvandroid:handleDrawable="@drawable/navbar_search_handle"
prvandroid:waveDrawable="@drawable/navbar_search_outerring"
prvandroid:outerRadius="@dimen/navbar_search_target_placement_radius"
prvandroid:snapMargin="@dimen/navbar_search_snap_margin"
prvandroid:hitRadius="@dimen/navbar_search_hit_radius"
prvandroid:feedbackCount="0"

View File

@@ -27,9 +27,6 @@
<!-- 0x33 = center_horizontal|top -->
<integer name="notification_panel_layout_gravity">0x31</integer>
<!-- Default target placement radius for navigation bar search target -->
<dimen name="navbar_search_target_placement_radius">182dip</dimen>
<!-- Diameter of outer shape drawable shown in navbar search-->
<dimen name="navbar_search_outerring_diameter">364dp</dimen>

View File

@@ -105,9 +105,6 @@
<!-- The width of the view containing the menu status bar icon -->
<dimen name="navigation_menu_key_width">40dip</dimen>
<!-- Default target placement radius for navigation bar search target -->
<dimen name="navbar_search_target_placement_radius">150dip</dimen>
<!-- Default distance beyond which snaps to the target radius -->
<dimen name="navbar_search_snap_margin">20dip</dimen>