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