16e1eb76f02ccc9dbc309b938f62d39312da8cafeDianne Hackborn/* 26e1eb76f02ccc9dbc309b938f62d39312da8cafeDianne Hackborn * Copyright (C) 2011 The Android Open Source Project 36e1eb76f02ccc9dbc309b938f62d39312da8cafeDianne Hackborn * 46e1eb76f02ccc9dbc309b938f62d39312da8cafeDianne Hackborn * Licensed under the Apache License, Version 2.0 (the "License"); 56e1eb76f02ccc9dbc309b938f62d39312da8cafeDianne Hackborn * you may not use this file except in compliance with the License. 66e1eb76f02ccc9dbc309b938f62d39312da8cafeDianne Hackborn * You may obtain a copy of the License at 76e1eb76f02ccc9dbc309b938f62d39312da8cafeDianne Hackborn * 86e1eb76f02ccc9dbc309b938f62d39312da8cafeDianne Hackborn * http://www.apache.org/licenses/LICENSE-2.0 96e1eb76f02ccc9dbc309b938f62d39312da8cafeDianne Hackborn * 106e1eb76f02ccc9dbc309b938f62d39312da8cafeDianne Hackborn * Unless required by applicable law or agreed to in writing, software 116e1eb76f02ccc9dbc309b938f62d39312da8cafeDianne Hackborn * distributed under the License is distributed on an "AS IS" BASIS, 126e1eb76f02ccc9dbc309b938f62d39312da8cafeDianne Hackborn * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 136e1eb76f02ccc9dbc309b938f62d39312da8cafeDianne Hackborn * See the License for the specific language governing permissions and 146e1eb76f02ccc9dbc309b938f62d39312da8cafeDianne Hackborn * limitations under the License. 156e1eb76f02ccc9dbc309b938f62d39312da8cafeDianne Hackborn */ 166e1eb76f02ccc9dbc309b938f62d39312da8cafeDianne Hackborn 176e1eb76f02ccc9dbc309b938f62d39312da8cafeDianne Hackbornpackage com.android.server.wm; 186e1eb76f02ccc9dbc309b938f62d39312da8cafeDianne Hackborn 1902886a82d876aa5e31a92444fec70208599c509cJorim Jaggiimport android.view.WindowManagerPolicy.StartingSurface; 202f0b17573d4324832f7a20402a3d2b5920bc4866Dianne Hackborn 2102886a82d876aa5e31a92444fec70208599c509cJorim Jaggi/** 2202886a82d876aa5e31a92444fec70208599c509cJorim Jaggi * Represents the model about how a starting window should be constructed. 2302886a82d876aa5e31a92444fec70208599c509cJorim Jaggi */ 2402886a82d876aa5e31a92444fec70208599c509cJorim Jaggipublic abstract class StartingData { 2502886a82d876aa5e31a92444fec70208599c509cJorim Jaggi 2602886a82d876aa5e31a92444fec70208599c509cJorim Jaggi protected final WindowManagerService mService; 276e1eb76f02ccc9dbc309b938f62d39312da8cafeDianne Hackborn 28e09fc6b8d6b20cdb23d79b18d7daad5923019b3dJorim Jaggi protected StartingData(WindowManagerService service) { 2902886a82d876aa5e31a92444fec70208599c509cJorim Jaggi mService = service; 306e1eb76f02ccc9dbc309b938f62d39312da8cafeDianne Hackborn } 3102886a82d876aa5e31a92444fec70208599c509cJorim Jaggi 3202886a82d876aa5e31a92444fec70208599c509cJorim Jaggi /** 3302886a82d876aa5e31a92444fec70208599c509cJorim Jaggi * Creates the actual starting window surface. DO NOT HOLD THE WINDOW MANAGER LOCK WHEN CALLING 3402886a82d876aa5e31a92444fec70208599c509cJorim Jaggi * THIS METHOD. 3502886a82d876aa5e31a92444fec70208599c509cJorim Jaggi * 36e09fc6b8d6b20cdb23d79b18d7daad5923019b3dJorim Jaggi * @param atoken the app to add the starting window to 3702886a82d876aa5e31a92444fec70208599c509cJorim Jaggi * @return a class implementing {@link StartingSurface} for easy removal with 3802886a82d876aa5e31a92444fec70208599c509cJorim Jaggi * {@link StartingSurface#remove} 3902886a82d876aa5e31a92444fec70208599c509cJorim Jaggi */ 40e09fc6b8d6b20cdb23d79b18d7daad5923019b3dJorim Jaggi abstract StartingSurface createStartingSurface(AppWindowToken atoken); 416e1eb76f02ccc9dbc309b938f62d39312da8cafeDianne Hackborn}