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
This commit is contained in:
Pierre Barbier de Reuille
2021-05-19 10:05:51 +01:00
parent f5bb354999
commit 2debc0a849
3 changed files with 4 additions and 4 deletions

View File

@@ -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"

View File

@@ -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" />

View File

@@ -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));
}