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

Commit 2debc0a8 authored by Pierre Barbier de Reuille's avatar Pierre Barbier de Reuille
Browse files

Correct AppWidget layout when WP is off

When the work profile (WP) is off, the layout of the widget is provided
by the system.

The layout must have a background with android:id/background as view id
and clip its outline, or it will be considered "legacy" and have the
wrong outline when moved.

Bug: 187907544
Test: Add a widget for the WP and turn the WP off.
Change-Id: Ibee31f5f0e510313ae7f8dc78c208c45a4d0e1fd
parent f5bb3549
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -15,12 +15,13 @@ Copyright (C) 2015 The Android Open Source Project
    limitations under the License.
-->
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/work_widget_mask_frame"
    android:id="@android:id/background"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/work_widget_mask_view_background"
    android:importantForAccessibility="noHideDescendants"
    android:clickable="true">
    android:clickable="true"
    android:clipToOutline="true">

    <com.android.internal.widget.DisableImageView
        android:id="@+id/work_widget_app_icon"
+0 −1
Original line number Diff line number Diff line
@@ -2962,7 +2962,6 @@
  <java-symbol type="string" name="importance_from_person" />

  <java-symbol type="layout" name="work_widget_mask_view" />
  <java-symbol type="id" name="work_widget_mask_frame" />
  <java-symbol type="id" name="work_widget_app_icon" />
  <java-symbol type="id" name="work_widget_badge_icon" />

+1 −1
Original line number Diff line number Diff line
@@ -554,7 +554,7 @@ class AppWidgetServiceImpl extends IAppWidgetService.Stub implements WidgetBacku
            }

            if (onClickIntent != null) {
                views.setOnClickPendingIntent(R.id.work_widget_mask_frame,
                views.setOnClickPendingIntent(android.R.id.background,
                        PendingIntent.getActivity(mContext, 0, onClickIntent,
                                PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE));
            }