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

Commit 5a2eb833 authored by Jiaquan He's avatar Jiaquan He
Browse files

Avoid clipping in Grid-based Recents.

This commit avoids clipping in Grid-based Recents by:
- extending TaskView and AnimatableViewBounds in Recents and removing
  all clipping logic;
- returning early in TaskStackView when it wants to clip TaskViews.

Change-Id: I52819a828f84ce42fc8a63085e15a8264000d271
parent e4e41ba4
Loading
Loading
Loading
Loading
+35 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2016 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.
-->
<com.android.systemui.recents.views.grid.GridTaskView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:focusable="true">
    <com.android.systemui.recents.views.TaskViewThumbnail
        android:id="@+id/task_view_thumbnail"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

    <include layout="@layout/recents_task_view_header" />

    <!-- TODO: Move this into a view stub -->
    <include layout="@layout/recents_task_view_lock_to_app"/>

    <!-- The incompatible app toast -->
    <include layout="@layout/recents_task_view_incompatible_app_toast"/>
</com.android.systemui.recents.views.grid.GridTaskView>

+4 −29
Original line number Diff line number Diff line
@@ -26,35 +26,10 @@
    <include layout="@layout/recents_task_view_header" />

    <!-- TODO: Move this into a view stub -->
    <com.android.systemui.statusbar.AlphaOptimizedFrameLayout
        android:id="@+id/lock_to_app_fab"
        android:layout_width="@dimen/recents_lock_to_app_size"
        android:layout_height="@dimen/recents_lock_to_app_size"
        android:layout_gravity="bottom|end"
        android:layout_marginEnd="15dp"
        android:layout_marginBottom="15dp"
        android:translationZ="4dp"
        android:contentDescription="@string/recents_lock_to_app_button_label"
        android:background="@drawable/recents_lock_to_task_button_bg"
        android:visibility="invisible"
        android:alpha="0">
        <ImageView
            android:layout_width="@dimen/recents_lock_to_app_icon_size"
            android:layout_height="@dimen/recents_lock_to_app_icon_size"
            android:layout_gravity="center"
            android:src="@drawable/recents_lock_to_app_pin" />
    </com.android.systemui.statusbar.AlphaOptimizedFrameLayout>
    <include layout="@layout/recents_task_view_lock_to_app"/>

    <!-- The incompatible app toast -->
    <ViewStub android:id="@+id/incompatible_app_toast_stub"
                android:inflatedId="@+id/incompatible_app_toast"
                android:layout="@*android:layout/transient_notification"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="top|center_horizontal"
                android:layout_marginTop="48dp"
                android:layout_marginLeft="16dp"
                android:layout_marginRight="16dp" />
    <include layout="@layout/recents_task_view_incompatible_app_toast"/>
</com.android.systemui.recents.views.TaskView>

+26 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2016 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.
-->
<ViewStub
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/incompatible_app_toast_stub"
    android:inflatedId="@+id/incompatible_app_toast"
    android:layout="@*android:layout/transient_notification"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="top|center_horizontal"
    android:layout_marginTop="48dp"
    android:layout_marginLeft="16dp"
    android:layout_marginRight="16dp" />
 No newline at end of file
+34 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2016 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.
-->
<com.android.systemui.statusbar.AlphaOptimizedFrameLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/lock_to_app_fab"
    android:layout_width="@dimen/recents_lock_to_app_size"
    android:layout_height="@dimen/recents_lock_to_app_size"
    android:layout_gravity="bottom|end"
    android:layout_marginEnd="15dp"
    android:layout_marginBottom="15dp"
    android:translationZ="4dp"
    android:contentDescription="@string/recents_lock_to_app_button_label"
    android:background="@drawable/recents_lock_to_task_button_bg"
    android:visibility="invisible"
    android:alpha="0">
    <ImageView
        android:layout_width="@dimen/recents_lock_to_app_icon_size"
        android:layout_height="@dimen/recents_lock_to_app_icon_size"
        android:layout_gravity="center"
        android:src="@drawable/recents_lock_to_app_pin" />
</com.android.systemui.statusbar.AlphaOptimizedFrameLayout>
 No newline at end of file
+1 −1
Original line number Diff line number Diff line
@@ -86,7 +86,7 @@ public class Utilities {
    public static <T extends View> T findParent(View v, Class<T> parentClass) {
        ViewParent parent = v.getParent();
        while (parent != null) {
            if (parent.getClass().equals(parentClass)) {
            if (parentClass.isAssignableFrom(parent.getClass())) {
                return (T) parent;
            }
            parent = parent.getParent();
Loading