Merge "Disallow loading icon from content URI to PipMenu" into tm-dev am: b986ddc460 am: 59ad018804

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/23436487

Change-Id: Icad1266bb7d23a7a9e02580e30e8976766b45a81
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Hongwei Wang
2023-07-25 23:42:47 +00:00
committed by Automerger Merge Worker

View File

@@ -45,6 +45,7 @@ import android.content.Intent;
import android.graphics.Color; import android.graphics.Color;
import android.graphics.Rect; import android.graphics.Rect;
import android.graphics.drawable.Drawable; import android.graphics.drawable.Drawable;
import android.graphics.drawable.Icon;
import android.net.Uri; import android.net.Uri;
import android.os.Bundle; import android.os.Bundle;
import android.os.Handler; import android.os.Handler;
@@ -513,6 +514,11 @@ public class PipMenuView extends FrameLayout {
final boolean isCloseAction = mCloseAction != null && Objects.equals( final boolean isCloseAction = mCloseAction != null && Objects.equals(
mCloseAction.getActionIntent(), action.getActionIntent()); mCloseAction.getActionIntent(), action.getActionIntent());
final int iconType = action.getIcon().getType();
if (iconType == Icon.TYPE_URI || iconType == Icon.TYPE_URI_ADAPTIVE_BITMAP) {
// Disallow loading icon from content URI
actionView.setImageDrawable(null);
} else {
// TODO: Check if the action drawable has changed before we reload it // TODO: Check if the action drawable has changed before we reload it
action.getIcon().loadDrawableAsync(mContext, d -> { action.getIcon().loadDrawableAsync(mContext, d -> {
if (d != null) { if (d != null) {
@@ -520,6 +526,7 @@ public class PipMenuView extends FrameLayout {
actionView.setImageDrawable(d); actionView.setImageDrawable(d);
} }
}, mMainHandler); }, mMainHandler);
}
actionView.setCustomCloseBackgroundVisibility( actionView.setCustomCloseBackgroundVisibility(
isCloseAction ? View.VISIBLE : View.GONE); isCloseAction ? View.VISIBLE : View.GONE);
actionView.setContentDescription(action.getContentDescription()); actionView.setContentDescription(action.getContentDescription());