Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 195b6e12 authored by Daniel Sandler's avatar Daniel Sandler Committed by Android (Google) Code Review
Browse files

Merge "Fix panel handles on large screens." into jb-mr1-dev

parents 13701b50 13522a2e
Loading
Loading
Loading
Loading
+14 −20
Original line number Diff line number Diff line
@@ -24,7 +24,9 @@
    <!-- TODO: Put into ScrollView -->
    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        android:layout_height="wrap_content"
        android:layout_marginBottom="@dimen/close_handle_underlap"
        >
        <com.android.systemui.statusbar.phone.QuickSettingsContainerView
            android:id="@+id/quick_settings_container"
            android:layout_width="match_parent"
@@ -33,18 +35,10 @@
            android:columnCount="@integer/quick_settings_num_columns"
            />
    </ScrollView>
    <LinearLayout android:id="@+id/handle"
        android:layout_width="match_parent"
        android:layout_height="@dimen/close_handle_height"
        android:layout_gravity="bottom"
        android:orientation="vertical"
        >
        <ImageView

    <View
        android:id="@+id/handle"
        android:layout_width="match_parent"
        android:layout_height="@dimen/close_handle_height"
            android:layout_gravity="bottom"
            android:scaleType="fitXY"
            android:src="@drawable/status_bar_close"
        />
    </LinearLayout>
</com.android.systemui.statusbar.phone.SettingsPanelView >
 No newline at end of file
+2 −3
Original line number Diff line number Diff line
@@ -76,10 +76,9 @@
        </ScrollView>
    </LinearLayout>

    <View android:id="@+id/handle"
    <View
        android:id="@+id/handle"
        android:layout_width="match_parent"
        android:layout_height="@dimen/close_handle_height"
        android:layout_gravity="bottom"
        />

</com.android.systemui.statusbar.phone.NotificationPanelView><!-- end of sliding panel -->
+3 −3
Original line number Diff line number Diff line
@@ -146,10 +146,10 @@
    <dimen name="navbar_search_panel_height">230dip</dimen>

    <!-- Height of the draggable handle at the bottom of the phone notification panel -->
    <dimen name="close_handle_height">32dp</dimen>
    <dimen name="close_handle_height">36dp</dimen>

    <!-- Amount of close_handle that will not overlap the notification list -->
    <dimen name="close_handle_underlap">18dp</dimen>
    <!-- Amount of close_handle that will NOT overlap the notification list -->
    <dimen name="close_handle_underlap">32dp</dimen>

    <!-- Height of the notification panel header bar -->
    <dimen name="notification_panel_header_height">48dp</dimen>
+3 −1
Original line number Diff line number Diff line
@@ -36,7 +36,9 @@ public class CloseDragHandle extends LinearLayout {
     */
    @Override
    public boolean onTouchEvent(MotionEvent event) {
        if (event.getAction() != MotionEvent.ACTION_DOWN) {
        if (event.getAction() == MotionEvent.ACTION_DOWN) {
            setPressed(true);
        } else {
            mService.interceptTouchEvent(event);
        }
        return true;
+18 −4
Original line number Diff line number Diff line
@@ -21,19 +21,28 @@ import android.content.res.Resources;
import android.graphics.Canvas;
import android.graphics.drawable.Drawable;
import android.util.AttributeSet;
import android.view.View;

import com.android.systemui.R;

public class NotificationPanelView extends PanelView {

    Drawable mHandleBar;
    float mHandleBarHeight;
    View mHandleView;

    public NotificationPanelView(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    @Override
    protected void onFinishInflate() {
        super.onFinishInflate();

        Resources resources = context.getResources();
        Resources resources = getContext().getResources();
        mHandleBar = resources.getDrawable(R.drawable.status_bar_close);
        mHandleBarHeight = resources.getDimension(R.dimen.close_handle_height);
        mHandleView = findViewById(R.id.handle);
    }

    @Override
@@ -44,19 +53,24 @@ public class NotificationPanelView extends PanelView {
        super.fling(vel, always);
    }

    // We draw the handle ourselves so that it's always glued to the bottom of the window.
    @Override
    protected void onLayout(boolean changed, int left, int top, int right, int bottom) {
        super.onLayout(changed, left, top, right, bottom);
        if (changed) {
            mHandleBar.setBounds(0, 0, getWidth(), (int) mHandleBarHeight);
            final int pl = getPaddingLeft();
            final int pr = getPaddingRight();
            mHandleBar.setBounds(pl, 0, getWidth() - pr, (int) mHandleBarHeight);
        }
    }

    @Override
    public void draw(Canvas canvas) {
        super.draw(canvas);
        canvas.translate(0, getHeight() - mHandleBarHeight);
        final int off = (int) (getHeight() - mHandleBarHeight - getPaddingBottom());
        canvas.translate(0, off);
        mHandleBar.setState(mHandleView.getDrawableState());
        mHandleBar.draw(canvas);
        canvas.translate(0, -getHeight() + mHandleBarHeight);
        canvas.translate(0, -off);
    }
}
Loading