Remove unnecessary setLayerType() calls
Calling up setLayerType(LAYER_TYPE_HARDWARE, ..) on non-HW accelerated devices was ending up with having a drawing cache in View that is not quite needed for PreviewPlacerView. bug: 8967766 Change-Id: Ic8e6eeaf536530ff5f23eb353b0a8e5ba96fa0e2main
parent
82018f9972
commit
52876bbefd
|
@ -314,10 +314,7 @@ public final class KeyboardSwitcher implements KeyboardState.SwitchActions {
|
|||
R.layout.input_view, null);
|
||||
|
||||
mKeyboardView = (MainKeyboardView) mCurrentInputView.findViewById(R.id.keyboard_view);
|
||||
if (isHardwareAcceleratedDrawingEnabled) {
|
||||
mKeyboardView.setLayerType(View.LAYER_TYPE_HARDWARE, null);
|
||||
// TODO: Should use LAYER_TYPE_SOFTWARE when hardware acceleration is off?
|
||||
}
|
||||
mKeyboardView.setHardwareAcceleratedDrawingEnabled(isHardwareAcceleratedDrawingEnabled);
|
||||
mKeyboardView.setKeyboardActionListener(mLatinIME);
|
||||
|
||||
// This always needs to be set since the accessibility state can
|
||||
|
|
|
@ -154,6 +154,12 @@ public class KeyboardView extends View {
|
|||
Color.red(color), Color.green(color), Color.blue(color));
|
||||
}
|
||||
|
||||
public void setHardwareAcceleratedDrawingEnabled(final boolean enabled) {
|
||||
if (!enabled) return;
|
||||
// TODO: Should use LAYER_TYPE_SOFTWARE when hardware acceleration is off?
|
||||
setLayerType(View.LAYER_TYPE_HARDWARE, null);
|
||||
}
|
||||
|
||||
/**
|
||||
* Attaches a keyboard to this view. The keyboard can be switched at any time and the
|
||||
* view will re-layout itself to accommodate the keyboard.
|
||||
|
|
|
@ -512,6 +512,12 @@ public final class MainKeyboardView extends KeyboardView implements PointerTrack
|
|||
mKeyboardActionListener = KeyboardActionListener.EMPTY_LISTENER;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setHardwareAcceleratedDrawingEnabled(final boolean enabled) {
|
||||
super.setHardwareAcceleratedDrawingEnabled(enabled);
|
||||
mPreviewPlacerView.setHardwareAcceleratedDrawingEnabled(enabled);
|
||||
}
|
||||
|
||||
private ObjectAnimator loadObjectAnimator(final int resId, final Object target) {
|
||||
if (resId == 0) {
|
||||
// TODO: Stop returning null.
|
||||
|
|
|
@ -37,7 +37,10 @@ public final class PreviewPlacerView extends RelativeLayout {
|
|||
public PreviewPlacerView(final Context context, final AttributeSet attrs) {
|
||||
super(context, attrs);
|
||||
setWillNotDraw(false);
|
||||
}
|
||||
|
||||
public void setHardwareAcceleratedDrawingEnabled(final boolean enabled) {
|
||||
if (!enabled) return;
|
||||
final Paint layerPaint = new Paint();
|
||||
layerPaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_OVER));
|
||||
setLayerType(LAYER_TYPE_HARDWARE, layerPaint);
|
||||
|
|
Loading…
Reference in New Issue