Home | History | Annotate | Download | only in view
      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 
     18 package android.view;
     19 
     20 import android.content.res.Configuration;
     21 import android.graphics.Rect;
     22 import android.os.Bundle;
     23 import android.os.ParcelFileDescriptor;
     24 import android.view.DragEvent;
     25 import android.view.KeyEvent;
     26 import 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  */
     34 oneway 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, boolean reportDraw, in Configuration newConfig);
     50     void moved(int newX, int newY);
     51     void dispatchAppVisibility(boolean visible);
     52     void dispatchGetNewSurface();
     53     void dispatchScreenState(boolean on);
     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