10825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville/* 20825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Copyright (C) 2010 The Android Open Source Project 30825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 40825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Licensed under the Apache License, Version 2.0 (the "License"); 50825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * you may not use this file except in compliance with the License. 60825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * You may obtain a copy of the License at 70825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 80825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * http://www.apache.org/licenses/LICENSE-2.0 90825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Unless required by applicable law or agreed to in writing, software 110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * distributed under the License is distributed on an "AS IS" BASIS, 120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * See the License for the specific language governing permissions and 140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * limitations under the License. 150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 170825495a331bb44df395a0cdb79fab85e68db5d5Wink Savillepackage com.android.internal.telephony.sip; 180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 190825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport com.android.internal.telephony.PhoneNotifier; 200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 210825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport android.content.Context; 220825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport android.net.sip.SipProfile; 2399c2e1d6749cfad2a8ca94a47857d8c3bfc09454Wink Savilleimport android.telephony.Rlog; 240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 250825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport java.text.ParseException; 260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville/** 280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * {@hide} 290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 300825495a331bb44df395a0cdb79fab85e68db5d5Wink Savillepublic class SipPhoneFactory { 310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Makes a {@link SipPhone} object. 330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param sipUri the local SIP URI the phone runs on 340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param context {@code Context} needed to create a Phone object 350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param phoneNotifier {@code PhoneNotifier} needed to create a Phone 360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * object 370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @return the {@code SipPhone} object or null if the SIP URI is not valid 380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static SipPhone makePhone(String sipUri, Context context, 400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville PhoneNotifier phoneNotifier) { 410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville try { 420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville SipProfile profile = new SipProfile.Builder(sipUri).build(); 430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return new SipPhone(context, phoneNotifier, profile); 440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } catch (ParseException e) { 4599c2e1d6749cfad2a8ca94a47857d8c3bfc09454Wink Saville Rlog.w("SipPhoneFactory", "makePhone", e); 460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return null; 470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville} 50