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

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

Merge "Allow QS to be closed via drag on background." into jb-mr1-dev

parents 211f2309 e5f7ec05
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -22,10 +22,11 @@
    android:background="@drawable/notification_panel_bg"
    >
    <!-- TODO: Put into ScrollView -->
    <ScrollView
    <com.android.systemui.statusbar.phone.QuickSettingsScrollView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="@dimen/close_handle_underlap"
        android:overScrollMode="ifContentScrolls"
        >
        <com.android.systemui.statusbar.phone.QuickSettingsContainerView
            android:id="@+id/quick_settings_container"
@@ -34,7 +35,7 @@
            android:animateLayoutChanges="true"
            android:columnCount="@integer/quick_settings_num_columns"
            />
    </ScrollView>
    </com.android.systemui.statusbar.phone.QuickSettingsScrollView>

    <View
        android:id="@+id/handle"
+59 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2012 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.android.systemui.statusbar.phone;

import android.content.Context;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.view.View;
import android.widget.ScrollView;

public class QuickSettingsScrollView extends ScrollView {

    public QuickSettingsScrollView(Context context) {
        super(context);
    }

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

    public QuickSettingsScrollView(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
    }

    // Y U NO PROTECTED
    private int getScrollRange() {
        int scrollRange = 0;
        if (getChildCount() > 0) {
            View child = getChildAt(0);
            scrollRange = Math.max(0,
                    child.getHeight() - (getHeight() - mPaddingBottom - mPaddingTop));
        }
        return scrollRange;
    }

    @Override
    public boolean onTouchEvent(MotionEvent ev) {
        final int range = getScrollRange();
        if (range == 0) {
            return false;
        }

        return super.onTouchEvent(ev);
    }
}