1/* //device/java/android/android/view/IWindow.aidl
2**
3** Copyright 2007, The Android Open Source Project
4**
5** Licensed under the Apache License, Version 2.0 (the "License");
6** you may not use this file except in compliance with the License.
7** You may obtain a copy of the License at
8**
9**     http://www.apache.org/licenses/LICENSE-2.0
10**
11** Unless required by applicable law or agreed to in writing, software
12** distributed under the License is distributed on an "AS IS" BASIS,
13** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14** See the License for the specific language governing permissions and
15** limitations under the License.
16*/
17
18package android.view;
19
20import android.content.res.Configuration;
21import android.graphics.Rect;
22import android.os.Bundle;
23import android.os.ParcelFileDescriptor;
24import android.view.DragEvent;
25import android.view.KeyEvent;
26import android.view.MotionEvent;
27
28/**
29 * API back to a client window that the Window Manager uses to inform it of
30 * interesting things happening.
31 *
32 * {@hide}
33 */
34oneway interface IWindow {
35    /**
36     * ===== NOTICE =====
37     * The first method must remain the first method. Scripts
38     * and tools rely on their transaction number to work properly.
39     */
40
41    /**
42     * Invoked by the view server to tell a window to execute the specified
43     * command. Any response from the receiver must be sent through the
44     * specified file descriptor.
45     */
46    void executeCommand(String command, String parameters, in ParcelFileDescriptor descriptor);
47
48    void resized(in Rect frame, in Rect overscanInsets, in Rect contentInsets,
49            in Rect visibleInsets, in Rect stableInsets, boolean reportDraw,
50            in Configuration newConfig);
51    void moved(int newX, int newY);
52    void dispatchAppVisibility(boolean visible);
53    void dispatchGetNewSurface();
54
55    /**
56     * Tell the window that it is either gaining or losing focus.  Keep it up
57     * to date on the current state showing navigational focus (touch mode) too.
58     */
59    void windowFocusChanged(boolean hasFocus, boolean inTouchMode);
60
61    void closeSystemDialogs(String reason);
62
63    /**
64     * Called for wallpaper windows when their offsets change.
65     */
66    void dispatchWallpaperOffsets(float x, float y, float xStep, float yStep, boolean sync);
67
68    void dispatchWallpaperCommand(String action, int x, int y,
69            int z, in Bundle extras, boolean sync);
70
71    /**
72     * Drag/drop events
73     */
74    void dispatchDragEvent(in DragEvent event);
75
76    /**
77     * System chrome visibility changes
78     */
79    void dispatchSystemUiVisibilityChanged(int seq, int globalVisibility,
80            int localValue, int localChanges);
81
82    /**
83     * If the window manager returned RELAYOUT_RES_ANIMATING
84     * from relayout(), this method will be called when the animation
85     * is done.
86     */
87    void doneAnimating();
88
89    /**
90     * Called for non-application windows when the enter animation has completed.
91     */
92    void dispatchWindowShown();
93}
94