HeadlessDisplayAdapter.java revision 908aecc3a63c5520d5b11da14a9383f885b7d126
1fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brown/* 2fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brown * Copyright (C) 2012 The Android Open Source Project 3fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brown * 4fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brown * Licensed under the Apache License, Version 2.0 (the "License"); 5fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brown * you may not use this file except in compliance with the License. 6fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brown * You may obtain a copy of the License at 7fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brown * 8fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brown * http://www.apache.org/licenses/LICENSE-2.0 9fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brown * 10fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brown * Unless required by applicable law or agreed to in writing, software 11fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brown * distributed under the License is distributed on an "AS IS" BASIS, 12fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brown * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brown * See the License for the specific language governing permissions and 14fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brown * limitations under the License. 15fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brown */ 16fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brown 17fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brownpackage com.android.server.display; 18fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brown 19908aecc3a63c5520d5b11da14a9383f885b7d126Dianne Hackbornimport android.util.DisplayMetrics; 20908aecc3a63c5520d5b11da14a9383f885b7d126Dianne Hackborn 21fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brown/** 22fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brown * Provides a fake default display for headless systems. 23fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brown */ 24fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brownpublic final class HeadlessDisplayAdapter extends DisplayAdapter { 25fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brown private final DisplayDevice mDefaultDisplay = new DisplayDevice() { 26fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brown @Override 27fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brown public void getInfo(DisplayDeviceInfo outInfo) { 28fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brown outInfo.width = 640; 29fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brown outInfo.height = 480; 30fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brown outInfo.refreshRate = 60; 31908aecc3a63c5520d5b11da14a9383f885b7d126Dianne Hackborn outInfo.densityDpi = DisplayMetrics.DENSITY_DEFAULT; 32fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brown outInfo.xDpi = 160; 33fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brown outInfo.yDpi = 160; 34fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brown } 35fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brown }; 36fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brown 37fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brown @Override 38fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brown public String getName() { 39fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brown return "HeadlessDisplayAdapter"; 40fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brown } 41fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brown 42fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brown @Override 43fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brown public DisplayDevice[] getDisplayDevices() { 44fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brown return new DisplayDevice[] { mDefaultDisplay }; 45fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brown } 46fa25bf5382467b1018bd9af7f1cb30a23d7d59f7Jeff Brown} 47