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

Commit 248413cf authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Implement divider for Autofill bottom sheet save dialog. The divider...

Merge "Implement divider for Autofill bottom sheet save dialog. The divider will only be visible if there is extra content being hidden below the footer." into main
parents 89d5584a 2171dd97
Loading
Loading
Loading
Loading
+10 −0
Original line number Original line Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>

<!-- Copied from //frameworks/base/core/res/res/drawable/list_divider_material.xml. -->
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:tint="@color/foreground_material_light">
  <solid android:color="#1f000000" />
  <size
      android:height="1dp"
      android:width="1dp"/>
</shape>
 No newline at end of file
+13 −4
Original line number Original line Diff line number Diff line
@@ -31,11 +31,11 @@
        android:gravity="center_horizontal"
        android:gravity="center_horizontal"
        android:orientation="vertical">
        android:orientation="vertical">
        <ScrollView
        <ScrollView
            android:id="@+id/autofill_sheet_scroll_view"
            android:layout_width="fill_parent"
            android:layout_width="fill_parent"
            android:layout_height="0dp"
            android:layout_height="0dp"
            android:fillViewport="true"
            android:fillViewport="true"
            android:layout_weight="1"
            android:layout_weight="1">
            android:layout_marginBottom="8dp">
            <LinearLayout
            <LinearLayout
                android:layout_marginStart="@dimen/autofill_save_outer_margin"
                android:layout_marginStart="@dimen/autofill_save_outer_margin"
                android:layout_marginEnd="@dimen/autofill_save_outer_margin"
                android:layout_marginEnd="@dimen/autofill_save_outer_margin"
@@ -66,16 +66,25 @@
                    android:layout_height="wrap_content"
                    android:layout_height="wrap_content"
                    android:minHeight="0dp"
                    android:minHeight="0dp"
                    android:visibility="gone"/>
                    android:visibility="gone"/>

                <View
                    android:id="@+id/autofill_sheet_scroll_view_space"
                    android:layout_width="match_parent"
                    android:layout_height="16dp"/>
            </LinearLayout>
            </LinearLayout>
        </ScrollView>
        </ScrollView>


        <View
            android:id="@+id/autofill_sheet_divider"
            android:layout_width="match_parent"
            android:layout_height="1dp"
            style="@style/AutofillHalfSheetDivider" />

        <com.android.internal.widget.ButtonBarLayout
        <com.android.internal.widget.ButtonBarLayout
            android:layout_width="match_parent"
            android:layout_width="match_parent"
            android:layout_height="48dp"
            android:layout_height="48dp"
            android:layout_gravity="end"
            android:layout_gravity="end"
            android:clipToPadding="false"
            android:clipToPadding="false"
            android:layout_marginTop="16dp"
            android:layout_marginTop="8dp"
            android:layout_marginBottom="8dp"
            android:layout_marginBottom="8dp"
            android:theme="@style/Theme.DeviceDefault.AutofillHalfScreenDialogButton"
            android:theme="@style/Theme.DeviceDefault.AutofillHalfScreenDialogButton"
            android:orientation="horizontal"
            android:orientation="horizontal"
+5 −0
Original line number Original line Diff line number Diff line
@@ -1515,6 +1515,11 @@ please see styles_device_defaults.xml.
        <item name="background">@drawable/btn_outlined</item>
        <item name="background">@drawable/btn_outlined</item>
    </style>
    </style>


    <!-- @hide Divider for Autofill half screen dialog -->
    <style name="AutofillHalfSheetDivider">
        <item name="android:background">@drawable/autofill_half_sheet_divider</item>
    </style>

    <!-- @hide Autofill background for popup window (not for fullscreen) -->
    <!-- @hide Autofill background for popup window (not for fullscreen) -->
    <style name="AutofillDatasetPicker">
    <style name="AutofillDatasetPicker">
        <item name="elevation">4dp</item>
        <item name="elevation">4dp</item>
+4 −0
Original line number Original line Diff line number Diff line
@@ -3704,6 +3704,10 @@
  <java-symbol type="id" name="autofill_dataset_list"/>
  <java-symbol type="id" name="autofill_dataset_list"/>
  <java-symbol type="id" name="autofill_dataset_picker"/>
  <java-symbol type="id" name="autofill_dataset_picker"/>
  <java-symbol type="id" name="autofill_dataset_title" />
  <java-symbol type="id" name="autofill_dataset_title" />
  <java-symbol type="id" name="autofill_sheet_divider"/>
  <java-symbol type="id" name="autofill_sheet_scroll_view"/>
  <java-symbol type="id" name="autofill_sheet_scroll_view_space"/>

  <java-symbol type="id" name="autofill_save_custom_subtitle" />
  <java-symbol type="id" name="autofill_save_custom_subtitle" />
  <java-symbol type="id" name="autofill_save_icon" />
  <java-symbol type="id" name="autofill_save_icon" />
  <java-symbol type="id" name="autofill_save_no" />
  <java-symbol type="id" name="autofill_save_no" />
+16 −0
Original line number Original line Diff line number Diff line
@@ -58,11 +58,13 @@ import android.view.LayoutInflater;
import android.view.View;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewGroup;
import android.view.ViewGroup.LayoutParams;
import android.view.ViewGroup.LayoutParams;
import android.view.ViewTreeObserver;
import android.view.Window;
import android.view.Window;
import android.view.WindowManager;
import android.view.WindowManager;
import android.view.autofill.AutofillManager;
import android.view.autofill.AutofillManager;
import android.widget.ImageView;
import android.widget.ImageView;
import android.widget.RemoteViews;
import android.widget.RemoteViews;
import android.widget.ScrollView;
import android.widget.TextView;
import android.widget.TextView;


import com.android.internal.R;
import com.android.internal.R;
@@ -370,9 +372,23 @@ final class SaveUi {
        params.windowAnimations = R.style.AutofillSaveAnimation;
        params.windowAnimations = R.style.AutofillSaveAnimation;
        params.setTrustedOverlay();
        params.setTrustedOverlay();


        ScrollView scrollView = view.findViewById(R.id.autofill_sheet_scroll_view);

        View divider = view.findViewById(R.id.autofill_sheet_divider);

        ViewTreeObserver observer = scrollView.getViewTreeObserver();
        observer.addOnGlobalLayoutListener(() -> adjustDividerVisibility(scrollView, divider));

        scrollView.getViewTreeObserver()
                .addOnScrollChangedListener(() -> adjustDividerVisibility(scrollView, divider));
        show();
        show();
    }
    }


    private void adjustDividerVisibility(ScrollView scrollView, View divider) {
        boolean canScrollDown = scrollView.canScrollVertically(1); // 1 to check scrolling down
        divider.setVisibility(canScrollDown ? View.VISIBLE : View.INVISIBLE);
    }

    private boolean applyCustomDescription(@NonNull Context context, @NonNull View saveUiView,
    private boolean applyCustomDescription(@NonNull Context context, @NonNull View saveUiView,
            @NonNull ValueFinder valueFinder, @NonNull SaveInfo info) {
            @NonNull ValueFinder valueFinder, @NonNull SaveInfo info) {
        final CustomDescription customDescription = info.getCustomDescription();
        final CustomDescription customDescription = info.getCustomDescription();