Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b6c70f4e authored by Tadashi G. Takaoka's avatar Tadashi G. Takaoka
Browse files

Remove unneeded CustomViewPager class

Originally this hacky class has been introduced by I0824f82c30 to
address bug: 11721001.  Because the bug: 11721001 has been addressed
by I950f13ec40 and etc., this class should be removed.

Bug: 13665882
Change-Id: Iabdd369e4dddb0188534289eea1269fb196895eb
parent e2e41dc2
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -73,7 +73,7 @@
            android:background="@color/emoji_key_background_color"
            android:src="@drawable/sym_keyboard_delete_holo_dark" />
    </LinearLayout>
    <com.android.inputmethod.keyboard.internal.CustomViewPager
    <android.support.v4.view.ViewPager
        android:id="@+id/emoji_keyboard_pager"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />
+8 −0
Original line number Diff line number Diff line
@@ -517,6 +517,14 @@ public final class EmojiPalettesView extends LinearLayout implements OnTabChange
        mEmojiLayoutParams.setKeyProperties(spaceKey);
    }

    @Override
    public boolean dispatchTouchEvent(final MotionEvent ev) {
        // Add here to the stack trace to nail down the {@link IllegalArgumentException} exception
        // in MotionEvent that sporadically happens.
        // TODO: Remove this override method once the issue has been addressed.
        return super.dispatchTouchEvent(ev);
    }

    @Override
    public void onTabChanged(final String tabId) {
        final int categoryId = mEmojiCategory.getCategoryId(tabId);
+0 −47
Original line number Diff line number Diff line
/*
 * Copyright (C) 2013 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.android.inputmethod.keyboard.internal;

import android.content.Context;
import android.support.v4.view.ViewPager;
import android.util.AttributeSet;
import android.util.Log;
import android.view.MotionEvent;

/**
 * Custom view pager to prevent {@link ViewPager} from crashing while handling multi-touch
 * event.
 */
public class CustomViewPager extends ViewPager {
    private static final String TAG = CustomViewPager.class.getSimpleName();

    public CustomViewPager(final Context context, final AttributeSet attrs) {
        super(context, attrs);
    }

    @Override
    public boolean onInterceptTouchEvent(final MotionEvent event) {
        // This only happens when you multi-touch, take the first finger off and move.
        // Unfortunately this causes {@link ViewPager} to crash, so we will ignore such events.
        if (event.getAction() == MotionEvent.ACTION_MOVE && event.getPointerId(0) != 0) {
            Log.w(TAG, "Ignored multi-touch move event to prevent ViewPager from crashing");
            return false;
        }

        return super.onInterceptTouchEvent(event);
    }
}