1fc46e9b643881b7b2ab76854f3a0ac077e9def8dSudheer Shanka/*
2fc46e9b643881b7b2ab76854f3a0ac077e9def8dSudheer Shanka * Copyright (C) 2016 The Android Open Source Project
3fc46e9b643881b7b2ab76854f3a0ac077e9def8dSudheer Shanka *
4fc46e9b643881b7b2ab76854f3a0ac077e9def8dSudheer Shanka * Licensed under the Apache License, Version 2.0 (the "License");
5fc46e9b643881b7b2ab76854f3a0ac077e9def8dSudheer Shanka * you may not use this file except in compliance with the License.
6fc46e9b643881b7b2ab76854f3a0ac077e9def8dSudheer Shanka * You may obtain a copy of the License at
7fc46e9b643881b7b2ab76854f3a0ac077e9def8dSudheer Shanka *
8fc46e9b643881b7b2ab76854f3a0ac077e9def8dSudheer Shanka *      http://www.apache.org/licenses/LICENSE-2.0
9fc46e9b643881b7b2ab76854f3a0ac077e9def8dSudheer Shanka *
10fc46e9b643881b7b2ab76854f3a0ac077e9def8dSudheer Shanka * Unless required by applicable law or agreed to in writing, software
11fc46e9b643881b7b2ab76854f3a0ac077e9def8dSudheer Shanka * distributed under the License is distributed on an "AS IS" BASIS,
12fc46e9b643881b7b2ab76854f3a0ac077e9def8dSudheer Shanka * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13fc46e9b643881b7b2ab76854f3a0ac077e9def8dSudheer Shanka * See the License for the specific language governing permissions and
14fc46e9b643881b7b2ab76854f3a0ac077e9def8dSudheer Shanka * limitations under the License.
15fc46e9b643881b7b2ab76854f3a0ac077e9def8dSudheer Shanka */
16fc46e9b643881b7b2ab76854f3a0ac077e9def8dSudheer Shanka
17fc46e9b643881b7b2ab76854f3a0ac077e9def8dSudheer Shankapackage android.app;
18fc46e9b643881b7b2ab76854f3a0ac077e9def8dSudheer Shanka
19fc46e9b643881b7b2ab76854f3a0ac077e9def8dSudheer Shankaimport android.content.ComponentName;
20fc46e9b643881b7b2ab76854f3a0ac077e9def8dSudheer Shankaimport android.os.Parcel;
21fc46e9b643881b7b2ab76854f3a0ac077e9def8dSudheer Shankaimport android.os.Parcelable;
22fc46e9b643881b7b2ab76854f3a0ac077e9def8dSudheer Shanka
234a19438955ab123a2b0862783fd35b8700b06eefBryce Leeimport java.io.PrintWriter;
244a19438955ab123a2b0862783fd35b8700b06eefBryce Lee
25fc46e9b643881b7b2ab76854f3a0ac077e9def8dSudheer Shanka/**
26fc46e9b643881b7b2ab76854f3a0ac077e9def8dSudheer Shanka * Information returned after waiting for an activity start.
27fc46e9b643881b7b2ab76854f3a0ac077e9def8dSudheer Shanka *
28fc46e9b643881b7b2ab76854f3a0ac077e9def8dSudheer Shanka * @hide
29fc46e9b643881b7b2ab76854f3a0ac077e9def8dSudheer Shanka */
30fc46e9b643881b7b2ab76854f3a0ac077e9def8dSudheer Shankapublic class WaitResult implements Parcelable {
31fc46e9b643881b7b2ab76854f3a0ac077e9def8dSudheer Shanka    public int result;
32fc46e9b643881b7b2ab76854f3a0ac077e9def8dSudheer Shanka    public boolean timeout;
33fc46e9b643881b7b2ab76854f3a0ac077e9def8dSudheer Shanka    public ComponentName who;
34fc46e9b643881b7b2ab76854f3a0ac077e9def8dSudheer Shanka    public long thisTime;
35fc46e9b643881b7b2ab76854f3a0ac077e9def8dSudheer Shanka    public long totalTime;
36fc46e9b643881b7b2ab76854f3a0ac077e9def8dSudheer Shanka
37fc46e9b643881b7b2ab76854f3a0ac077e9def8dSudheer Shanka    public WaitResult() {
38fc46e9b643881b7b2ab76854f3a0ac077e9def8dSudheer Shanka    }
39fc46e9b643881b7b2ab76854f3a0ac077e9def8dSudheer Shanka
40fc46e9b643881b7b2ab76854f3a0ac077e9def8dSudheer Shanka    @Override
41fc46e9b643881b7b2ab76854f3a0ac077e9def8dSudheer Shanka    public int describeContents() {
42fc46e9b643881b7b2ab76854f3a0ac077e9def8dSudheer Shanka        return 0;
43fc46e9b643881b7b2ab76854f3a0ac077e9def8dSudheer Shanka    }
44fc46e9b643881b7b2ab76854f3a0ac077e9def8dSudheer Shanka
45fc46e9b643881b7b2ab76854f3a0ac077e9def8dSudheer Shanka    @Override
46fc46e9b643881b7b2ab76854f3a0ac077e9def8dSudheer Shanka    public void writeToParcel(Parcel dest, int flags) {
47fc46e9b643881b7b2ab76854f3a0ac077e9def8dSudheer Shanka        dest.writeInt(result);
48fc46e9b643881b7b2ab76854f3a0ac077e9def8dSudheer Shanka        dest.writeInt(timeout ? 1 : 0);
49fc46e9b643881b7b2ab76854f3a0ac077e9def8dSudheer Shanka        ComponentName.writeToParcel(who, dest);
50fc46e9b643881b7b2ab76854f3a0ac077e9def8dSudheer Shanka        dest.writeLong(thisTime);
51fc46e9b643881b7b2ab76854f3a0ac077e9def8dSudheer Shanka        dest.writeLong(totalTime);
52fc46e9b643881b7b2ab76854f3a0ac077e9def8dSudheer Shanka    }
53fc46e9b643881b7b2ab76854f3a0ac077e9def8dSudheer Shanka
54fc46e9b643881b7b2ab76854f3a0ac077e9def8dSudheer Shanka    public static final Parcelable.Creator<WaitResult> CREATOR
55fc46e9b643881b7b2ab76854f3a0ac077e9def8dSudheer Shanka            = new Parcelable.Creator<WaitResult>() {
56fc46e9b643881b7b2ab76854f3a0ac077e9def8dSudheer Shanka        @Override
57fc46e9b643881b7b2ab76854f3a0ac077e9def8dSudheer Shanka        public WaitResult createFromParcel(Parcel source) {
58fc46e9b643881b7b2ab76854f3a0ac077e9def8dSudheer Shanka            return new WaitResult(source);
59fc46e9b643881b7b2ab76854f3a0ac077e9def8dSudheer Shanka        }
60fc46e9b643881b7b2ab76854f3a0ac077e9def8dSudheer Shanka
61fc46e9b643881b7b2ab76854f3a0ac077e9def8dSudheer Shanka        @Override
62fc46e9b643881b7b2ab76854f3a0ac077e9def8dSudheer Shanka        public WaitResult[] newArray(int size) {
63fc46e9b643881b7b2ab76854f3a0ac077e9def8dSudheer Shanka            return new WaitResult[size];
64fc46e9b643881b7b2ab76854f3a0ac077e9def8dSudheer Shanka        }
65fc46e9b643881b7b2ab76854f3a0ac077e9def8dSudheer Shanka    };
66fc46e9b643881b7b2ab76854f3a0ac077e9def8dSudheer Shanka
67fc46e9b643881b7b2ab76854f3a0ac077e9def8dSudheer Shanka    private WaitResult(Parcel source) {
68fc46e9b643881b7b2ab76854f3a0ac077e9def8dSudheer Shanka        result = source.readInt();
69fc46e9b643881b7b2ab76854f3a0ac077e9def8dSudheer Shanka        timeout = source.readInt() != 0;
70fc46e9b643881b7b2ab76854f3a0ac077e9def8dSudheer Shanka        who = ComponentName.readFromParcel(source);
71fc46e9b643881b7b2ab76854f3a0ac077e9def8dSudheer Shanka        thisTime = source.readLong();
72fc46e9b643881b7b2ab76854f3a0ac077e9def8dSudheer Shanka        totalTime = source.readLong();
73fc46e9b643881b7b2ab76854f3a0ac077e9def8dSudheer Shanka    }
744a19438955ab123a2b0862783fd35b8700b06eefBryce Lee
754a19438955ab123a2b0862783fd35b8700b06eefBryce Lee    public void dump(PrintWriter pw, String prefix) {
764a19438955ab123a2b0862783fd35b8700b06eefBryce Lee        pw.println(prefix + "WaitResult:");
774a19438955ab123a2b0862783fd35b8700b06eefBryce Lee        pw.println(prefix + "  result=" + result);
784a19438955ab123a2b0862783fd35b8700b06eefBryce Lee        pw.println(prefix + "  timeout=" + timeout);
794a19438955ab123a2b0862783fd35b8700b06eefBryce Lee        pw.println(prefix + "  who=" + who);
804a19438955ab123a2b0862783fd35b8700b06eefBryce Lee        pw.println(prefix + "  thisTime=" + thisTime);
814a19438955ab123a2b0862783fd35b8700b06eefBryce Lee        pw.println(prefix + "  totalTime=" + totalTime);
824a19438955ab123a2b0862783fd35b8700b06eefBryce Lee    }
83fc46e9b643881b7b2ab76854f3a0ac077e9def8dSudheer Shanka}