/** * $RCSfile: ,v $ * $Revision: $ * $Date: $ * * Copyright (C) 2004-2011 Jive Software. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package net.java.sipmack.softphone; import net.java.sipmack.sip.event.MessageEvent; import org.jivesoftware.resource.SparkRes; import javax.sip.message.Request; import javax.swing.JLabel; import javax.swing.JPanel; import java.awt.Color; import java.awt.Font; import java.awt.GridBagConstraints; import java.awt.GridBagLayout; import java.awt.Insets; public class VoiceMail { Request request = null; private String read = ""; private String unread = ""; public VoiceMail(MessageEvent evt) { String body = evt.getBody(); String match = "Voice-Message:"; int a = body.indexOf(match); if (a > 0) { a += match.length(); int b = body.indexOf("\n", a); String msgs[] = body.substring(a, b - 1).trim().split("\\(")[0] .split("/"); unread = msgs[0].trim(); read = msgs[1].trim(); } } public String getRead() { return read; } public String getUnread() { return unread; } public JPanel getToaster() { JPanel toaster = new JPanel(); toaster.setLayout(new GridBagLayout()); toaster.setBackground(Color.white); JLabel newVoiceMail = new JLabel(); JLabel oldVoiceMail = new JLabel(); newVoiceMail.setFont(new Font("Dialog", Font.BOLD, 15)); newVoiceMail.setHorizontalAlignment(JLabel.CENTER); newVoiceMail.setText("New: " + this.getUnread()); oldVoiceMail.setFont(new Font("Dialog", Font.PLAIN, 15)); oldVoiceMail.setHorizontalAlignment(JLabel.CENTER); oldVoiceMail.setText("Old: " + this.getRead()); final JLabel phoneImage = new JLabel(SparkRes .getImageIcon(SparkRes.MAIL_IMAGE_32x32)); phoneImage.setHorizontalAlignment(JLabel.CENTER); phoneImage.setVerticalTextPosition(JLabel.BOTTOM); phoneImage.setHorizontalTextPosition(JLabel.CENTER); phoneImage.setText("Voice Mails"); phoneImage.setFont(new Font("Dialog", Font.BOLD, 16)); toaster.add(phoneImage, new GridBagConstraints(0, 0, 1, 1, 1.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, new Insets(5, 10, 0, 10), 0, 0)); toaster.add(newVoiceMail, new GridBagConstraints(0, 1, 1, 1, 1.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(2, 0, 0, 0), 0, 0)); toaster.add(oldVoiceMail, new GridBagConstraints(0, 2, 1, 1, 1.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(2, 0, 10, 0), 0, 0)); return toaster; } }