Loading libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecoration.java +17 −6 Original line number Diff line number Diff line Loading @@ -26,6 +26,7 @@ import android.content.res.Configuration; import android.content.res.Resources; import android.graphics.Point; import android.graphics.PointF; import android.graphics.drawable.Drawable; import android.os.Handler; import android.util.Log; import android.view.Choreographer; Loading @@ -38,6 +39,7 @@ import android.widget.ImageView; import android.widget.TextView; import android.window.WindowContainerTransaction; import com.android.launcher3.icons.IconProvider; import com.android.wm.shell.R; import com.android.wm.shell.ShellTaskOrganizer; import com.android.wm.shell.common.DisplayController; Loading Loading @@ -81,6 +83,9 @@ public class DesktopModeWindowDecoration extends WindowDecoration<WindowDecorLin private final int mHandleMenuCornerRadiusId = R.dimen.caption_menu_corner_radius; private PointF mHandleMenuPosition = new PointF(); private Drawable mAppIcon; private CharSequence mAppName; DesktopModeWindowDecoration( Context context, DisplayController displayController, Loading @@ -95,6 +100,8 @@ public class DesktopModeWindowDecoration extends WindowDecoration<WindowDecorLin mHandler = handler; mChoreographer = choreographer; mSyncQueue = syncQueue; loadAppInfo(); } @Override Loading Loading @@ -185,7 +192,9 @@ public class DesktopModeWindowDecoration extends WindowDecoration<WindowDecorLin mWindowDecorViewHolder = new DesktopModeAppControlsWindowDecorationViewHolder( mResult.mRootView, mOnCaptionTouchListener, mOnCaptionButtonClickListener mOnCaptionButtonClickListener, mAppName, mAppIcon ); } else { throw new IllegalArgumentException("Unexpected layout resource id"); Loading Loading @@ -243,22 +252,24 @@ public class DesktopModeWindowDecoration extends WindowDecoration<WindowDecorLin final ImageView appIcon = menu.findViewById(R.id.application_icon); final TextView appName = menu.findViewById(R.id.application_name); loadAppInfo(appName, appIcon); appIcon.setImageDrawable(mAppIcon); appName.setText(mAppName); } boolean isHandleMenuActive() { return mHandleMenu != null; } private void loadAppInfo(TextView appNameTextView, ImageView appIconImageView) { private void loadAppInfo() { String packageName = mTaskInfo.realActivity.getPackageName(); PackageManager pm = mContext.getApplicationContext().getPackageManager(); try { // TODO(b/268363572): Use IconProvider or BaseIconCache to set drawable/name. IconProvider provider = new IconProvider(mContext); mAppIcon = provider.getIcon(pm.getActivityInfo(mTaskInfo.baseActivity, PackageManager.ComponentInfoFlags.of(0))); ApplicationInfo applicationInfo = pm.getApplicationInfo(packageName, PackageManager.ApplicationInfoFlags.of(0)); appNameTextView.setText(pm.getApplicationLabel(applicationInfo)); appIconImageView.setImageDrawable(pm.getApplicationIcon(applicationInfo)); mAppName = pm.getApplicationLabel(applicationInfo); } catch (PackageManager.NameNotFoundException e) { Log.w(TAG, "Package not found: " + packageName, e); } Loading libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/viewholder/DesktopModeAppControlsWindowDecorationViewHolder.kt +6 −18 Original line number Diff line number Diff line package com.android.wm.shell.windowdecor.viewholder import android.app.ActivityManager.RunningTaskInfo import android.content.pm.PackageManager import android.content.res.ColorStateList import android.graphics.drawable.Drawable import android.graphics.drawable.GradientDrawable import android.util.Log import android.view.View import android.widget.ImageButton import android.widget.ImageView Loading @@ -19,7 +18,9 @@ import com.android.wm.shell.R internal class DesktopModeAppControlsWindowDecorationViewHolder( rootView: View, onCaptionTouchListener: View.OnTouchListener, onCaptionButtonClickListener: View.OnClickListener onCaptionButtonClickListener: View.OnClickListener, appName: CharSequence, appIcon: Drawable ) : DesktopModeWindowDecorationViewHolder(rootView) { private val captionView: View = rootView.findViewById(R.id.desktop_mode_caption) Loading @@ -35,10 +36,11 @@ internal class DesktopModeAppControlsWindowDecorationViewHolder( captionHandle.setOnTouchListener(onCaptionTouchListener) openMenuButton.setOnClickListener(onCaptionButtonClickListener) closeWindowButton.setOnClickListener(onCaptionButtonClickListener) appNameTextView.text = appName appIconImageView.setImageDrawable(appIcon) } override fun bindData(taskInfo: RunningTaskInfo) { bindAppInfo(taskInfo) val captionDrawable = captionView.background as GradientDrawable captionDrawable.setColor(taskInfo.taskDescription.statusBarColor) Loading @@ -50,20 +52,6 @@ internal class DesktopModeAppControlsWindowDecorationViewHolder( appNameTextView.setTextColor(getCaptionAppNameTextColor(taskInfo)) } private fun bindAppInfo(taskInfo: RunningTaskInfo) { val packageName: String = taskInfo.realActivity.packageName val pm: PackageManager = context.applicationContext.packageManager try { // TODO(b/268363572): Use IconProvider or BaseIconCache to set drawable/name. val applicationInfo = pm.getApplicationInfo(packageName, PackageManager.ApplicationInfoFlags.of(0)) appNameTextView.text = pm.getApplicationLabel(applicationInfo) appIconImageView.setImageDrawable(pm.getApplicationIcon(applicationInfo)) } catch (e: PackageManager.NameNotFoundException) { Log.w(TAG, "Package not found: $packageName", e) } } private fun getCaptionAppNameTextColor(taskInfo: RunningTaskInfo): Int { return if (shouldUseLightCaptionColors(taskInfo)) { context.getColor(R.color.desktop_mode_caption_app_name_light) Loading Loading
libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecoration.java +17 −6 Original line number Diff line number Diff line Loading @@ -26,6 +26,7 @@ import android.content.res.Configuration; import android.content.res.Resources; import android.graphics.Point; import android.graphics.PointF; import android.graphics.drawable.Drawable; import android.os.Handler; import android.util.Log; import android.view.Choreographer; Loading @@ -38,6 +39,7 @@ import android.widget.ImageView; import android.widget.TextView; import android.window.WindowContainerTransaction; import com.android.launcher3.icons.IconProvider; import com.android.wm.shell.R; import com.android.wm.shell.ShellTaskOrganizer; import com.android.wm.shell.common.DisplayController; Loading Loading @@ -81,6 +83,9 @@ public class DesktopModeWindowDecoration extends WindowDecoration<WindowDecorLin private final int mHandleMenuCornerRadiusId = R.dimen.caption_menu_corner_radius; private PointF mHandleMenuPosition = new PointF(); private Drawable mAppIcon; private CharSequence mAppName; DesktopModeWindowDecoration( Context context, DisplayController displayController, Loading @@ -95,6 +100,8 @@ public class DesktopModeWindowDecoration extends WindowDecoration<WindowDecorLin mHandler = handler; mChoreographer = choreographer; mSyncQueue = syncQueue; loadAppInfo(); } @Override Loading Loading @@ -185,7 +192,9 @@ public class DesktopModeWindowDecoration extends WindowDecoration<WindowDecorLin mWindowDecorViewHolder = new DesktopModeAppControlsWindowDecorationViewHolder( mResult.mRootView, mOnCaptionTouchListener, mOnCaptionButtonClickListener mOnCaptionButtonClickListener, mAppName, mAppIcon ); } else { throw new IllegalArgumentException("Unexpected layout resource id"); Loading Loading @@ -243,22 +252,24 @@ public class DesktopModeWindowDecoration extends WindowDecoration<WindowDecorLin final ImageView appIcon = menu.findViewById(R.id.application_icon); final TextView appName = menu.findViewById(R.id.application_name); loadAppInfo(appName, appIcon); appIcon.setImageDrawable(mAppIcon); appName.setText(mAppName); } boolean isHandleMenuActive() { return mHandleMenu != null; } private void loadAppInfo(TextView appNameTextView, ImageView appIconImageView) { private void loadAppInfo() { String packageName = mTaskInfo.realActivity.getPackageName(); PackageManager pm = mContext.getApplicationContext().getPackageManager(); try { // TODO(b/268363572): Use IconProvider or BaseIconCache to set drawable/name. IconProvider provider = new IconProvider(mContext); mAppIcon = provider.getIcon(pm.getActivityInfo(mTaskInfo.baseActivity, PackageManager.ComponentInfoFlags.of(0))); ApplicationInfo applicationInfo = pm.getApplicationInfo(packageName, PackageManager.ApplicationInfoFlags.of(0)); appNameTextView.setText(pm.getApplicationLabel(applicationInfo)); appIconImageView.setImageDrawable(pm.getApplicationIcon(applicationInfo)); mAppName = pm.getApplicationLabel(applicationInfo); } catch (PackageManager.NameNotFoundException e) { Log.w(TAG, "Package not found: " + packageName, e); } Loading
libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/viewholder/DesktopModeAppControlsWindowDecorationViewHolder.kt +6 −18 Original line number Diff line number Diff line package com.android.wm.shell.windowdecor.viewholder import android.app.ActivityManager.RunningTaskInfo import android.content.pm.PackageManager import android.content.res.ColorStateList import android.graphics.drawable.Drawable import android.graphics.drawable.GradientDrawable import android.util.Log import android.view.View import android.widget.ImageButton import android.widget.ImageView Loading @@ -19,7 +18,9 @@ import com.android.wm.shell.R internal class DesktopModeAppControlsWindowDecorationViewHolder( rootView: View, onCaptionTouchListener: View.OnTouchListener, onCaptionButtonClickListener: View.OnClickListener onCaptionButtonClickListener: View.OnClickListener, appName: CharSequence, appIcon: Drawable ) : DesktopModeWindowDecorationViewHolder(rootView) { private val captionView: View = rootView.findViewById(R.id.desktop_mode_caption) Loading @@ -35,10 +36,11 @@ internal class DesktopModeAppControlsWindowDecorationViewHolder( captionHandle.setOnTouchListener(onCaptionTouchListener) openMenuButton.setOnClickListener(onCaptionButtonClickListener) closeWindowButton.setOnClickListener(onCaptionButtonClickListener) appNameTextView.text = appName appIconImageView.setImageDrawable(appIcon) } override fun bindData(taskInfo: RunningTaskInfo) { bindAppInfo(taskInfo) val captionDrawable = captionView.background as GradientDrawable captionDrawable.setColor(taskInfo.taskDescription.statusBarColor) Loading @@ -50,20 +52,6 @@ internal class DesktopModeAppControlsWindowDecorationViewHolder( appNameTextView.setTextColor(getCaptionAppNameTextColor(taskInfo)) } private fun bindAppInfo(taskInfo: RunningTaskInfo) { val packageName: String = taskInfo.realActivity.packageName val pm: PackageManager = context.applicationContext.packageManager try { // TODO(b/268363572): Use IconProvider or BaseIconCache to set drawable/name. val applicationInfo = pm.getApplicationInfo(packageName, PackageManager.ApplicationInfoFlags.of(0)) appNameTextView.text = pm.getApplicationLabel(applicationInfo) appIconImageView.setImageDrawable(pm.getApplicationIcon(applicationInfo)) } catch (e: PackageManager.NameNotFoundException) { Log.w(TAG, "Package not found: $packageName", e) } } private fun getCaptionAppNameTextColor(taskInfo: RunningTaskInfo): Int { return if (shouldUseLightCaptionColors(taskInfo)) { context.getColor(R.color.desktop_mode_caption_app_name_light) Loading