public class

WindowCallbackWrapper

extends java.lang.Object

 java.lang.Object

↳androidx.appcompat.view.WindowCallbackWrapper

Gradle dependencies

compile group: 'androidx.appcompat', name: 'appcompat', version: '1.7.0'

  • groupId: androidx.appcompat
  • artifactId: appcompat
  • version: 1.7.0

Artifact androidx.appcompat:appcompat:1.7.0 it located at Google repository (https://maven.google.com/)

Androidx artifact mapping:

androidx.appcompat:appcompat com.android.support:appcompat-v7

Androidx class mapping:

androidx.appcompat.view.WindowCallbackWrapper android.support.v7.view.WindowCallbackWrapper

Overview

A simple decorator stub for Window.Callback that passes through any calls to the wrapped instance as a base implementation. Call super.foo() to call into the wrapped callback for any subclasses.

Summary

Constructors
publicWindowCallbackWrapper(Window.Callback wrapped)

Methods
public booleandispatchGenericMotionEvent(MotionEvent event)

public booleandispatchKeyEvent(KeyEvent event)

public booleandispatchKeyShortcutEvent(KeyEvent event)

public booleandispatchPopulateAccessibilityEvent(AccessibilityEvent event)

public booleandispatchTouchEvent(MotionEvent event)

public booleandispatchTrackballEvent(MotionEvent event)

public final Window.CallbackgetWrapped()

public voidonActionModeFinished(ActionMode mode)

public voidonActionModeStarted(ActionMode mode)

public voidonAttachedToWindow()

public voidonContentChanged()

public booleanonCreatePanelMenu(int featureId, Menu menu)

public ViewonCreatePanelView(int featureId)

public voidonDetachedFromWindow()

public booleanonMenuItemSelected(int featureId, MenuItem item)

public booleanonMenuOpened(int featureId, Menu menu)

public voidonPanelClosed(int featureId, Menu menu)

public voidonPointerCaptureChanged(boolean hasCapture)

public booleanonPreparePanel(int featureId, View view, Menu menu)

public voidonProvideKeyboardShortcuts(java.util.List<KeyboardShortcutGroup> data, Menu menu, int deviceId)

public booleanonSearchRequested()

public booleanonSearchRequested(SearchEvent searchEvent)

public voidonWindowAttributesChanged(WindowManager.LayoutParams attrs)

public voidonWindowFocusChanged(boolean hasFocus)

public ActionModeonWindowStartingActionMode(ActionMode.Callback callback)

public ActionModeonWindowStartingActionMode(ActionMode.Callback callback, int type)

from java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructors

public WindowCallbackWrapper(Window.Callback wrapped)

Methods

public boolean dispatchKeyEvent(KeyEvent event)

public boolean dispatchKeyShortcutEvent(KeyEvent event)

public boolean dispatchTouchEvent(MotionEvent event)

public boolean dispatchTrackballEvent(MotionEvent event)

public boolean dispatchGenericMotionEvent(MotionEvent event)

public boolean dispatchPopulateAccessibilityEvent(AccessibilityEvent event)

public View onCreatePanelView(int featureId)

public boolean onCreatePanelMenu(int featureId, Menu menu)

public boolean onPreparePanel(int featureId, View view, Menu menu)

public boolean onMenuOpened(int featureId, Menu menu)

public boolean onMenuItemSelected(int featureId, MenuItem item)

public void onWindowAttributesChanged(WindowManager.LayoutParams attrs)

public void onContentChanged()

public void onWindowFocusChanged(boolean hasFocus)

public void onAttachedToWindow()

public void onDetachedFromWindow()

public void onPanelClosed(int featureId, Menu menu)

public boolean onSearchRequested(SearchEvent searchEvent)

public boolean onSearchRequested()

public ActionMode onWindowStartingActionMode(ActionMode.Callback callback)

public ActionMode onWindowStartingActionMode(ActionMode.Callback callback, int type)

public void onActionModeStarted(ActionMode mode)

public void onActionModeFinished(ActionMode mode)

public void onProvideKeyboardShortcuts(java.util.List<KeyboardShortcutGroup> data, Menu menu, int deviceId)

public void onPointerCaptureChanged(boolean hasCapture)

public final Window.Callback getWrapped()

Source

/*
 * Copyright (C) 2014 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 androidx.appcompat.view;

import static androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX;

import android.view.ActionMode;
import android.view.KeyEvent;
import android.view.KeyboardShortcutGroup;
import android.view.Menu;
import android.view.MenuItem;
import android.view.MotionEvent;
import android.view.SearchEvent;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.view.accessibility.AccessibilityEvent;

import androidx.annotation.DoNotInline;
import androidx.annotation.RequiresApi;
import androidx.annotation.RestrictTo;

import java.util.List;

/**
 * A simple decorator stub for Window.Callback that passes through any calls
 * to the wrapped instance as a base implementation. Call super.foo() to call into
 * the wrapped callback for any subclasses.
 *
 */
@RestrictTo(LIBRARY_GROUP_PREFIX)
public class WindowCallbackWrapper implements Window.Callback {

    final Window.Callback mWrapped;

    public WindowCallbackWrapper(Window.Callback wrapped) {
        if (wrapped == null) {
            throw new IllegalArgumentException("Window callback may not be null");
        }
        mWrapped = wrapped;
    }

    @Override
    public boolean dispatchKeyEvent(KeyEvent event) {
        return mWrapped.dispatchKeyEvent(event);
    }

    @Override
    public boolean dispatchKeyShortcutEvent(KeyEvent event) {
        return mWrapped.dispatchKeyShortcutEvent(event);
    }

    @Override
    public boolean dispatchTouchEvent(MotionEvent event) {
        return mWrapped.dispatchTouchEvent(event);
    }

    @Override
    public boolean dispatchTrackballEvent(MotionEvent event) {
        return mWrapped.dispatchTrackballEvent(event);
    }

    @Override
    public boolean dispatchGenericMotionEvent(MotionEvent event) {
        return mWrapped.dispatchGenericMotionEvent(event);
    }

    @Override
    public boolean dispatchPopulateAccessibilityEvent(AccessibilityEvent event) {
        return mWrapped.dispatchPopulateAccessibilityEvent(event);
    }

    @Override
    public View onCreatePanelView(int featureId) {
        return mWrapped.onCreatePanelView(featureId);
    }

    @Override
    public boolean onCreatePanelMenu(int featureId, Menu menu) {
        return mWrapped.onCreatePanelMenu(featureId, menu);
    }

    @Override
    public boolean onPreparePanel(int featureId, View view, Menu menu) {
        return mWrapped.onPreparePanel(featureId, view, menu);
    }

    @Override
    public boolean onMenuOpened(int featureId, Menu menu) {
        return mWrapped.onMenuOpened(featureId, menu);
    }

    @Override
    public boolean onMenuItemSelected(int featureId, MenuItem item) {
        return mWrapped.onMenuItemSelected(featureId, item);
    }

    @Override
    public void onWindowAttributesChanged(WindowManager.LayoutParams attrs) {
        mWrapped.onWindowAttributesChanged(attrs);
    }

    @Override
    public void onContentChanged() {
        mWrapped.onContentChanged();
    }

    @Override
    public void onWindowFocusChanged(boolean hasFocus) {
        mWrapped.onWindowFocusChanged(hasFocus);
    }

    @Override
    public void onAttachedToWindow() {
        mWrapped.onAttachedToWindow();
    }

    @Override
    public void onDetachedFromWindow() {
        mWrapped.onDetachedFromWindow();
    }

    @Override
    public void onPanelClosed(int featureId, Menu menu) {
        mWrapped.onPanelClosed(featureId, menu);
    }

    @RequiresApi(23)
    @Override
    public boolean onSearchRequested(SearchEvent searchEvent) {
        return Api23Impl.onSearchRequested(mWrapped, searchEvent);
    }

    @Override
    public boolean onSearchRequested() {
        return mWrapped.onSearchRequested();
    }

    @Override
    public ActionMode onWindowStartingActionMode(ActionMode.Callback callback) {
        return mWrapped.onWindowStartingActionMode(callback);
    }

    @RequiresApi(23)
    @Override
    public ActionMode onWindowStartingActionMode(ActionMode.Callback callback, int type) {
        return Api23Impl.onWindowStartingActionMode(mWrapped, callback, type);
    }

    @Override
    public void onActionModeStarted(ActionMode mode) {
        mWrapped.onActionModeStarted(mode);
    }

    @Override
    public void onActionModeFinished(ActionMode mode) {
        mWrapped.onActionModeFinished(mode);
    }

    @RequiresApi(24)
    @Override
    public void onProvideKeyboardShortcuts(
            List<KeyboardShortcutGroup> data, Menu menu, int deviceId) {
        Api24Impl.onProvideKeyboardShortcuts(mWrapped, data, menu, deviceId);
    }

    @RequiresApi(26)
    @Override
    public void onPointerCaptureChanged(boolean hasCapture) {
        Api26Impl.onPointerCaptureChanged(mWrapped, hasCapture);
    }

    public final Window.Callback getWrapped() {
        return mWrapped;
    }

    @RequiresApi(23)
    static class Api23Impl {
        private Api23Impl() {
            // This class is not instantiable.
        }

        @DoNotInline
        static boolean onSearchRequested(Window.Callback callback, SearchEvent searchEvent) {
            return callback.onSearchRequested(searchEvent);
        }

        @DoNotInline
        static ActionMode onWindowStartingActionMode(Window.Callback windowCallback,
                ActionMode.Callback actionModeCallback, int i) {
            return windowCallback.onWindowStartingActionMode(actionModeCallback, i);
        }
    }

    @RequiresApi(24)
    static class Api24Impl {
        private Api24Impl() {
            // This class is not instantiable.
        }

        @DoNotInline
        static void onProvideKeyboardShortcuts(Window.Callback callback,
                List<KeyboardShortcutGroup> data, Menu menu, int deviceId) {
            callback.onProvideKeyboardShortcuts(data, menu, deviceId);
        }

    }

    @RequiresApi(26)
    static class Api26Impl {
        private Api26Impl() {
            // This class is not instantiable.
        }

        @DoNotInline
        static void onPointerCaptureChanged(Window.Callback callback, boolean hasCapture) {
            callback.onPointerCaptureChanged(hasCapture);
        }

    }
}