1ab48b681401628a191a4a90d4906fa88edde95baMichael Jurka/*
2ab48b681401628a191a4a90d4906fa88edde95baMichael Jurka * Copyright (C) 2011 The Android Open Source Project
3ab48b681401628a191a4a90d4906fa88edde95baMichael Jurka *
4ab48b681401628a191a4a90d4906fa88edde95baMichael Jurka * Licensed under the Apache License, Version 2.0 (the "License");
5ab48b681401628a191a4a90d4906fa88edde95baMichael Jurka * you may not use this file except in compliance with the License.
6ab48b681401628a191a4a90d4906fa88edde95baMichael Jurka * You may obtain a copy of the License at
7ab48b681401628a191a4a90d4906fa88edde95baMichael Jurka *
8ab48b681401628a191a4a90d4906fa88edde95baMichael Jurka *      http://www.apache.org/licenses/LICENSE-2.0
9ab48b681401628a191a4a90d4906fa88edde95baMichael Jurka *
10ab48b681401628a191a4a90d4906fa88edde95baMichael Jurka * Unless required by applicable law or agreed to in writing, software
11ab48b681401628a191a4a90d4906fa88edde95baMichael Jurka * distributed under the License is distributed on an "AS IS" BASIS,
12ab48b681401628a191a4a90d4906fa88edde95baMichael Jurka * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13ab48b681401628a191a4a90d4906fa88edde95baMichael Jurka * See the License for the specific language governing permissions and
14ab48b681401628a191a4a90d4906fa88edde95baMichael Jurka * limitations under the License.
15ab48b681401628a191a4a90d4906fa88edde95baMichael Jurka */
16ab48b681401628a191a4a90d4906fa88edde95baMichael Jurka
17ab48b681401628a191a4a90d4906fa88edde95baMichael Jurkapackage com.android.systemui.recent;
18ab48b681401628a191a4a90d4906fa88edde95baMichael Jurka
19ab48b681401628a191a4a90d4906fa88edde95baMichael Jurkaimport android.content.Intent;
20ab48b681401628a191a4a90d4906fa88edde95baMichael Jurkaimport android.content.pm.ResolveInfo;
21ab48b681401628a191a4a90d4906fa88edde95baMichael Jurkaimport android.graphics.Bitmap;
22ab48b681401628a191a4a90d4906fa88edde95baMichael Jurkaimport android.graphics.drawable.Drawable;
23ab48b681401628a191a4a90d4906fa88edde95baMichael Jurka
24ab48b681401628a191a4a90d4906fa88edde95baMichael Jurkapublic final class TaskDescription {
25ab48b681401628a191a4a90d4906fa88edde95baMichael Jurka    final ResolveInfo resolveInfo;
26ab48b681401628a191a4a90d4906fa88edde95baMichael Jurka    final int taskId; // application task id for curating apps
27ab48b681401628a191a4a90d4906fa88edde95baMichael Jurka    final int persistentTaskId; // persistent id
28ab48b681401628a191a4a90d4906fa88edde95baMichael Jurka    final Intent intent; // launch intent for application
29ab48b681401628a191a4a90d4906fa88edde95baMichael Jurka    final String packageName; // used to override animations (see onClick())
30ab48b681401628a191a4a90d4906fa88edde95baMichael Jurka    final CharSequence description;
31ab48b681401628a191a4a90d4906fa88edde95baMichael Jurka
32ab48b681401628a191a4a90d4906fa88edde95baMichael Jurka    private Bitmap mThumbnail; // generated by Activity.onCreateThumbnail()
33ab48b681401628a191a4a90d4906fa88edde95baMichael Jurka    private Drawable mIcon; // application package icon
34ab48b681401628a191a4a90d4906fa88edde95baMichael Jurka    private CharSequence mLabel; // application package label
3599a9655b9333c3bff6e462b12baa56a5fcd4cb20Michael Jurka    private boolean mLoaded;
36ab48b681401628a191a4a90d4906fa88edde95baMichael Jurka
37ab48b681401628a191a4a90d4906fa88edde95baMichael Jurka    public TaskDescription(int _taskId, int _persistentTaskId,
38ab48b681401628a191a4a90d4906fa88edde95baMichael Jurka            ResolveInfo _resolveInfo, Intent _intent,
39ab48b681401628a191a4a90d4906fa88edde95baMichael Jurka            String _packageName, CharSequence _description) {
40ab48b681401628a191a4a90d4906fa88edde95baMichael Jurka        resolveInfo = _resolveInfo;
41ab48b681401628a191a4a90d4906fa88edde95baMichael Jurka        intent = _intent;
42ab48b681401628a191a4a90d4906fa88edde95baMichael Jurka        taskId = _taskId;
43ab48b681401628a191a4a90d4906fa88edde95baMichael Jurka        persistentTaskId = _persistentTaskId;
44ab48b681401628a191a4a90d4906fa88edde95baMichael Jurka
45ab48b681401628a191a4a90d4906fa88edde95baMichael Jurka        description = _description;
46ab48b681401628a191a4a90d4906fa88edde95baMichael Jurka        packageName = _packageName;
47ab48b681401628a191a4a90d4906fa88edde95baMichael Jurka    }
48ab48b681401628a191a4a90d4906fa88edde95baMichael Jurka
4999a9655b9333c3bff6e462b12baa56a5fcd4cb20Michael Jurka    public TaskDescription() {
5099a9655b9333c3bff6e462b12baa56a5fcd4cb20Michael Jurka        resolveInfo = null;
5199a9655b9333c3bff6e462b12baa56a5fcd4cb20Michael Jurka        intent = null;
5299a9655b9333c3bff6e462b12baa56a5fcd4cb20Michael Jurka        taskId = -1;
5399a9655b9333c3bff6e462b12baa56a5fcd4cb20Michael Jurka        persistentTaskId = -1;
5499a9655b9333c3bff6e462b12baa56a5fcd4cb20Michael Jurka
5599a9655b9333c3bff6e462b12baa56a5fcd4cb20Michael Jurka        description = null;
5699a9655b9333c3bff6e462b12baa56a5fcd4cb20Michael Jurka        packageName = null;
5799a9655b9333c3bff6e462b12baa56a5fcd4cb20Michael Jurka    }
5899a9655b9333c3bff6e462b12baa56a5fcd4cb20Michael Jurka
5999a9655b9333c3bff6e462b12baa56a5fcd4cb20Michael Jurka    public void setLoaded(boolean loaded) {
6099a9655b9333c3bff6e462b12baa56a5fcd4cb20Michael Jurka        mLoaded = loaded;
6199a9655b9333c3bff6e462b12baa56a5fcd4cb20Michael Jurka    }
6299a9655b9333c3bff6e462b12baa56a5fcd4cb20Michael Jurka
6399a9655b9333c3bff6e462b12baa56a5fcd4cb20Michael Jurka    public boolean isLoaded() {
6499a9655b9333c3bff6e462b12baa56a5fcd4cb20Michael Jurka        return mLoaded;
6599a9655b9333c3bff6e462b12baa56a5fcd4cb20Michael Jurka    }
6699a9655b9333c3bff6e462b12baa56a5fcd4cb20Michael Jurka
6799a9655b9333c3bff6e462b12baa56a5fcd4cb20Michael Jurka    public boolean isNull() {
6899a9655b9333c3bff6e462b12baa56a5fcd4cb20Michael Jurka        return resolveInfo == null;
6999a9655b9333c3bff6e462b12baa56a5fcd4cb20Michael Jurka    }
7099a9655b9333c3bff6e462b12baa56a5fcd4cb20Michael Jurka
71ab48b681401628a191a4a90d4906fa88edde95baMichael Jurka    // mark all these as locked?
72ab48b681401628a191a4a90d4906fa88edde95baMichael Jurka    public CharSequence getLabel() {
73ab48b681401628a191a4a90d4906fa88edde95baMichael Jurka        return mLabel;
74ab48b681401628a191a4a90d4906fa88edde95baMichael Jurka    }
75ab48b681401628a191a4a90d4906fa88edde95baMichael Jurka
76ab48b681401628a191a4a90d4906fa88edde95baMichael Jurka    public void setLabel(CharSequence label) {
77ab48b681401628a191a4a90d4906fa88edde95baMichael Jurka        mLabel = label;
78ab48b681401628a191a4a90d4906fa88edde95baMichael Jurka    }
79ab48b681401628a191a4a90d4906fa88edde95baMichael Jurka
80ab48b681401628a191a4a90d4906fa88edde95baMichael Jurka    public Drawable getIcon() {
81ab48b681401628a191a4a90d4906fa88edde95baMichael Jurka        return mIcon;
82ab48b681401628a191a4a90d4906fa88edde95baMichael Jurka    }
83ab48b681401628a191a4a90d4906fa88edde95baMichael Jurka
84ab48b681401628a191a4a90d4906fa88edde95baMichael Jurka    public void setIcon(Drawable icon) {
85ab48b681401628a191a4a90d4906fa88edde95baMichael Jurka        mIcon = icon;
86ab48b681401628a191a4a90d4906fa88edde95baMichael Jurka    }
87ab48b681401628a191a4a90d4906fa88edde95baMichael Jurka
88ab48b681401628a191a4a90d4906fa88edde95baMichael Jurka    public void setThumbnail(Bitmap thumbnail) {
89ab48b681401628a191a4a90d4906fa88edde95baMichael Jurka        mThumbnail = thumbnail;
90ab48b681401628a191a4a90d4906fa88edde95baMichael Jurka    }
91ab48b681401628a191a4a90d4906fa88edde95baMichael Jurka
92ab48b681401628a191a4a90d4906fa88edde95baMichael Jurka    public Bitmap getThumbnail() {
93ab48b681401628a191a4a90d4906fa88edde95baMichael Jurka        return mThumbnail;
94ab48b681401628a191a4a90d4906fa88edde95baMichael Jurka    }
95ab48b681401628a191a4a90d4906fa88edde95baMichael Jurka}
96