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

Commit f97e18bd authored by Automerger Merge Worker's avatar Automerger Merge Worker Committed by Android (Google) Code Review
Browse files

Merge "Merge "Update the manage education to be a cling" into rvc-dev am:...

Merge "Merge "Update the manage education to be a cling" into rvc-dev am: e2043538 am: 070e7ce8 am: 96b05528" into rvc-qpr-dev-plus-aosp
parents ecfd72b9 ae207484
Loading
Loading
Loading
Loading
+55 −13
Original line number Diff line number Diff line
@@ -17,30 +17,72 @@
<com.android.systemui.bubbles.BubbleManageEducationView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    android:layout_height="match_parent"
    >
    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/manage_education_view"
        android:clickable="true"
        android:paddingTop="28dp"
        android:paddingBottom="16dp"
        android:paddingStart="@dimen/bubble_expanded_view_padding"
        android:paddingEnd="48dp"
        android:layout_marginEnd="24dp"
        android:orientation="vertical"
        android:background="@drawable/bubble_stack_user_education_bg"
        android:alpha="0.9"
        >

        <TextView
            android:id="@+id/user_education_title"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
        android:layout_width="@dimen/bubbles_manage_education_width">
            android:paddingStart="16dp"
            android:paddingBottom="16dp"
            android:fontFamily="@*android:string/config_bodyFontFamilyMedium"
            android:maxLines="1"
            android:text="@string/bubbles_user_education_manage_title"
            android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Headline"/>

        <TextView
            android:id="@+id/user_education_description"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:padding="8dp"
            android:paddingStart="16dp"
            android:paddingBottom="24dp"
            android:text="@string/bubbles_user_education_manage"
            android:fontFamily="@*android:string/config_bodyFontFamily"
            android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Body2"
            android:background="@drawable/bubble_manage_user_education_bg"
        />
            android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Body2"/>

        <View
            android:id="@+id/user_education_pointer"
            android:layout_width="@dimen/bubble_pointer_width"
            android:layout_height="@dimen/bubble_pointer_height"
        <LinearLayout
            android:layout_height="wrap_content"
            android:layout_width="wrap_content"
            android:orientation="horizontal" >

            <com.android.systemui.statusbar.AlphaOptimizedButton
                style="@android:style/Widget.Material.Button.Borderless"
                android:id="@+id/manage"
                android:layout_gravity="start"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:focusable="true"
                android:clickable="false"
                android:text="@string/manage_bubbles_text"
                android:textColor="?attr/wallpaperTextColor"
                android:alpha="0.89"
                />

            <com.android.systemui.statusbar.AlphaOptimizedButton
                style="@android:style/Widget.Material.Button.Borderless"
                android:id="@+id/got_it"
                android:layout_gravity="start"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:focusable="true"
                android:text="@string/bubbles_user_education_got_it"
                android:textColor="?attr/wallpaperTextColor"
                />
        </LinearLayout>
    </LinearLayout>
</com.android.systemui.bubbles.BubbleManageEducationView>
 No newline at end of file
+1 −1
Original line number Diff line number Diff line
@@ -1248,7 +1248,7 @@
    <!-- Bubbles user education views -->
    <dimen name="bubbles_manage_education_width">160dp</dimen>
    <!-- The inset from the top bound of the manage button to place the user education. -->
    <dimen name="bubbles_manage_education_top_inset">10dp</dimen>
    <dimen name="bubbles_manage_education_top_inset">65dp</dimen>
    <!-- Size of padding for the user education cling, this should at minimum be larger than
        individual_bubble_size + some padding. -->
    <dimen name="bubble_stack_user_education_side_inset">72dp</dimen>
+1 −23
Original line number Diff line number Diff line
@@ -17,10 +17,8 @@
package com.android.systemui.bubbles;

import android.content.Context;
import android.content.res.Resources;
import android.content.res.TypedArray;
import android.graphics.Color;
import android.graphics.drawable.ShapeDrawable;
import android.util.AttributeSet;
import android.view.View;
import android.widget.LinearLayout;
@@ -28,7 +26,6 @@ import android.widget.TextView;

import com.android.internal.util.ContrastColorUtil;
import com.android.systemui.R;
import com.android.systemui.recents.TriangleShape;

/**
 * Educational view to highlight the manage button that allows a user to configure the settings
@@ -36,7 +33,6 @@ import com.android.systemui.recents.TriangleShape;
 */
public class BubbleManageEducationView extends LinearLayout {

    private View mPointerView;
    private View mManageView;

    public BubbleManageEducationView(Context context) {
@@ -70,26 +66,8 @@ public class BubbleManageEducationView extends LinearLayout {
        ta.recycle();

        textColor = ContrastColorUtil.ensureTextContrast(textColor, bgColor, true);
        ((TextView) findViewById(R.id.user_education_title)).setTextColor(textColor);
        ((TextView) findViewById(R.id.user_education_description)).setTextColor(textColor);

        final Resources res = getResources();
        final int pointerWidth = res.getDimensionPixelSize(R.dimen.bubble_pointer_width);
        final int pointerHeight = res.getDimensionPixelSize(R.dimen.bubble_pointer_height);

        ShapeDrawable triangleShape =
                new ShapeDrawable(TriangleShape.create(
                        pointerWidth, pointerHeight, false /* isPointingUp */));
        triangleShape.setTint(bgColor);

        mPointerView = findViewById(R.id.user_education_pointer);
        mPointerView.setBackground(triangleShape);
    }

    /**
     * Specifies the x value this pointer should point to.
     */
    public void setPointerPosition(int x) {
        mPointerView.setTranslationX(x - (mPointerView.getWidth() / 2));
    }

    /**
+13 −5
Original line number Diff line number Diff line
@@ -1621,12 +1621,19 @@ public class BubbleStackView extends FrameLayout
                final int inset = getResources().getDimensionPixelSize(
                        R.dimen.bubbles_manage_education_top_inset);
                mManageEducationView.bringToFront();
                mManageEducationView.setManageViewPosition(mTempRect.left,
                        mTempRect.top - viewHeight + inset);
                mManageEducationView.setPointerPosition(mTempRect.centerX() - mTempRect.left);
                mManageEducationView.setManageViewPosition(0, mTempRect.top - viewHeight + inset);
                mManageEducationView.animate()
                        .setDuration(ANIMATE_STACK_USER_EDUCATION_DURATION)
                        .setInterpolator(FAST_OUT_SLOW_IN).alpha(1);
                mManageEducationView.findViewById(R.id.manage).setOnClickListener(view -> {
                            mExpandedBubble.getExpandedView().findViewById(R.id.settings_button)
                                    .performClick();
                            maybeShowManageEducation(false);
                        });
                mManageEducationView.findViewById(R.id.got_it).setOnClickListener(view ->
                        maybeShowManageEducation(false));
                mManageEducationView.setOnClickListener(view ->
                        maybeShowManageEducation(false));
            });
            Prefs.putBoolean(getContext(), HAS_SEEN_BUBBLES_MANAGE_EDUCATION, true);
        } else if (!show
@@ -1959,9 +1966,10 @@ public class BubbleStackView extends FrameLayout
     */
    @Override
    public void subtractObscuredTouchableRegion(Region touchableRegion, View view) {
        // If the notification shade is expanded, or the manage menu is open, we shouldn't let the
        // If the notification shade is expanded, or the manage menu is open, or we are showing
        // manage bubbles user education, we shouldn't let the
        // ActivityView steal any touch events from any location.
        if (!mIsExpanded || mShowingManage) {
        if (!mIsExpanded || mShowingManage || mManageEducationView.getVisibility() == VISIBLE) {
            touchableRegion.setEmpty();
        }
    }