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 com.android.internal.view.IInputContext;
     21 import com.android.internal.view.IInputMethodClient;
     22 
     23 import android.content.res.CompatibilityInfo;
     24 import android.content.res.Configuration;
     25 import android.graphics.Bitmap;
     26 import android.os.Bundle;
     27 import android.os.IBinder;
     28 import android.os.IRemoteCallback;
     29 import android.os.RemoteException;
     30 import android.util.DisplayMetrics;
     31 
     32 import java.lang.Override;
     33 
     34 /**
     35  * Basic implementation of {@link IWindowManager} so that {@link Display} (and
     36  * {@link Display_Delegate}) can return a valid instance.
     37  */
     38 public class IWindowManagerImpl implements IWindowManager {
     39 
     40     private final Configuration mConfig;
     41     private final DisplayMetrics mMetrics;
     42     private final int mRotation;
     43     private final boolean mHasNavigationBar;
     44 
     45     public IWindowManagerImpl(Configuration config, DisplayMetrics metrics, int rotation,
     46             boolean hasNavigationBar) {
     47         mConfig = config;
     48         mMetrics = metrics;
     49         mRotation = rotation;
     50         mHasNavigationBar = hasNavigationBar;
     51     }
     52 
     53     // custom API.
     54 
     55     public DisplayMetrics getMetrics() {
     56         return mMetrics;
     57     }
     58 
     59     // ---- implementation of IWindowManager that we care about ----
     60 
     61     @Override
     62     public int getRotation() throws RemoteException {
     63         return mRotation;
     64     }
     65 
     66     @Override
     67     public boolean hasNavigationBar() {
     68         return mHasNavigationBar;
     69     }
     70 
     71     // ---- unused implementation of IWindowManager ----
     72 
     73     @Override
     74     public void addAppToken(int arg0, IApplicationToken arg1, int arg2, int arg3, int arg4,
     75             boolean arg5, boolean arg6, int arg7, int arg8, boolean arg9, boolean arg10)
     76             throws RemoteException {
     77         // TODO Auto-generated method stub
     78 
     79     }
     80 
     81     @Override
     82     public void addWindowToken(IBinder arg0, int arg1) throws RemoteException {
     83         // TODO Auto-generated method stub
     84 
     85     }
     86 
     87     @Override
     88     public void clearForcedDisplaySize(int displayId) throws RemoteException {
     89         // TODO Auto-generated method stub
     90     }
     91 
     92     @Override
     93     public void clearForcedDisplayDensity(int displayId) throws RemoteException {
     94         // TODO Auto-generated method stub
     95     }
     96 
     97     @Override
     98     public void setOverscan(int displayId, int left, int top, int right, int bottom)
     99             throws RemoteException {
    100         // TODO Auto-generated method stub
    101     }
    102 
    103     @Override
    104     public void closeSystemDialogs(String arg0) throws RemoteException {
    105         // TODO Auto-generated method stub
    106 
    107     }
    108 
    109     @Override
    110     public void startFreezingScreen(int exitAnim, int enterAnim) {
    111         // TODO Auto-generated method stub
    112     }
    113 
    114     @Override
    115     public void stopFreezingScreen() {
    116         // TODO Auto-generated method stub
    117     }
    118 
    119     @Override
    120     public void disableKeyguard(IBinder arg0, String arg1) throws RemoteException {
    121         // TODO Auto-generated method stub
    122 
    123     }
    124 
    125     @Override
    126     public void executeAppTransition() throws RemoteException {
    127         // TODO Auto-generated method stub
    128 
    129     }
    130 
    131     @Override
    132     public void exitKeyguardSecurely(IOnKeyguardExitResult arg0) throws RemoteException {
    133         // TODO Auto-generated method stub
    134 
    135     }
    136 
    137     @Override
    138     public void freezeRotation(int arg0) throws RemoteException {
    139         // TODO Auto-generated method stub
    140 
    141     }
    142 
    143     @Override
    144     public float getAnimationScale(int arg0) throws RemoteException {
    145         // TODO Auto-generated method stub
    146         return 0;
    147     }
    148 
    149     @Override
    150     public float[] getAnimationScales() throws RemoteException {
    151         // TODO Auto-generated method stub
    152         return null;
    153     }
    154 
    155     @Override
    156     public int getAppOrientation(IApplicationToken arg0) throws RemoteException {
    157         // TODO Auto-generated method stub
    158         return 0;
    159     }
    160 
    161     @Override
    162     public int getPendingAppTransition() throws RemoteException {
    163         // TODO Auto-generated method stub
    164         return 0;
    165     }
    166 
    167     @Override
    168     public boolean inKeyguardRestrictedInputMode() throws RemoteException {
    169         // TODO Auto-generated method stub
    170         return false;
    171     }
    172 
    173     @Override
    174     public boolean inputMethodClientHasFocus(IInputMethodClient arg0) throws RemoteException {
    175         // TODO Auto-generated method stub
    176         return false;
    177     }
    178 
    179     @Override
    180     public boolean isKeyguardLocked() throws RemoteException {
    181         // TODO Auto-generated method stub
    182         return false;
    183     }
    184 
    185     @Override
    186     public boolean isKeyguardSecure() throws RemoteException {
    187         // TODO Auto-generated method stub
    188         return false;
    189     }
    190 
    191     @Override
    192     public boolean isViewServerRunning() throws RemoteException {
    193         // TODO Auto-generated method stub
    194         return false;
    195     }
    196 
    197     @Override
    198     public IWindowSession openSession(IWindowSessionCallback argn1, IInputMethodClient arg0,
    199             IInputContext arg1) throws RemoteException {
    200         // TODO Auto-generated method stub
    201         return null;
    202     }
    203 
    204     @Override
    205     public void overridePendingAppTransition(String arg0, int arg1, int arg2,
    206             IRemoteCallback startedCallback) throws RemoteException {
    207         // TODO Auto-generated method stub
    208 
    209     }
    210 
    211     @Override
    212     public void overridePendingAppTransitionScaleUp(int startX, int startY, int startWidth,
    213             int startHeight) throws RemoteException {
    214         // TODO Auto-generated method stub
    215     }
    216 
    217     @Override
    218     public void overridePendingAppTransitionThumb(Bitmap srcThumb, int startX, int startY,
    219             IRemoteCallback startedCallback, boolean scaleUp) throws RemoteException {
    220         // TODO Auto-generated method stub
    221     }
    222 
    223     @Override
    224     public void overridePendingAppTransitionAspectScaledThumb(Bitmap srcThumb, int startX,
    225             int startY, int targetWidth, int targetHeight, IRemoteCallback startedCallback,
    226             boolean scaleUp) {
    227         // TODO Auto-generated method stub
    228     }
    229 
    230     @Override
    231     public void pauseKeyDispatching(IBinder arg0) throws RemoteException {
    232         // TODO Auto-generated method stub
    233 
    234     }
    235 
    236     @Override
    237     public void prepareAppTransition(int arg0, boolean arg1) throws RemoteException {
    238         // TODO Auto-generated method stub
    239 
    240     }
    241 
    242     @Override
    243     public void reenableKeyguard(IBinder arg0) throws RemoteException {
    244         // TODO Auto-generated method stub
    245 
    246     }
    247 
    248     @Override
    249     public void removeAppToken(IBinder arg0) throws RemoteException {
    250         // TODO Auto-generated method stub
    251 
    252     }
    253 
    254     @Override
    255     public void removeWindowToken(IBinder arg0) throws RemoteException {
    256         // TODO Auto-generated method stub
    257 
    258     }
    259 
    260     @Override
    261     public void resumeKeyDispatching(IBinder arg0) throws RemoteException {
    262         // TODO Auto-generated method stub
    263 
    264     }
    265 
    266     @Override
    267     public Bitmap screenshotApplications(IBinder arg0, int displayId, int arg1,
    268             int arg2, boolean arg3) throws RemoteException {
    269         // TODO Auto-generated method stub
    270         return null;
    271     }
    272 
    273     @Override
    274     public void setAnimationScale(int arg0, float arg1) throws RemoteException {
    275         // TODO Auto-generated method stub
    276 
    277     }
    278 
    279     @Override
    280     public void setAnimationScales(float[] arg0) throws RemoteException {
    281         // TODO Auto-generated method stub
    282 
    283     }
    284 
    285     @Override
    286     public float getCurrentAnimatorScale() throws RemoteException {
    287         return 0;
    288     }
    289 
    290     @Override
    291     public void setAppGroupId(IBinder arg0, int arg1) throws RemoteException {
    292         // TODO Auto-generated method stub
    293 
    294     }
    295 
    296     @Override
    297     public void setAppOrientation(IApplicationToken arg0, int arg1) throws RemoteException {
    298         // TODO Auto-generated method stub
    299     }
    300 
    301     @Override
    302     public void setAppStartingWindow(IBinder arg0, String arg1, int arg2, CompatibilityInfo arg3,
    303             CharSequence arg4, int arg5, int arg6, int arg7, int arg8, IBinder arg9, boolean arg10)
    304             throws RemoteException {
    305         // TODO Auto-generated method stub
    306     }
    307 
    308     @Override
    309     public void setAppVisibility(IBinder arg0, boolean arg1) throws RemoteException {
    310         // TODO Auto-generated method stub
    311 
    312     }
    313 
    314     @Override
    315     public void setAppWillBeHidden(IBinder arg0) throws RemoteException {
    316         // TODO Auto-generated method stub
    317     }
    318 
    319     @Override
    320     public void setEventDispatching(boolean arg0) throws RemoteException {
    321         // TODO Auto-generated method stub
    322     }
    323 
    324     @Override
    325     public void setFocusedApp(IBinder arg0, boolean arg1) throws RemoteException {
    326         // TODO Auto-generated method stub
    327     }
    328 
    329     @Override
    330     public void getInitialDisplaySize(int displayId, Point size) {
    331         // TODO Auto-generated method stub
    332     }
    333 
    334     @Override
    335     public void getBaseDisplaySize(int displayId, Point size) {
    336         // TODO Auto-generated method stub
    337     }
    338 
    339     @Override
    340     public void setForcedDisplaySize(int displayId, int arg0, int arg1) throws RemoteException {
    341         // TODO Auto-generated method stub
    342     }
    343 
    344     @Override
    345     public int getInitialDisplayDensity(int displayId) {
    346         return -1;
    347     }
    348 
    349     @Override
    350     public int getBaseDisplayDensity(int displayId) {
    351         return -1;
    352     }
    353 
    354     @Override
    355     public void setForcedDisplayDensity(int displayId, int density) throws RemoteException {
    356         // TODO Auto-generated method stub
    357     }
    358 
    359     @Override
    360     public void setInTouchMode(boolean arg0) throws RemoteException {
    361         // TODO Auto-generated method stub
    362     }
    363 
    364     @Override
    365     public void setNewConfiguration(Configuration arg0) throws RemoteException {
    366         // TODO Auto-generated method stub
    367     }
    368 
    369     @Override
    370     public void setScreenCaptureDisabled(int userId, boolean disabled) {
    371         // TODO Auto-generated method stub
    372     }
    373 
    374     @Override
    375     public void updateRotation(boolean arg0, boolean arg1) throws RemoteException {
    376         // TODO Auto-generated method stub
    377     }
    378 
    379     @Override
    380     public void setStrictModeVisualIndicatorPreference(String arg0) throws RemoteException {
    381         // TODO Auto-generated method stub
    382     }
    383 
    384     @Override
    385     public void showStrictModeViolation(boolean arg0) throws RemoteException {
    386         // TODO Auto-generated method stub
    387     }
    388 
    389     @Override
    390     public void startAppFreezingScreen(IBinder arg0, int arg1) throws RemoteException {
    391         // TODO Auto-generated method stub
    392     }
    393 
    394     @Override
    395     public boolean startViewServer(int arg0) throws RemoteException {
    396         // TODO Auto-generated method stub
    397         return false;
    398     }
    399 
    400     @Override
    401     public void statusBarVisibilityChanged(int arg0) throws RemoteException {
    402         // TODO Auto-generated method stub
    403     }
    404 
    405     @Override
    406     public void stopAppFreezingScreen(IBinder arg0, boolean arg1) throws RemoteException {
    407         // TODO Auto-generated method stub
    408     }
    409 
    410     @Override
    411     public boolean stopViewServer() throws RemoteException {
    412         // TODO Auto-generated method stub
    413         return false;
    414     }
    415 
    416     @Override
    417     public void thawRotation() throws RemoteException {
    418         // TODO Auto-generated method stub
    419     }
    420 
    421     @Override
    422     public Configuration updateOrientationFromAppTokens(Configuration arg0, IBinder arg1)
    423             throws RemoteException {
    424         // TODO Auto-generated method stub
    425         return null;
    426     }
    427 
    428     @Override
    429     public int watchRotation(IRotationWatcher arg0) throws RemoteException {
    430         // TODO Auto-generated method stub
    431         return 0;
    432     }
    433 
    434     @Override
    435     public void removeRotationWatcher(IRotationWatcher arg0) throws RemoteException {
    436     }
    437 
    438     @Override
    439     public IBinder asBinder() {
    440         // TODO Auto-generated method stub
    441         return null;
    442     }
    443 
    444     @Override
    445     public int getPreferredOptionsPanelGravity() throws RemoteException {
    446         return Gravity.CENTER_HORIZONTAL | Gravity.BOTTOM;
    447     }
    448 
    449     @Override
    450     public void dismissKeyguard() {
    451     }
    452 
    453     @Override
    454     public void keyguardGoingAway(boolean disableWindowAnimations,
    455             boolean keyguardGoingToNotificationShade) throws RemoteException {
    456     }
    457 
    458     @Override
    459     public void lockNow(Bundle options) {
    460         // TODO Auto-generated method stub
    461     }
    462 
    463     @Override
    464     public boolean isSafeModeEnabled() {
    465         return false;
    466     }
    467 
    468     @Override
    469     public boolean isRotationFrozen() throws RemoteException {
    470         // TODO Auto-generated method stub
    471         return false;
    472     }
    473 
    474     @Override
    475     public void enableScreenIfNeeded() throws RemoteException {
    476         // TODO Auto-generated method stub
    477     }
    478 
    479     @Override
    480     public boolean clearWindowContentFrameStats(IBinder token) throws RemoteException {
    481         // TODO Auto-generated method stub
    482         return false;
    483     }
    484 
    485     @Override
    486     public WindowContentFrameStats getWindowContentFrameStats(IBinder token)
    487             throws RemoteException {
    488         // TODO Auto-generated method stub
    489         return null;
    490     }
    491 }
    492