1503007dd023668b1e45de948d3673e594d7f5a82Joe Onorato/* 2503007dd023668b1e45de948d3673e594d7f5a82Joe Onorato * Copyright (C) 2008 The Android Open Source Project 3503007dd023668b1e45de948d3673e594d7f5a82Joe Onorato * 4503007dd023668b1e45de948d3673e594d7f5a82Joe Onorato * Licensed under the Apache License, Version 2.0 (the "License"); 5503007dd023668b1e45de948d3673e594d7f5a82Joe Onorato * you may not use this file except in compliance with the License. 6503007dd023668b1e45de948d3673e594d7f5a82Joe Onorato * You may obtain a copy of the License at 7503007dd023668b1e45de948d3673e594d7f5a82Joe Onorato * 8503007dd023668b1e45de948d3673e594d7f5a82Joe Onorato * http://www.apache.org/licenses/LICENSE-2.0 9503007dd023668b1e45de948d3673e594d7f5a82Joe Onorato * 10503007dd023668b1e45de948d3673e594d7f5a82Joe Onorato * Unless required by applicable law or agreed to in writing, software 11503007dd023668b1e45de948d3673e594d7f5a82Joe Onorato * distributed under the License is distributed on an "AS IS" BASIS, 12503007dd023668b1e45de948d3673e594d7f5a82Joe Onorato * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13503007dd023668b1e45de948d3673e594d7f5a82Joe Onorato * See the License for the specific language governing permissions and 14503007dd023668b1e45de948d3673e594d7f5a82Joe Onorato * limitations under the License. 15503007dd023668b1e45de948d3673e594d7f5a82Joe Onorato */ 16503007dd023668b1e45de948d3673e594d7f5a82Joe Onorato 1779de0c550037a5328bbc7f4fddaf02f192a5c283Joe Onoratopackage com.android.systemui.statusbar; 18503007dd023668b1e45de948d3673e594d7f5a82Joe Onorato 19503007dd023668b1e45de948d3673e594d7f5a82Joe Onoratoimport android.content.Context; 20503007dd023668b1e45de948d3673e594d7f5a82Joe Onoratoimport android.util.AttributeSet; 21503007dd023668b1e45de948d3673e594d7f5a82Joe Onoratoimport android.view.Display; 22503007dd023668b1e45de948d3673e594d7f5a82Joe Onoratoimport android.view.KeyEvent; 23503007dd023668b1e45de948d3673e594d7f5a82Joe Onoratoimport android.view.MotionEvent; 24503007dd023668b1e45de948d3673e594d7f5a82Joe Onoratoimport android.view.WindowManager; 25503007dd023668b1e45de948d3673e594d7f5a82Joe Onoratoimport android.widget.LinearLayout; 26503007dd023668b1e45de948d3673e594d7f5a82Joe Onoratoimport android.util.Slog; 27503007dd023668b1e45de948d3673e594d7f5a82Joe Onorato 28503007dd023668b1e45de948d3673e594d7f5a82Joe Onorato 29503007dd023668b1e45de948d3673e594d7f5a82Joe Onoratopublic class ExpandedView extends LinearLayout { 301c95ecb47a19e18d0c51f3fd2931d13e9bd845b9Joe Onorato StatusBarService mService; 31503007dd023668b1e45de948d3673e594d7f5a82Joe Onorato int mPrevHeight = -1; 32503007dd023668b1e45de948d3673e594d7f5a82Joe Onorato 33503007dd023668b1e45de948d3673e594d7f5a82Joe Onorato public ExpandedView(Context context, AttributeSet attrs) { 34503007dd023668b1e45de948d3673e594d7f5a82Joe Onorato super(context, attrs); 35503007dd023668b1e45de948d3673e594d7f5a82Joe Onorato } 36503007dd023668b1e45de948d3673e594d7f5a82Joe Onorato 37503007dd023668b1e45de948d3673e594d7f5a82Joe Onorato @Override 38503007dd023668b1e45de948d3673e594d7f5a82Joe Onorato protected void onFinishInflate() { 39503007dd023668b1e45de948d3673e594d7f5a82Joe Onorato super.onFinishInflate(); 40503007dd023668b1e45de948d3673e594d7f5a82Joe Onorato } 41503007dd023668b1e45de948d3673e594d7f5a82Joe Onorato 42503007dd023668b1e45de948d3673e594d7f5a82Joe Onorato /** We want to shrink down to 0, and ignore the background. */ 43503007dd023668b1e45de948d3673e594d7f5a82Joe Onorato @Override 44503007dd023668b1e45de948d3673e594d7f5a82Joe Onorato public int getSuggestedMinimumHeight() { 45503007dd023668b1e45de948d3673e594d7f5a82Joe Onorato return 0; 46503007dd023668b1e45de948d3673e594d7f5a82Joe Onorato } 47503007dd023668b1e45de948d3673e594d7f5a82Joe Onorato 48503007dd023668b1e45de948d3673e594d7f5a82Joe Onorato @Override 49503007dd023668b1e45de948d3673e594d7f5a82Joe Onorato protected void onLayout(boolean changed, int left, int top, int right, int bottom) { 50503007dd023668b1e45de948d3673e594d7f5a82Joe Onorato super.onLayout(changed, left, top, right, bottom); 51503007dd023668b1e45de948d3673e594d7f5a82Joe Onorato int height = bottom - top; 52503007dd023668b1e45de948d3673e594d7f5a82Joe Onorato if (height != mPrevHeight) { 531c95ecb47a19e18d0c51f3fd2931d13e9bd845b9Joe Onorato //Slog.d(StatusBarService.TAG, "height changed old=" + mPrevHeight 54503007dd023668b1e45de948d3673e594d7f5a82Joe Onorato // + " new=" + height); 55503007dd023668b1e45de948d3673e594d7f5a82Joe Onorato mPrevHeight = height; 561c95ecb47a19e18d0c51f3fd2931d13e9bd845b9Joe Onorato mService.updateExpandedViewPos(StatusBarService.EXPANDED_LEAVE_ALONE); 57503007dd023668b1e45de948d3673e594d7f5a82Joe Onorato } 58503007dd023668b1e45de948d3673e594d7f5a82Joe Onorato } 59503007dd023668b1e45de948d3673e594d7f5a82Joe Onorato} 60