1d23e0d6901935588f9472bd7073fea0009581e9bDianne Hackborn/*
2d23e0d6901935588f9472bd7073fea0009581e9bDianne Hackborn * Copyright (C) 2015 The Android Open Source Project
3d23e0d6901935588f9472bd7073fea0009581e9bDianne Hackborn *
4d23e0d6901935588f9472bd7073fea0009581e9bDianne Hackborn * Licensed under the Apache License, Version 2.0 (the "License");
5d23e0d6901935588f9472bd7073fea0009581e9bDianne Hackborn * you may not use this file except in compliance with the License.
6d23e0d6901935588f9472bd7073fea0009581e9bDianne Hackborn * You may obtain a copy of the License at
7d23e0d6901935588f9472bd7073fea0009581e9bDianne Hackborn *
8d23e0d6901935588f9472bd7073fea0009581e9bDianne Hackborn *      http://www.apache.org/licenses/LICENSE-2.0
9d23e0d6901935588f9472bd7073fea0009581e9bDianne Hackborn *
10d23e0d6901935588f9472bd7073fea0009581e9bDianne Hackborn * Unless required by applicable law or agreed to in writing, software
11d23e0d6901935588f9472bd7073fea0009581e9bDianne Hackborn * distributed under the License is distributed on an "AS IS" BASIS,
12d23e0d6901935588f9472bd7073fea0009581e9bDianne Hackborn * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13d23e0d6901935588f9472bd7073fea0009581e9bDianne Hackborn * See the License for the specific language governing permissions and
14d23e0d6901935588f9472bd7073fea0009581e9bDianne Hackborn * limitations under the License.
15d23e0d6901935588f9472bd7073fea0009581e9bDianne Hackborn */
16d23e0d6901935588f9472bd7073fea0009581e9bDianne Hackborn
17d23e0d6901935588f9472bd7073fea0009581e9bDianne Hackbornpackage android.app;
18d23e0d6901935588f9472bd7073fea0009581e9bDianne Hackborn
19d23e0d6901935588f9472bd7073fea0009581e9bDianne Hackborn/** {@hide} */
20d23e0d6901935588f9472bd7073fea0009581e9bDianne Hackbornoneway interface IUidObserver {
21bef28feba57be7fd6a4d14a85a8229154338b2edDianne Hackborn    /**
22bef28feba57be7fd6a4d14a85a8229154338b2edDianne Hackborn     * General report of a state change of an uid.
238025580449081ddd21f449f8719bc87d1cc9fc7bSudheer Shanka     *
248025580449081ddd21f449f8719bc87d1cc9fc7bSudheer Shanka     * @param uid The uid for which the state change is being reported.
258025580449081ddd21f449f8719bc87d1cc9fc7bSudheer Shanka     * @param procState The updated process state for the uid.
268025580449081ddd21f449f8719bc87d1cc9fc7bSudheer Shanka     * @param procStateSeq The sequence no. associated with process state change of the uid,
278025580449081ddd21f449f8719bc87d1cc9fc7bSudheer Shanka     *                     see UidRecord.procStateSeq for details.
28bef28feba57be7fd6a4d14a85a8229154338b2edDianne Hackborn     */
298025580449081ddd21f449f8719bc87d1cc9fc7bSudheer Shanka    void onUidStateChanged(int uid, int procState, long procStateSeq);
30bef28feba57be7fd6a4d14a85a8229154338b2edDianne Hackborn
31bef28feba57be7fd6a4d14a85a8229154338b2edDianne Hackborn    /**
32bef28feba57be7fd6a4d14a85a8229154338b2edDianne Hackborn     * Report that there are no longer any processes running for a uid.
33bef28feba57be7fd6a4d14a85a8229154338b2edDianne Hackborn     */
34e07641d4fbdd0528c18305213e861a6e1aff4a3bDianne Hackborn    void onUidGone(int uid, boolean disabled);
35bef28feba57be7fd6a4d14a85a8229154338b2edDianne Hackborn
36bef28feba57be7fd6a4d14a85a8229154338b2edDianne Hackborn    /**
37bef28feba57be7fd6a4d14a85a8229154338b2edDianne Hackborn     * Report that a uid is now active (no longer idle).
38bef28feba57be7fd6a4d14a85a8229154338b2edDianne Hackborn     */
39bef28feba57be7fd6a4d14a85a8229154338b2edDianne Hackborn    void onUidActive(int uid);
40bef28feba57be7fd6a4d14a85a8229154338b2edDianne Hackborn
41bef28feba57be7fd6a4d14a85a8229154338b2edDianne Hackborn    /**
42bef28feba57be7fd6a4d14a85a8229154338b2edDianne Hackborn     * Report that a uid is idle -- it has either been running in the background for
43bef28feba57be7fd6a4d14a85a8229154338b2edDianne Hackborn     * a sufficient period of time, or all of its processes have gone away.
44bef28feba57be7fd6a4d14a85a8229154338b2edDianne Hackborn     */
45e07641d4fbdd0528c18305213e861a6e1aff4a3bDianne Hackborn    void onUidIdle(int uid, boolean disabled);
46d23e0d6901935588f9472bd7073fea0009581e9bDianne Hackborn}
47