package com.fruit.launcher; import java.net.URISyntaxException; import android.content.Intent; import android.graphics.Bitmap; import android.graphics.Canvas; import android.graphics.Paint; public class CueNumber { public String mCueNum; public boolean mbNumber; public int mMonitorType; public static final String CUE_MAX = "N"; public static final double CUE_YPERCENT = 0.68; private static final String URI_MMS = "#Intent;" + "action=android.intent.action.MAIN;" + "category=android.intent.category.LAUNCHER;" + "launchFlags=0x10200000;" + "component=com.android.mms/.ui.ConversationList" + ";end"; private static final String URI_PHONE = "#Intent;" + "action=android.intent.action.MAIN;" + "category=android.intent.category.LAUNCHER;" + "launchFlags=0x10200000;" + "component=com.android.contacts/.DialtactsActivity" + ";end"; private static final String URI_UPDATE = "#Intent;" + "action=android.intent.action.MAIN;" + "category=android.intent.category.LAUNCHER;" + "launchFlags=0x10200000;" + "component=com.android.contacts/.DialtactsActivity" + ";end"; public void drawCueNumber(Canvas canvas, Paint mPaint, int w, int h, Bitmap mCueBitmap) { final Paint paint = mPaint; final Bitmap cueIcon = mCueBitmap; final String cueText = mCueNum; if (cueText != null && cueIcon != null) { int top = h - cueIcon.getHeight()*15/8; int left = w - cueIcon.getWidth()*11/8; float textWidth = paint.measureText(cueText); canvas.drawBitmap(cueIcon, left, top, null); canvas.drawText(cueText, (left + (cueIcon.getWidth() - textWidth) / 2), (float) (top + cueIcon.getHeight() * CUE_YPERCENT), paint); } } public void setCueNumber(int number) { if (number <= 0) { mCueNum = null; return; } else if (number >= 100) { mCueNum = new String(CUE_MAX); } else { mCueNum = String.valueOf(number); } // invalidate(); } public int getMonitorType(Intent intent) { int type = LauncherMonitor.MONITOR_NONE; try { if (intent.filterEquals(Intent.parseUri(URI_MMS, 0))) { type = LauncherMonitor.MONITOR_MESSAGE; } else if (intent.filterEquals(Intent.parseUri(URI_PHONE, 0))) { type = LauncherMonitor.MONITOR_PHONE; } else if (intent.filterEquals(Intent.parseUri(URI_UPDATE, 0))) { type = LauncherMonitor.MONITOR_UPDATE; } } catch (URISyntaxException e) { // TODO Auto-generated catch block e.printStackTrace(); } return type; } }