1612bb885bcef87034070e8e3bfc0b0e953c0f606Jorim Jaggi/*
2612bb885bcef87034070e8e3bfc0b0e953c0f606Jorim Jaggi * Copyright (C) 2017 The Android Open Source Project
3612bb885bcef87034070e8e3bfc0b0e953c0f606Jorim Jaggi *
4612bb885bcef87034070e8e3bfc0b0e953c0f606Jorim Jaggi * Licensed under the Apache License, Version 2.0 (the "License");
5612bb885bcef87034070e8e3bfc0b0e953c0f606Jorim Jaggi * you may not use this file except in compliance with the License.
6612bb885bcef87034070e8e3bfc0b0e953c0f606Jorim Jaggi * You may obtain a copy of the License at
7612bb885bcef87034070e8e3bfc0b0e953c0f606Jorim Jaggi *
8612bb885bcef87034070e8e3bfc0b0e953c0f606Jorim Jaggi *      http://www.apache.org/licenses/LICENSE-2.0
9612bb885bcef87034070e8e3bfc0b0e953c0f606Jorim Jaggi *
10612bb885bcef87034070e8e3bfc0b0e953c0f606Jorim Jaggi * Unless required by applicable law or agreed to in writing, software
11612bb885bcef87034070e8e3bfc0b0e953c0f606Jorim Jaggi * distributed under the License is distributed on an "AS IS" BASIS,
12612bb885bcef87034070e8e3bfc0b0e953c0f606Jorim Jaggi * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13612bb885bcef87034070e8e3bfc0b0e953c0f606Jorim Jaggi * See the License for the specific language governing permissions and
14612bb885bcef87034070e8e3bfc0b0e953c0f606Jorim Jaggi * limitations under the License
15612bb885bcef87034070e8e3bfc0b0e953c0f606Jorim Jaggi */
16612bb885bcef87034070e8e3bfc0b0e953c0f606Jorim Jaggi
17612bb885bcef87034070e8e3bfc0b0e953c0f606Jorim Jaggipackage com.android.server.wm;
18612bb885bcef87034070e8e3bfc0b0e953c0f606Jorim Jaggi
19612bb885bcef87034070e8e3bfc0b0e953c0f606Jorim Jaggiimport java.util.ArrayList;
20612bb885bcef87034070e8e3bfc0b0e953c0f606Jorim Jaggi
21612bb885bcef87034070e8e3bfc0b0e953c0f606Jorim Jaggi/**
22612bb885bcef87034070e8e3bfc0b0e953c0f606Jorim Jaggi * An {@link ArrayList} with extended functionality to be used as the children data structure in
23612bb885bcef87034070e8e3bfc0b0e953c0f606Jorim Jaggi * {@link WindowContainer}.
24612bb885bcef87034070e8e3bfc0b0e953c0f606Jorim Jaggi */
25612bb885bcef87034070e8e3bfc0b0e953c0f606Jorim Jaggiclass WindowList<E> extends ArrayList<E> {
26612bb885bcef87034070e8e3bfc0b0e953c0f606Jorim Jaggi
27612bb885bcef87034070e8e3bfc0b0e953c0f606Jorim Jaggi    void addFirst(E e) {
28612bb885bcef87034070e8e3bfc0b0e953c0f606Jorim Jaggi        add(0, e);
29612bb885bcef87034070e8e3bfc0b0e953c0f606Jorim Jaggi    }
30612bb885bcef87034070e8e3bfc0b0e953c0f606Jorim Jaggi
31612bb885bcef87034070e8e3bfc0b0e953c0f606Jorim Jaggi    E peekLast() {
32612bb885bcef87034070e8e3bfc0b0e953c0f606Jorim Jaggi        return size() > 0 ? get(size() - 1) : null;
33612bb885bcef87034070e8e3bfc0b0e953c0f606Jorim Jaggi    }
34612bb885bcef87034070e8e3bfc0b0e953c0f606Jorim Jaggi
35612bb885bcef87034070e8e3bfc0b0e953c0f606Jorim Jaggi    E peekFirst() {
36612bb885bcef87034070e8e3bfc0b0e953c0f606Jorim Jaggi        return size() > 0 ? get(0) : null;
37612bb885bcef87034070e8e3bfc0b0e953c0f606Jorim Jaggi    }
38612bb885bcef87034070e8e3bfc0b0e953c0f606Jorim Jaggi}
39