Notify.java :  » UnTagged » androidgin » person » bangbang » im » Androidgin » Android Open Source

Android Open Source » UnTagged » androidgin 
androidgin » person » bangbang » im » Androidgin » Notify.java
package person.bangbang.im.Androidgin;

import person.bangbang.im.Androidgin.R;
import person.bangbang.im.Androidgin.Framework.Message;
import person.bangbang.im.Androidgin.UI.ChatActivity;
import person.bangbang.im.Androidgin.UI.ContactList;
import person.bangbang.im.Androidgin.Util.Log;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;

/**
 * a helper notify tools.
 *
 */
public class Notify {
  public static final int TYPE_MESSAGE = 1; //  Message notification.

  public static final int TYPE_EMAIL = 2; //  Single email notification.

  public static final int TYPE_EMAILS = 3; //  Multiple email notification.

  public static final int TYPE_FORMATTED = 4; //  Formatted text.

  public static final int TYPE_SEARCHRESULTS =5; //  Buddy search results.

  public static final int TYPE_USERINFO = 6; //  Formatted userinfo text.

  public static final int TYPE_URI = 7; //  URI notification or display. 
  
  public static final int SUBTYPE_MSG_ERROR = 0; //  Error notification.

  public static final int SUBTYPE_MSG_WARNING = 1; //  Warning notification.

  public static final int SUBTYPE_MSG_INFO =2; //  Information notification. 
  
  public void notifyEmail(){
    throw new RuntimeException("umimplemented..");
  }
  
  public void notifyMsg(String title, String primary, String secondary, int type, int notifyId) {
    throw new RuntimeException("umimplemented..");
  }
  public void notifyMsg(Message msg, int notifyId) {
       int res = R.drawable.tray_new_im;
    String mFormatNotifyString = mCon.getResources().getString(R.string.notify_title_format);

    Notification n = new Notification(res, msg.getMessage(), System.currentTimeMillis());
    n.flags |= Notification.FLAG_AUTO_CANCEL;
    Intent fireActivity = new Intent(mCon, ChatActivity.class);
    fireActivity.putExtra(ContactList.CHAT_BUDDY_ID, msg.getFrom().getID());
    
    PendingIntent p = PendingIntent.getActivity(mCon, 
                                            0, 
                                            fireActivity, 
                                            PendingIntent.FLAG_UPDATE_CURRENT|PendingIntent.FLAG_ONE_SHOT);
    n.setLatestEventInfo(mCon, 
              String.format(mFormatNotifyString, msg.getFrom().getUserName()), 
              msg.getMessage(), 
              p
              );
    
    mNm.notify(notifyId, n);

  }

  private NotificationManager mNm;
  private static Notify _instance;
  private Context mCon;
  private Notify(Context con) {
    mCon = con;
    mNm = (NotificationManager) con.getSystemService(Context.NOTIFICATION_SERVICE);
  }
  public static Notify getInstance(Context con) {
    if (null == _instance) {
      _instance = new Notify(con);
    }
    
    return _instance;
  }
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.