107 lines
2.7 KiB
Java
107 lines
2.7 KiB
Java
package com.android.server.status;
|
|
|
|
import android.util.Log;
|
|
|
|
public class IconData {
|
|
/**
|
|
* Indicates ths item represents a piece of text.
|
|
*/
|
|
public static final int TEXT = 1;
|
|
|
|
/**
|
|
* Indicates ths item represents an icon.
|
|
*/
|
|
public static final int ICON = 2;
|
|
|
|
/**
|
|
* The type of this item. One of TEXT, ICON, or LEVEL_ICON.
|
|
*/
|
|
public int type;
|
|
|
|
/**
|
|
* The slot that this icon will be in if it is not a notification
|
|
*/
|
|
public String slot;
|
|
|
|
/**
|
|
* The package containting the icon to draw for this item. Valid if this is
|
|
* an ICON type.
|
|
*/
|
|
public String iconPackage;
|
|
|
|
/**
|
|
* The icon to draw for this item. Valid if this is an ICON type.
|
|
*/
|
|
public int iconId;
|
|
|
|
/**
|
|
* The level associated with the icon. Valid if this is a LEVEL_ICON type.
|
|
*/
|
|
public int iconLevel;
|
|
|
|
/**
|
|
* The "count" number.
|
|
*/
|
|
public int number;
|
|
|
|
/**
|
|
* The text associated with the icon. Valid if this is a TEXT type.
|
|
*/
|
|
public CharSequence text;
|
|
|
|
private IconData() {
|
|
}
|
|
|
|
public static IconData makeIcon(String slot,
|
|
String iconPackage, int iconId, int iconLevel, int number) {
|
|
IconData data = new IconData();
|
|
data.type = ICON;
|
|
data.slot = slot;
|
|
data.iconPackage = iconPackage;
|
|
data.iconId = iconId;
|
|
data.iconLevel = iconLevel;
|
|
data.number = number;
|
|
return data;
|
|
}
|
|
|
|
public static IconData makeText(String slot, CharSequence text) {
|
|
IconData data = new IconData();
|
|
data.type = TEXT;
|
|
data.slot = slot;
|
|
data.text = text;
|
|
return data;
|
|
}
|
|
|
|
public void copyFrom(IconData that) {
|
|
this.type = that.type;
|
|
this.slot = that.slot;
|
|
this.iconPackage = that.iconPackage;
|
|
this.iconId = that.iconId;
|
|
this.iconLevel = that.iconLevel;
|
|
this.number = that.number;
|
|
this.text = that.text; // should we clone this?
|
|
}
|
|
|
|
public IconData clone() {
|
|
IconData that = new IconData();
|
|
that.copyFrom(this);
|
|
return that;
|
|
}
|
|
|
|
public String toString() {
|
|
if (this.type == TEXT) {
|
|
return "IconData(slot=" + (this.slot != null ? "'" + this.slot + "'" : "null")
|
|
+ " text='" + this.text + "')";
|
|
}
|
|
else if (this.type == ICON) {
|
|
return "IconData(slot=" + (this.slot != null ? "'" + this.slot + "'" : "null")
|
|
+ " package=" + this.iconPackage
|
|
+ " iconId=" + Integer.toHexString(this.iconId)
|
|
+ " iconLevel=" + this.iconLevel + ")";
|
|
}
|
|
else {
|
|
return "IconData(type=" + type + ")";
|
|
}
|
|
}
|
|
}
|