Merge "Remove workaround code of placing DrawingPreviewPlacerView"
This commit is contained in:
commit
a857235d0c
4 changed files with 30 additions and 27 deletions
java/src/com/android/inputmethod/keyboard
|
@ -30,7 +30,6 @@ import android.graphics.Typeface;
|
|||
import android.graphics.drawable.Drawable;
|
||||
import android.preference.PreferenceManager;
|
||||
import android.util.AttributeSet;
|
||||
import android.util.DisplayMetrics;
|
||||
import android.util.Log;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.MotionEvent;
|
||||
|
@ -428,21 +427,11 @@ public final class MainKeyboardView extends KeyboardView implements PointerTrack
|
|||
}
|
||||
|
||||
private void locatePreviewPlacerView() {
|
||||
if (mDrawingPreviewPlacerView.getParent() != null) {
|
||||
return;
|
||||
}
|
||||
final int width = getWidth();
|
||||
final int height = getHeight();
|
||||
if (width == 0 || height == 0) {
|
||||
// In transient state.
|
||||
return;
|
||||
}
|
||||
getLocationInWindow(mOriginCoords);
|
||||
final DisplayMetrics dm = getResources().getDisplayMetrics();
|
||||
if (CoordinateUtils.y(mOriginCoords) < dm.heightPixels / 4) {
|
||||
// In transient state.
|
||||
return;
|
||||
}
|
||||
mDrawingPreviewPlacerView.setKeyboardViewGeometry(mOriginCoords, getWidth(), getHeight());
|
||||
}
|
||||
|
||||
private void installPreviewPlacerView() {
|
||||
final View rootView = getRootView();
|
||||
if (rootView == null) {
|
||||
Log.w(TAG, "Cannot find root view");
|
||||
|
@ -452,10 +441,9 @@ public final class MainKeyboardView extends KeyboardView implements PointerTrack
|
|||
// Note: It'd be very weird if we get null by android.R.id.content.
|
||||
if (windowContentView == null) {
|
||||
Log.w(TAG, "Cannot find android.R.id.content view to add DrawingPreviewPlacerView");
|
||||
} else {
|
||||
windowContentView.addView(mDrawingPreviewPlacerView);
|
||||
mDrawingPreviewPlacerView.setKeyboardViewGeometry(mOriginCoords, width, height);
|
||||
return;
|
||||
}
|
||||
windowContentView.addView(mDrawingPreviewPlacerView);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -576,6 +564,7 @@ public final class MainKeyboardView extends KeyboardView implements PointerTrack
|
|||
@Override
|
||||
protected void onAttachedToWindow() {
|
||||
super.onAttachedToWindow();
|
||||
installPreviewPlacerView();
|
||||
// Notify the ResearchLogger (development only diagnostics) that the keyboard view has
|
||||
// been attached. This is needed to properly show the splash screen, which requires that
|
||||
// the window token of the KeyboardView be non-null.
|
||||
|
|
|
@ -29,25 +29,37 @@ import com.android.inputmethod.keyboard.PointerTracker;
|
|||
public abstract class AbstractDrawingPreview {
|
||||
private final View mDrawingView;
|
||||
private boolean mPreviewEnabled;
|
||||
private boolean mHasValidGeometry;
|
||||
|
||||
protected AbstractDrawingPreview(final View drawingView) {
|
||||
mDrawingView = drawingView;
|
||||
}
|
||||
|
||||
public final View getDrawingView() {
|
||||
protected final View getDrawingView() {
|
||||
return mDrawingView;
|
||||
}
|
||||
|
||||
protected final boolean isPreviewEnabled() {
|
||||
return mPreviewEnabled && mHasValidGeometry;
|
||||
}
|
||||
|
||||
public final void setPreviewEnabled(final boolean enabled) {
|
||||
mPreviewEnabled = enabled;
|
||||
}
|
||||
|
||||
public boolean isPreviewEnabled() {
|
||||
return mPreviewEnabled;
|
||||
}
|
||||
|
||||
public void setKeyboardGeometry(final int[] originCoords, final int width, final int height) {
|
||||
// Default implementation is empty.
|
||||
/**
|
||||
* Set {@link MainKeyboardView} geometry and position in the {@link SoftInputWindow}.
|
||||
* The class that is overriding this method must call this super implementation.
|
||||
*
|
||||
* @param originCoords the top-left coordinates of the {@link MainKeyboardView} in
|
||||
* {@link SoftInputWindow} coordinate-system. This is unused but has a point in an
|
||||
* extended class, such as {@link GestureTrailsDrawingPreview}.
|
||||
* @param width the width of {@link MainKeyboardView}.
|
||||
* @param height the height of {@link MainKeyboardView}.
|
||||
*/
|
||||
public void setKeyboardViewGeometry(final int[] originCoords, final int width,
|
||||
final int height) {
|
||||
mHasValidGeometry = (width > 0 && height > 0);
|
||||
}
|
||||
|
||||
public abstract void onDeallocateMemory();
|
||||
|
|
|
@ -55,7 +55,7 @@ public final class DrawingPreviewPlacerView extends RelativeLayout {
|
|||
CoordinateUtils.copy(mKeyboardViewOrigin, originCoords);
|
||||
final int count = mPreviews.size();
|
||||
for (int i = 0; i < count; i++) {
|
||||
mPreviews.get(i).setKeyboardGeometry(originCoords, width, height);
|
||||
mPreviews.get(i).setKeyboardViewGeometry(originCoords, width, height);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -95,7 +95,9 @@ public final class GestureTrailsDrawingPreview extends AbstractDrawingPreview {
|
|||
}
|
||||
|
||||
@Override
|
||||
public void setKeyboardGeometry(final int[] originCoords, final int width, final int height) {
|
||||
public void setKeyboardViewGeometry(final int[] originCoords, final int width,
|
||||
final int height) {
|
||||
super.setKeyboardViewGeometry(originCoords, width, height);
|
||||
mOffscreenOffsetY = (int)(height
|
||||
* GestureStrokeRecognitionPoints.EXTRA_GESTURE_TRAIL_AREA_ABOVE_KEYBOARD_RATIO);
|
||||
mOffscreenWidth = width;
|
||||
|
|
Loading…
Reference in a new issue