/* * Copyright (C) 2011 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 android.view; import android.graphics.Point; import android.graphics.Rect; import com.android.internal.app.IAssistScreenshotReceiver; import com.android.internal.os.IResultReceiver; import com.android.internal.policy.IShortcutService; import com.android.internal.view.IInputContext; import com.android.internal.view.IInputMethodClient; import android.content.res.CompatibilityInfo; import android.content.res.Configuration; import android.graphics.Bitmap; import android.os.Bundle; import android.os.IBinder; import android.os.IRemoteCallback; import android.os.RemoteException; import android.util.DisplayMetrics; import android.view.AppTransitionAnimationSpec; import java.lang.Override; /** * Basic implementation of {@link IWindowManager} so that {@link Display} (and * {@link Display_Delegate}) can return a valid instance. */ public class IWindowManagerImpl implements IWindowManager { private final Configuration mConfig; private final DisplayMetrics mMetrics; private final int mRotation; private final boolean mHasNavigationBar; public IWindowManagerImpl(Configuration config, DisplayMetrics metrics, int rotation, boolean hasNavigationBar) { mConfig = config; mMetrics = metrics; mRotation = rotation; mHasNavigationBar = hasNavigationBar; } // custom API. public DisplayMetrics getMetrics() { return mMetrics; } // ---- implementation of IWindowManager that we care about ---- @Override public int getRotation() throws RemoteException { return mRotation; } @Override public boolean hasNavigationBar() { return mHasNavigationBar; } // ---- unused implementation of IWindowManager ---- @Override public void addAppToken(int arg0, IApplicationToken arg1, int arg2, int arg3, int arg4, boolean arg5, boolean arg6, int arg7, int arg8, boolean arg9, boolean arg10, Rect arg11, Configuration arg12, int arg13, boolean arg14, boolean arg15, int arg16, int arg17) throws RemoteException { // TODO Auto-generated method stub } @Override public void addWindowToken(IBinder arg0, int arg1) throws RemoteException { // TODO Auto-generated method stub } @Override public void clearForcedDisplaySize(int displayId) throws RemoteException { // TODO Auto-generated method stub } @Override public void clearForcedDisplayDensityForUser(int displayId, int userId) throws RemoteException { // TODO Auto-generated method stub } @Override public void setOverscan(int displayId, int left, int top, int right, int bottom) throws RemoteException { // TODO Auto-generated method stub } @Override public void closeSystemDialogs(String arg0) throws RemoteException { // TODO Auto-generated method stub } @Override public void startFreezingScreen(int exitAnim, int enterAnim) { // TODO Auto-generated method stub } @Override public void stopFreezingScreen() { // TODO Auto-generated method stub } @Override public void disableKeyguard(IBinder arg0, String arg1) throws RemoteException { // TODO Auto-generated method stub } @Override public void executeAppTransition() throws RemoteException { // TODO Auto-generated method stub } @Override public void exitKeyguardSecurely(IOnKeyguardExitResult arg0) throws RemoteException { // TODO Auto-generated method stub } @Override public void freezeRotation(int arg0) throws RemoteException { // TODO Auto-generated method stub } @Override public float getAnimationScale(int arg0) throws RemoteException { // TODO Auto-generated method stub return 0; } @Override public float[] getAnimationScales() throws RemoteException { // TODO Auto-generated method stub return null; } @Override public int getAppOrientation(IApplicationToken arg0) throws RemoteException { // TODO Auto-generated method stub return 0; } @Override public int getPendingAppTransition() throws RemoteException { // TODO Auto-generated method stub return 0; } @Override public boolean inKeyguardRestrictedInputMode() throws RemoteException { // TODO Auto-generated method stub return false; } @Override public boolean inputMethodClientHasFocus(IInputMethodClient arg0) throws RemoteException { // TODO Auto-generated method stub return false; } @Override public boolean isKeyguardLocked() throws RemoteException { // TODO Auto-generated method stub return false; } @Override public boolean isKeyguardSecure() throws RemoteException { // TODO Auto-generated method stub return false; } @Override public boolean isViewServerRunning() throws RemoteException { // TODO Auto-generated method stub return false; } @Override public IWindowSession openSession(IWindowSessionCallback argn1, IInputMethodClient arg0, IInputContext arg1) throws RemoteException { // TODO Auto-generated method stub return null; } @Override public void overridePendingAppTransition(String arg0, int arg1, int arg2, IRemoteCallback startedCallback) throws RemoteException { // TODO Auto-generated method stub } @Override public void overridePendingAppTransitionScaleUp(int startX, int startY, int startWidth, int startHeight) throws RemoteException { // TODO Auto-generated method stub } @Override public void overridePendingAppTransitionClipReveal(int startX, int startY, int startWidth, int startHeight) throws RemoteException { // TODO Auto-generated method stub } @Override public void overridePendingAppTransitionThumb(Bitmap srcThumb, int startX, int startY, IRemoteCallback startedCallback, boolean scaleUp) throws RemoteException { // TODO Auto-generated method stub } @Override public void overridePendingAppTransitionAspectScaledThumb(Bitmap srcThumb, int startX, int startY, int targetWidth, int targetHeight, IRemoteCallback startedCallback, boolean scaleUp) { // TODO Auto-generated method stub } @Override public void overridePendingAppTransitionInPlace(String packageName, int anim) { // TODO Auto-generated method stub } @Override public void overridePendingAppTransitionMultiThumbFuture( IAppTransitionAnimationSpecsFuture specsFuture, IRemoteCallback startedCallback, boolean scaleUp) throws RemoteException { } @Override public void overridePendingAppTransitionMultiThumb(AppTransitionAnimationSpec[] specs, IRemoteCallback callback0, IRemoteCallback callback1, boolean scaleUp) { // TODO Auto-generated method stub } @Override public void pauseKeyDispatching(IBinder arg0) throws RemoteException { // TODO Auto-generated method stub } @Override public void prepareAppTransition(int arg0, boolean arg1) throws RemoteException { // TODO Auto-generated method stub } @Override public void reenableKeyguard(IBinder arg0) throws RemoteException { // TODO Auto-generated method stub } @Override public void removeAppToken(IBinder arg0) throws RemoteException { // TODO Auto-generated method stub } @Override public void removeWindowToken(IBinder arg0) throws RemoteException { // TODO Auto-generated method stub } @Override public void resumeKeyDispatching(IBinder arg0) throws RemoteException { // TODO Auto-generated method stub } @Override public boolean requestAssistScreenshot(IAssistScreenshotReceiver receiver) throws RemoteException { // TODO Auto-generated method stub return false; } @Override public Bitmap screenshotApplications(IBinder appToken, int displayId, int maxWidth, int maxHeight, float frameScale) throws RemoteException { // TODO Auto-generated method stub return null; } @Override public void setAnimationScale(int arg0, float arg1) throws RemoteException { // TODO Auto-generated method stub } @Override public void setAnimationScales(float[] arg0) throws RemoteException { // TODO Auto-generated method stub } @Override public float getCurrentAnimatorScale() throws RemoteException { return 0; } @Override public void setAppTask(IBinder arg0, int arg1, int arg2, Rect arg3, Configuration arg4, int arg5, boolean arg6) throws RemoteException { // TODO Auto-generated method stub } @Override public void setAppOrientation(IApplicationToken arg0, int arg1) throws RemoteException { // TODO Auto-generated method stub } @Override public boolean setAppStartingWindow(IBinder arg0, String arg1, int arg2, CompatibilityInfo arg3, CharSequence arg4, int arg5, int arg6, int arg7, int arg8, IBinder arg9, boolean arg10) throws RemoteException { // TODO Auto-generated method stub return false; } @Override public void setAppVisibility(IBinder arg0, boolean arg1) throws RemoteException { // TODO Auto-generated method stub } @Override public void notifyAppResumed(IBinder token, boolean wasStopped, boolean allowSavedSurface) throws RemoteException { // TODO Auto-generated method stub } @Override public void notifyAppStopped(IBinder token) throws RemoteException { // TODO Auto-generated method stub } @Override public void setEventDispatching(boolean arg0) throws RemoteException { // TODO Auto-generated method stub } @Override public void setFocusedApp(IBinder arg0, boolean arg1) throws RemoteException { // TODO Auto-generated method stub } @Override public void getInitialDisplaySize(int displayId, Point size) { // TODO Auto-generated method stub } @Override public void getBaseDisplaySize(int displayId, Point size) { // TODO Auto-generated method stub } @Override public void setForcedDisplaySize(int displayId, int arg0, int arg1) throws RemoteException { // TODO Auto-generated method stub } @Override public int getInitialDisplayDensity(int displayId) { return -1; } @Override public int getBaseDisplayDensity(int displayId) { return -1; } @Override public void setForcedDisplayDensityForUser(int displayId, int density, int userId) throws RemoteException { // TODO Auto-generated method stub } @Override public void setForcedDisplayScalingMode(int displayId, int mode) { } @Override public void setInTouchMode(boolean arg0) throws RemoteException { // TODO Auto-generated method stub } @Override public int[] setNewConfiguration(Configuration arg0) throws RemoteException { // TODO Auto-generated method stub return null; } @Override public Rect getBoundsForNewConfiguration(int stackId) throws RemoteException { // TODO Auto-generated method stub return null; } @Override public void setScreenCaptureDisabled(int userId, boolean disabled) { // TODO Auto-generated method stub } @Override public void updateRotation(boolean arg0, boolean arg1) throws RemoteException { // TODO Auto-generated method stub } @Override public void setStrictModeVisualIndicatorPreference(String arg0) throws RemoteException { // TODO Auto-generated method stub } @Override public void showStrictModeViolation(boolean arg0) throws RemoteException { // TODO Auto-generated method stub } @Override public void startAppFreezingScreen(IBinder arg0, int arg1) throws RemoteException { // TODO Auto-generated method stub } @Override public boolean startViewServer(int arg0) throws RemoteException { // TODO Auto-generated method stub return false; } @Override public void statusBarVisibilityChanged(int arg0) throws RemoteException { // TODO Auto-generated method stub } @Override public void setRecentsVisibility(boolean visible) { // TODO Auto-generated method stub } @Override public void setTvPipVisibility(boolean visible) { // TODO Auto-generated method stub } @Override public void stopAppFreezingScreen(IBinder arg0, boolean arg1) throws RemoteException { // TODO Auto-generated method stub } @Override public boolean stopViewServer() throws RemoteException { // TODO Auto-generated method stub return false; } @Override public void thawRotation() throws RemoteException { // TODO Auto-generated method stub } @Override public Configuration updateOrientationFromAppTokens(Configuration arg0, IBinder arg1) throws RemoteException { // TODO Auto-generated method stub return null; } @Override public int watchRotation(IRotationWatcher arg0) throws RemoteException { // TODO Auto-generated method stub return 0; } @Override public void removeRotationWatcher(IRotationWatcher arg0) throws RemoteException { } @Override public IBinder asBinder() { // TODO Auto-generated method stub return null; } @Override public int getPreferredOptionsPanelGravity() throws RemoteException { return Gravity.CENTER_HORIZONTAL | Gravity.BOTTOM; } @Override public void dismissKeyguard() { } @Override public void keyguardGoingAway(int flags) throws RemoteException { } @Override public void lockNow(Bundle options) { // TODO Auto-generated method stub } @Override public boolean isSafeModeEnabled() { return false; } @Override public boolean isRotationFrozen() throws RemoteException { // TODO Auto-generated method stub return false; } @Override public void enableScreenIfNeeded() throws RemoteException { // TODO Auto-generated method stub } @Override public boolean clearWindowContentFrameStats(IBinder token) throws RemoteException { // TODO Auto-generated method stub return false; } @Override public WindowContentFrameStats getWindowContentFrameStats(IBinder token) throws RemoteException { // TODO Auto-generated method stub return null; } @Override public int getDockedStackSide() throws RemoteException { return 0; } @Override public void setDockedStackResizing(boolean resizing) throws RemoteException { } @Override public void cancelTaskWindowTransition(int taskId) { } @Override public void cancelTaskThumbnailTransition(int taskId) { } @Override public void endProlongedAnimations() { } @Override public void registerDockedStackListener(IDockedStackListener listener) throws RemoteException { } @Override public void setResizeDimLayer(boolean visible, int targetStackId, float alpha) throws RemoteException { } @Override public void setDockedStackDividerTouchRegion(Rect touchableRegion) throws RemoteException { } @Override public void requestAppKeyboardShortcuts( IResultReceiver receiver, int deviceId) throws RemoteException { } @Override public void getStableInsets(Rect outInsets) throws RemoteException { } @Override public void registerShortcutKey(long shortcutCode, IShortcutService service) throws RemoteException {} @Override public void createWallpaperInputConsumer(InputChannel inputChannel) throws RemoteException {} @Override public void removeWallpaperInputConsumer() throws RemoteException {} @Override public Bitmap screenshotWallpaper() throws RemoteException { return null; } }