Home | History | Annotate | Download | only in view
      1 /*
      2  * Copyright (C) 2011 The Android Open Source Project
      3  *
      4  * Licensed under the Apache License, Version 2.0 (the "License");
      5  * you may not use this file except in compliance with the License.
      6  * You may obtain a copy of the License at
      7  *
      8  *      http://www.apache.org/licenses/LICENSE-2.0
      9  *
     10  * Unless required by applicable law or agreed to in writing, software
     11  * distributed under the License is distributed on an "AS IS" BASIS,
     12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     13  * See the License for the specific language governing permissions and
     14  * limitations under the License.
     15  */
     16 
     17 package android.view;
     18 
     19 import android.graphics.Point;
     20 import android.graphics.Rect;
     21 import com.android.internal.app.IAssistScreenshotReceiver;
     22 import com.android.internal.os.IResultReceiver;
     23 import com.android.internal.policy.IShortcutService;
     24 import com.android.internal.view.IInputContext;
     25 import com.android.internal.view.IInputMethodClient;
     26 
     27 import android.content.res.CompatibilityInfo;
     28 import android.content.res.Configuration;
     29 import android.graphics.Bitmap;
     30 import android.os.Bundle;
     31 import android.os.IBinder;
     32 import android.os.IRemoteCallback;
     33 import android.os.RemoteException;
     34 import android.util.DisplayMetrics;
     35 import android.view.AppTransitionAnimationSpec;
     36 
     37 import java.lang.Override;
     38 
     39 /**
     40  * Basic implementation of {@link IWindowManager} so that {@link Display} (and
     41  * {@link Display_Delegate}) can return a valid instance.
     42  */
     43 public class IWindowManagerImpl implements IWindowManager {
     44 
     45     private final Configuration mConfig;
     46     private final DisplayMetrics mMetrics;
     47     private final int mRotation;
     48     private final boolean mHasNavigationBar;
     49 
     50     public IWindowManagerImpl(Configuration config, DisplayMetrics metrics, int rotation,
     51             boolean hasNavigationBar) {
     52         mConfig = config;
     53         mMetrics = metrics;
     54         mRotation = rotation;
     55         mHasNavigationBar = hasNavigationBar;
     56     }
     57 
     58     // custom API.
     59 
     60     public DisplayMetrics getMetrics() {
     61         return mMetrics;
     62     }
     63 
     64     // ---- implementation of IWindowManager that we care about ----
     65 
     66     @Override
     67     public int getRotation() throws RemoteException {
     68         return mRotation;
     69     }
     70 
     71     @Override
     72     public boolean hasNavigationBar() {
     73         return mHasNavigationBar;
     74     }
     75 
     76     // ---- unused implementation of IWindowManager ----
     77 
     78     @Override
     79     public void addAppToken(int arg0, IApplicationToken arg1, int arg2, int arg3, int arg4,
     80             boolean arg5, boolean arg6, int arg7, int arg8, boolean arg9, boolean arg10,
     81             Rect arg11, Configuration arg12, int arg13, boolean arg14, boolean arg15, int arg16,
     82             int arg17)
     83             throws RemoteException {
     84         // TODO Auto-generated method stub
     85     }
     86 
     87     @Override
     88     public void addWindowToken(IBinder arg0, int arg1) throws RemoteException {
     89         // TODO Auto-generated method stub
     90 
     91     }
     92 
     93     @Override
     94     public void clearForcedDisplaySize(int displayId) throws RemoteException {
     95         // TODO Auto-generated method stub
     96     }
     97 
     98     @Override
     99     public void clearForcedDisplayDensityForUser(int displayId, int userId) throws RemoteException {
    100         // TODO Auto-generated method stub
    101     }
    102 
    103     @Override
    104     public void setOverscan(int displayId, int left, int top, int right, int bottom)
    105             throws RemoteException {
    106         // TODO Auto-generated method stub
    107     }
    108 
    109     @Override
    110     public void closeSystemDialogs(String arg0) throws RemoteException {
    111         // TODO Auto-generated method stub
    112 
    113     }
    114 
    115     @Override
    116     public void startFreezingScreen(int exitAnim, int enterAnim) {
    117         // TODO Auto-generated method stub
    118     }
    119 
    120     @Override
    121     public void stopFreezingScreen() {
    122         // TODO Auto-generated method stub
    123     }
    124 
    125     @Override
    126     public void disableKeyguard(IBinder arg0, String arg1) throws RemoteException {
    127         // TODO Auto-generated method stub
    128 
    129     }
    130 
    131     @Override
    132     public void executeAppTransition() throws RemoteException {
    133         // TODO Auto-generated method stub
    134 
    135     }
    136 
    137     @Override
    138     public void exitKeyguardSecurely(IOnKeyguardExitResult arg0) throws RemoteException {
    139         // TODO Auto-generated method stub
    140 
    141     }
    142 
    143     @Override
    144     public void freezeRotation(int arg0) throws RemoteException {
    145         // TODO Auto-generated method stub
    146 
    147     }
    148 
    149     @Override
    150     public float getAnimationScale(int arg0) throws RemoteException {
    151         // TODO Auto-generated method stub
    152         return 0;
    153     }
    154 
    155     @Override
    156     public float[] getAnimationScales() throws RemoteException {
    157         // TODO Auto-generated method stub
    158         return null;
    159     }
    160 
    161     @Override
    162     public int getAppOrientation(IApplicationToken arg0) throws RemoteException {
    163         // TODO Auto-generated method stub
    164         return 0;
    165     }
    166 
    167     @Override
    168     public int getPendingAppTransition() throws RemoteException {
    169         // TODO Auto-generated method stub
    170         return 0;
    171     }
    172 
    173     @Override
    174     public boolean inKeyguardRestrictedInputMode() throws RemoteException {
    175         // TODO Auto-generated method stub
    176         return false;
    177     }
    178 
    179     @Override
    180     public boolean inputMethodClientHasFocus(IInputMethodClient arg0) throws RemoteException {
    181         // TODO Auto-generated method stub
    182         return false;
    183     }
    184 
    185     @Override
    186     public boolean isKeyguardLocked() throws RemoteException {
    187         // TODO Auto-generated method stub
    188         return false;
    189     }
    190 
    191     @Override
    192     public boolean isKeyguardSecure() throws RemoteException {
    193         // TODO Auto-generated method stub
    194         return false;
    195     }
    196 
    197     @Override
    198     public boolean isViewServerRunning() throws RemoteException {
    199         // TODO Auto-generated method stub
    200         return false;
    201     }
    202 
    203     @Override
    204     public IWindowSession openSession(IWindowSessionCallback argn1, IInputMethodClient arg0,
    205             IInputContext arg1) throws RemoteException {
    206         // TODO Auto-generated method stub
    207         return null;
    208     }
    209 
    210     @Override
    211     public void overridePendingAppTransition(String arg0, int arg1, int arg2,
    212             IRemoteCallback startedCallback) throws RemoteException {
    213         // TODO Auto-generated method stub
    214 
    215     }
    216 
    217     @Override
    218     public void overridePendingAppTransitionScaleUp(int startX, int startY, int startWidth,
    219             int startHeight) throws RemoteException {
    220         // TODO Auto-generated method stub
    221     }
    222 
    223     @Override
    224     public void overridePendingAppTransitionClipReveal(int startX, int startY,
    225             int startWidth, int startHeight) throws RemoteException {
    226         // TODO Auto-generated method stub
    227     }
    228 
    229     @Override
    230     public void overridePendingAppTransitionThumb(Bitmap srcThumb, int startX, int startY,
    231             IRemoteCallback startedCallback, boolean scaleUp) throws RemoteException {
    232         // TODO Auto-generated method stub
    233     }
    234 
    235     @Override
    236     public void overridePendingAppTransitionAspectScaledThumb(Bitmap srcThumb, int startX,
    237             int startY, int targetWidth, int targetHeight, IRemoteCallback startedCallback,
    238             boolean scaleUp) {
    239         // TODO Auto-generated method stub
    240     }
    241 
    242     @Override
    243     public void overridePendingAppTransitionInPlace(String packageName, int anim) {
    244         // TODO Auto-generated method stub
    245     }
    246 
    247     @Override
    248     public void overridePendingAppTransitionMultiThumbFuture(
    249             IAppTransitionAnimationSpecsFuture specsFuture, IRemoteCallback startedCallback,
    250             boolean scaleUp) throws RemoteException {
    251 
    252     }
    253 
    254     @Override
    255     public void overridePendingAppTransitionMultiThumb(AppTransitionAnimationSpec[] specs,
    256             IRemoteCallback callback0, IRemoteCallback callback1, boolean scaleUp) {
    257         // TODO Auto-generated method stub
    258     }
    259 
    260     @Override
    261     public void pauseKeyDispatching(IBinder arg0) throws RemoteException {
    262         // TODO Auto-generated method stub
    263 
    264     }
    265 
    266     @Override
    267     public void prepareAppTransition(int arg0, boolean arg1) throws RemoteException {
    268         // TODO Auto-generated method stub
    269 
    270     }
    271 
    272     @Override
    273     public void reenableKeyguard(IBinder arg0) throws RemoteException {
    274         // TODO Auto-generated method stub
    275 
    276     }
    277 
    278     @Override
    279     public void removeAppToken(IBinder arg0) throws RemoteException {
    280         // TODO Auto-generated method stub
    281 
    282     }
    283 
    284     @Override
    285     public void removeWindowToken(IBinder arg0) throws RemoteException {
    286         // TODO Auto-generated method stub
    287 
    288     }
    289 
    290     @Override
    291     public void resumeKeyDispatching(IBinder arg0) throws RemoteException {
    292         // TODO Auto-generated method stub
    293 
    294     }
    295 
    296     @Override
    297     public boolean requestAssistScreenshot(IAssistScreenshotReceiver receiver)
    298             throws RemoteException {
    299         // TODO Auto-generated method stub
    300         return false;
    301     }
    302 
    303     @Override
    304     public Bitmap screenshotApplications(IBinder appToken, int displayId, int maxWidth,
    305             int maxHeight, float frameScale) throws RemoteException {
    306         // TODO Auto-generated method stub
    307         return null;
    308     }
    309 
    310     @Override
    311     public void setAnimationScale(int arg0, float arg1) throws RemoteException {
    312         // TODO Auto-generated method stub
    313 
    314     }
    315 
    316     @Override
    317     public void setAnimationScales(float[] arg0) throws RemoteException {
    318         // TODO Auto-generated method stub
    319 
    320     }
    321 
    322     @Override
    323     public float getCurrentAnimatorScale() throws RemoteException {
    324         return 0;
    325     }
    326 
    327     @Override
    328     public void setAppTask(IBinder arg0, int arg1, int arg2, Rect arg3, Configuration arg4,
    329             int arg5, boolean arg6)
    330             throws RemoteException {
    331         // TODO Auto-generated method stub
    332     }
    333 
    334     @Override
    335     public void setAppOrientation(IApplicationToken arg0, int arg1) throws RemoteException {
    336         // TODO Auto-generated method stub
    337     }
    338 
    339     @Override
    340     public boolean setAppStartingWindow(IBinder arg0, String arg1, int arg2, CompatibilityInfo arg3,
    341             CharSequence arg4, int arg5, int arg6, int arg7, int arg8, IBinder arg9, boolean arg10)
    342             throws RemoteException {
    343         // TODO Auto-generated method stub
    344         return false;
    345     }
    346 
    347     @Override
    348     public void setAppVisibility(IBinder arg0, boolean arg1) throws RemoteException {
    349         // TODO Auto-generated method stub
    350 
    351     }
    352 
    353     @Override
    354     public void notifyAppResumed(IBinder token, boolean wasStopped, boolean allowSavedSurface)
    355             throws RemoteException {
    356         // TODO Auto-generated method stub
    357     }
    358 
    359     @Override
    360     public void notifyAppStopped(IBinder token) throws RemoteException {
    361         // TODO Auto-generated method stub
    362     }
    363 
    364     @Override
    365     public void setEventDispatching(boolean arg0) throws RemoteException {
    366         // TODO Auto-generated method stub
    367     }
    368 
    369     @Override
    370     public void setFocusedApp(IBinder arg0, boolean arg1) throws RemoteException {
    371         // TODO Auto-generated method stub
    372     }
    373 
    374     @Override
    375     public void getInitialDisplaySize(int displayId, Point size) {
    376         // TODO Auto-generated method stub
    377     }
    378 
    379     @Override
    380     public void getBaseDisplaySize(int displayId, Point size) {
    381         // TODO Auto-generated method stub
    382     }
    383 
    384     @Override
    385     public void setForcedDisplaySize(int displayId, int arg0, int arg1) throws RemoteException {
    386         // TODO Auto-generated method stub
    387     }
    388 
    389     @Override
    390     public int getInitialDisplayDensity(int displayId) {
    391         return -1;
    392     }
    393 
    394     @Override
    395     public int getBaseDisplayDensity(int displayId) {
    396         return -1;
    397     }
    398 
    399     @Override
    400     public void setForcedDisplayDensityForUser(int displayId, int density, int userId)
    401             throws RemoteException {
    402         // TODO Auto-generated method stub
    403     }
    404 
    405     @Override
    406     public void setForcedDisplayScalingMode(int displayId, int mode) {
    407     }
    408 
    409     @Override
    410     public void setInTouchMode(boolean arg0) throws RemoteException {
    411         // TODO Auto-generated method stub
    412     }
    413 
    414     @Override
    415     public int[] setNewConfiguration(Configuration arg0) throws RemoteException {
    416         // TODO Auto-generated method stub
    417         return null;
    418     }
    419 
    420     @Override
    421     public Rect getBoundsForNewConfiguration(int stackId) throws RemoteException {
    422         // TODO Auto-generated method stub
    423         return null;
    424     }
    425 
    426     @Override
    427     public void setScreenCaptureDisabled(int userId, boolean disabled) {
    428         // TODO Auto-generated method stub
    429     }
    430 
    431     @Override
    432     public void updateRotation(boolean arg0, boolean arg1) throws RemoteException {
    433         // TODO Auto-generated method stub
    434     }
    435 
    436     @Override
    437     public void setStrictModeVisualIndicatorPreference(String arg0) throws RemoteException {
    438         // TODO Auto-generated method stub
    439     }
    440 
    441     @Override
    442     public void showStrictModeViolation(boolean arg0) throws RemoteException {
    443         // TODO Auto-generated method stub
    444     }
    445 
    446     @Override
    447     public void startAppFreezingScreen(IBinder arg0, int arg1) throws RemoteException {
    448         // TODO Auto-generated method stub
    449     }
    450 
    451     @Override
    452     public boolean startViewServer(int arg0) throws RemoteException {
    453         // TODO Auto-generated method stub
    454         return false;
    455     }
    456 
    457     @Override
    458     public void statusBarVisibilityChanged(int arg0) throws RemoteException {
    459         // TODO Auto-generated method stub
    460     }
    461 
    462     @Override
    463     public void setRecentsVisibility(boolean visible) {
    464         // TODO Auto-generated method stub
    465     }
    466 
    467     @Override
    468     public void setTvPipVisibility(boolean visible) {
    469         // TODO Auto-generated method stub
    470     }
    471 
    472     @Override
    473     public void stopAppFreezingScreen(IBinder arg0, boolean arg1) throws RemoteException {
    474         // TODO Auto-generated method stub
    475     }
    476 
    477     @Override
    478     public boolean stopViewServer() throws RemoteException {
    479         // TODO Auto-generated method stub
    480         return false;
    481     }
    482 
    483     @Override
    484     public void thawRotation() throws RemoteException {
    485         // TODO Auto-generated method stub
    486     }
    487 
    488     @Override
    489     public Configuration updateOrientationFromAppTokens(Configuration arg0, IBinder arg1)
    490             throws RemoteException {
    491         // TODO Auto-generated method stub
    492         return null;
    493     }
    494 
    495     @Override
    496     public int watchRotation(IRotationWatcher arg0) throws RemoteException {
    497         // TODO Auto-generated method stub
    498         return 0;
    499     }
    500 
    501     @Override
    502     public void removeRotationWatcher(IRotationWatcher arg0) throws RemoteException {
    503     }
    504 
    505     @Override
    506     public IBinder asBinder() {
    507         // TODO Auto-generated method stub
    508         return null;
    509     }
    510 
    511     @Override
    512     public int getPreferredOptionsPanelGravity() throws RemoteException {
    513         return Gravity.CENTER_HORIZONTAL | Gravity.BOTTOM;
    514     }
    515 
    516     @Override
    517     public void dismissKeyguard() {
    518     }
    519 
    520     @Override
    521     public void keyguardGoingAway(int flags) throws RemoteException {
    522     }
    523 
    524     @Override
    525     public void lockNow(Bundle options) {
    526         // TODO Auto-generated method stub
    527     }
    528 
    529     @Override
    530     public boolean isSafeModeEnabled() {
    531         return false;
    532     }
    533 
    534     @Override
    535     public boolean isRotationFrozen() throws RemoteException {
    536         // TODO Auto-generated method stub
    537         return false;
    538     }
    539 
    540     @Override
    541     public void enableScreenIfNeeded() throws RemoteException {
    542         // TODO Auto-generated method stub
    543     }
    544 
    545     @Override
    546     public boolean clearWindowContentFrameStats(IBinder token) throws RemoteException {
    547         // TODO Auto-generated method stub
    548         return false;
    549     }
    550 
    551     @Override
    552     public WindowContentFrameStats getWindowContentFrameStats(IBinder token)
    553             throws RemoteException {
    554         // TODO Auto-generated method stub
    555         return null;
    556     }
    557 
    558     @Override
    559     public int getDockedStackSide() throws RemoteException {
    560         return 0;
    561     }
    562 
    563     @Override
    564     public void setDockedStackResizing(boolean resizing) throws RemoteException {
    565     }
    566 
    567     @Override
    568     public void cancelTaskWindowTransition(int taskId) {
    569     }
    570 
    571     @Override
    572     public void cancelTaskThumbnailTransition(int taskId) {
    573     }
    574 
    575     @Override
    576     public void endProlongedAnimations() {
    577     }
    578 
    579     @Override
    580     public void registerDockedStackListener(IDockedStackListener listener) throws RemoteException {
    581     }
    582 
    583     @Override
    584     public void setResizeDimLayer(boolean visible, int targetStackId, float alpha)
    585             throws RemoteException {
    586     }
    587 
    588     @Override
    589     public void setDockedStackDividerTouchRegion(Rect touchableRegion) throws RemoteException {
    590     }
    591 
    592     @Override
    593     public void requestAppKeyboardShortcuts(
    594             IResultReceiver receiver, int deviceId) throws RemoteException {
    595     }
    596 
    597     @Override
    598     public void getStableInsets(Rect outInsets) throws RemoteException {
    599     }
    600 
    601     @Override
    602     public void registerShortcutKey(long shortcutCode, IShortcutService service)
    603         throws RemoteException {}
    604 
    605     @Override
    606     public void createWallpaperInputConsumer(InputChannel inputChannel) throws RemoteException {}
    607 
    608     @Override
    609     public void removeWallpaperInputConsumer() throws RemoteException {}
    610 
    611     @Override
    612     public Bitmap screenshotWallpaper() throws RemoteException {
    613         return null;
    614     }
    615 }
    616