diff options
Diffstat (limited to 'services/java/com/android/server/status/ExpandedView.java')
-rw-r--r-- | services/java/com/android/server/status/ExpandedView.java | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/services/java/com/android/server/status/ExpandedView.java b/services/java/com/android/server/status/ExpandedView.java new file mode 100644 index 000000000000..d0f14cb86deb --- /dev/null +++ b/services/java/com/android/server/status/ExpandedView.java @@ -0,0 +1,61 @@ +package com.android.server.status; + +import android.content.Context; +import android.util.AttributeSet; +import android.view.Display; +import android.view.KeyEvent; +import android.view.MotionEvent; +import android.view.WindowManager; +import android.widget.LinearLayout; +import android.util.Log; + + +public class ExpandedView extends LinearLayout { + final Display mDisplay; + StatusBarService mService; + boolean mTracking; + int mStartX, mStartY; + int mMaxHeight = 0; + int mPrevHeight = -1; + + public ExpandedView(Context context, AttributeSet attrs) { + super(context, attrs); + mDisplay = ((WindowManager)context.getSystemService( + Context.WINDOW_SERVICE)).getDefaultDisplay(); + } + + @Override + protected void onFinishInflate() { + super.onFinishInflate(); + } + + /** We want to shrink down to 0, and ignore the background. */ + @Override + public int getSuggestedMinimumHeight() { + return 0; + } + + @Override + protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { + super.onMeasure(widthMeasureSpec, + MeasureSpec.makeMeasureSpec(mMaxHeight, MeasureSpec.AT_MOST)); + } + + @Override + protected void onLayout(boolean changed, int left, int top, int right, int bottom) { + super.onLayout(changed, left, top, right, bottom); + int height = bottom - top; + if (height != mPrevHeight) { + //Log.d(StatusBarService.TAG, "height changed old=" + mPrevHeight + " new=" + height); + mPrevHeight = height; + mService.updateExpandedViewPos(StatusBarService.EXPANDED_LEAVE_ALONE); + } + } + + void setMaxHeight(int h) { + if (h != mMaxHeight) { + mMaxHeight = h; + requestLayout(); + } + } +} |