Loading packages/SystemUI/src/com/android/systemui/clipboardoverlay/ClipboardOverlayView.java +6 −5 Original line number Diff line number Diff line Loading @@ -66,11 +66,11 @@ import com.android.systemui.screenshot.ui.binder.ActionButtonViewBinder; import com.android.systemui.screenshot.ui.viewmodel.ActionButtonAppearance; import com.android.systemui.screenshot.ui.viewmodel.ActionButtonViewModel; import java.util.ArrayList; import kotlin.Unit; import kotlin.jvm.functions.Function0; import java.util.ArrayList; /** * Handles the visual elements and animations for the clipboard overlay. */ Loading Loading @@ -109,6 +109,7 @@ public class ClipboardOverlayView extends DraggableConstraintLayout { private View mDismissButton; private LinearLayout mActionContainer; private ClipboardOverlayCallbacks mClipboardCallbacks; private ActionButtonViewBinder mActionButtonViewBinder = new ActionButtonViewBinder(); public ClipboardOverlayView(Context context) { this(context, null); Loading Loading @@ -152,7 +153,7 @@ public class ClipboardOverlayView extends DraggableConstraintLayout { private void bindDefaultActionChips() { if (screenshotShelfUi2()) { ActionButtonViewBinder.INSTANCE.bind(mRemoteCopyChip, mActionButtonViewBinder.bind(mRemoteCopyChip, ActionButtonViewModel.Companion.withNextId( new ActionButtonAppearance( Icon.createWithResource(mContext, Loading @@ -169,7 +170,7 @@ public class ClipboardOverlayView extends DraggableConstraintLayout { return null; } })); ActionButtonViewBinder.INSTANCE.bind(mShareChip, mActionButtonViewBinder.bind(mShareChip, ActionButtonViewModel.Companion.withNextId( new ActionButtonAppearance( Icon.createWithResource(mContext, Loading Loading @@ -512,7 +513,7 @@ public class ClipboardOverlayView extends DraggableConstraintLayout { private View constructShelfActionChip(RemoteAction action, Runnable onFinish) { View chip = LayoutInflater.from(mContext).inflate( R.layout.shelf_action_chip, mActionContainer, false); ActionButtonViewBinder.INSTANCE.bind(chip, ActionButtonViewModel.Companion.withNextId( mActionButtonViewBinder.bind(chip, ActionButtonViewModel.Companion.withNextId( new ActionButtonAppearance(action.getIcon().loadDrawable(mContext), action.getTitle(), action.getTitle()), new Function0<>() { @Override Loading packages/SystemUI/src/com/android/systemui/screenshot/ScreenshotShelfViewProxy.kt +2 −1 Original line number Diff line number Diff line Loading @@ -59,6 +59,7 @@ constructor( private val logger: UiEventLogger, private val viewModel: ScreenshotViewModel, private val windowManager: WindowManager, shelfViewBinder: ScreenshotShelfViewBinder, private val thumbnailObserver: ThumbnailObserver, @Assisted private val context: Context, @Assisted private val displayId: Int Loading Loading @@ -92,7 +93,7 @@ constructor( private val animationController = ScreenshotAnimationController(view) init { ScreenshotShelfViewBinder.bind( shelfViewBinder.bind( view, viewModel, LayoutInflater.from(context), Loading packages/SystemUI/src/com/android/systemui/screenshot/ui/binder/ActionButtonViewBinder.kt +2 −1 Original line number Diff line number Diff line Loading @@ -23,8 +23,9 @@ import android.widget.TextView import com.android.systemui.res.R import com.android.systemui.screenshot.ui.TransitioningIconDrawable import com.android.systemui.screenshot.ui.viewmodel.ActionButtonViewModel import javax.inject.Inject object ActionButtonViewBinder { class ActionButtonViewBinder @Inject constructor() { /** Binds the given view to the given view-model */ fun bind(view: View, viewModel: ActionButtonViewModel) { val iconView = view.requireViewById<ImageView>(R.id.overlay_action_chip_icon) Loading packages/SystemUI/src/com/android/systemui/screenshot/ui/binder/ScreenshotShelfViewBinder.kt +6 −3 Original line number Diff line number Diff line Loading @@ -35,10 +35,13 @@ import com.android.systemui.screenshot.ui.viewmodel.ActionButtonViewModel import com.android.systemui.screenshot.ui.viewmodel.AnimationState import com.android.systemui.screenshot.ui.viewmodel.ScreenshotViewModel import com.android.systemui.util.children import javax.inject.Inject import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch object ScreenshotShelfViewBinder { class ScreenshotShelfViewBinder @Inject constructor(private val buttonViewBinder: ActionButtonViewBinder) { fun bind( view: ScreenshotShelfView, viewModel: ScreenshotViewModel, Loading Loading @@ -158,14 +161,14 @@ object ScreenshotShelfViewBinder { val currentView: View? = actionsContainer.getChildAt(index) if (action.id == currentView?.tag) { // Same ID, update the display ActionButtonViewBinder.bind(currentView, action) buttonViewBinder.bind(currentView, action) } else { // Different ID. Removals have already happened so this must // mean that the new action must be inserted here. val actionButton = layoutInflater.inflate(R.layout.shelf_action_chip, actionsContainer, false) actionsContainer.addView(actionButton, index) ActionButtonViewBinder.bind(actionButton, action) buttonViewBinder.bind(actionButton, action) } } } Loading Loading
packages/SystemUI/src/com/android/systemui/clipboardoverlay/ClipboardOverlayView.java +6 −5 Original line number Diff line number Diff line Loading @@ -66,11 +66,11 @@ import com.android.systemui.screenshot.ui.binder.ActionButtonViewBinder; import com.android.systemui.screenshot.ui.viewmodel.ActionButtonAppearance; import com.android.systemui.screenshot.ui.viewmodel.ActionButtonViewModel; import java.util.ArrayList; import kotlin.Unit; import kotlin.jvm.functions.Function0; import java.util.ArrayList; /** * Handles the visual elements and animations for the clipboard overlay. */ Loading Loading @@ -109,6 +109,7 @@ public class ClipboardOverlayView extends DraggableConstraintLayout { private View mDismissButton; private LinearLayout mActionContainer; private ClipboardOverlayCallbacks mClipboardCallbacks; private ActionButtonViewBinder mActionButtonViewBinder = new ActionButtonViewBinder(); public ClipboardOverlayView(Context context) { this(context, null); Loading Loading @@ -152,7 +153,7 @@ public class ClipboardOverlayView extends DraggableConstraintLayout { private void bindDefaultActionChips() { if (screenshotShelfUi2()) { ActionButtonViewBinder.INSTANCE.bind(mRemoteCopyChip, mActionButtonViewBinder.bind(mRemoteCopyChip, ActionButtonViewModel.Companion.withNextId( new ActionButtonAppearance( Icon.createWithResource(mContext, Loading @@ -169,7 +170,7 @@ public class ClipboardOverlayView extends DraggableConstraintLayout { return null; } })); ActionButtonViewBinder.INSTANCE.bind(mShareChip, mActionButtonViewBinder.bind(mShareChip, ActionButtonViewModel.Companion.withNextId( new ActionButtonAppearance( Icon.createWithResource(mContext, Loading Loading @@ -512,7 +513,7 @@ public class ClipboardOverlayView extends DraggableConstraintLayout { private View constructShelfActionChip(RemoteAction action, Runnable onFinish) { View chip = LayoutInflater.from(mContext).inflate( R.layout.shelf_action_chip, mActionContainer, false); ActionButtonViewBinder.INSTANCE.bind(chip, ActionButtonViewModel.Companion.withNextId( mActionButtonViewBinder.bind(chip, ActionButtonViewModel.Companion.withNextId( new ActionButtonAppearance(action.getIcon().loadDrawable(mContext), action.getTitle(), action.getTitle()), new Function0<>() { @Override Loading
packages/SystemUI/src/com/android/systemui/screenshot/ScreenshotShelfViewProxy.kt +2 −1 Original line number Diff line number Diff line Loading @@ -59,6 +59,7 @@ constructor( private val logger: UiEventLogger, private val viewModel: ScreenshotViewModel, private val windowManager: WindowManager, shelfViewBinder: ScreenshotShelfViewBinder, private val thumbnailObserver: ThumbnailObserver, @Assisted private val context: Context, @Assisted private val displayId: Int Loading Loading @@ -92,7 +93,7 @@ constructor( private val animationController = ScreenshotAnimationController(view) init { ScreenshotShelfViewBinder.bind( shelfViewBinder.bind( view, viewModel, LayoutInflater.from(context), Loading
packages/SystemUI/src/com/android/systemui/screenshot/ui/binder/ActionButtonViewBinder.kt +2 −1 Original line number Diff line number Diff line Loading @@ -23,8 +23,9 @@ import android.widget.TextView import com.android.systemui.res.R import com.android.systemui.screenshot.ui.TransitioningIconDrawable import com.android.systemui.screenshot.ui.viewmodel.ActionButtonViewModel import javax.inject.Inject object ActionButtonViewBinder { class ActionButtonViewBinder @Inject constructor() { /** Binds the given view to the given view-model */ fun bind(view: View, viewModel: ActionButtonViewModel) { val iconView = view.requireViewById<ImageView>(R.id.overlay_action_chip_icon) Loading
packages/SystemUI/src/com/android/systemui/screenshot/ui/binder/ScreenshotShelfViewBinder.kt +6 −3 Original line number Diff line number Diff line Loading @@ -35,10 +35,13 @@ import com.android.systemui.screenshot.ui.viewmodel.ActionButtonViewModel import com.android.systemui.screenshot.ui.viewmodel.AnimationState import com.android.systemui.screenshot.ui.viewmodel.ScreenshotViewModel import com.android.systemui.util.children import javax.inject.Inject import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch object ScreenshotShelfViewBinder { class ScreenshotShelfViewBinder @Inject constructor(private val buttonViewBinder: ActionButtonViewBinder) { fun bind( view: ScreenshotShelfView, viewModel: ScreenshotViewModel, Loading Loading @@ -158,14 +161,14 @@ object ScreenshotShelfViewBinder { val currentView: View? = actionsContainer.getChildAt(index) if (action.id == currentView?.tag) { // Same ID, update the display ActionButtonViewBinder.bind(currentView, action) buttonViewBinder.bind(currentView, action) } else { // Different ID. Removals have already happened so this must // mean that the new action must be inserted here. val actionButton = layoutInflater.inflate(R.layout.shelf_action_chip, actionsContainer, false) actionsContainer.addView(actionButton, index) ActionButtonViewBinder.bind(actionButton, action) buttonViewBinder.bind(actionButton, action) } } } Loading