diff options
author | Mike Dodd <mdodd@google.com> | 2015-08-11 11:16:59 -0700 |
---|---|---|
committer | Mike Dodd <mdodd@google.com> | 2015-08-12 08:58:28 -0700 |
commit | 461a34b466cb4b13dbbc2ec6330b31e217b2ac4e (patch) | |
tree | bc4b489af52d0e2521e21167d2ad76a47256f348 /src/android/support/v7/mms/DefaultUserAgentInfoLoader.java | |
parent | 8b3e2b9c1b0a09423a7ba5d1091b9192106502f8 (diff) | |
download | android_packages_apps_Messaging-461a34b466cb4b13dbbc2ec6330b31e217b2ac4e.tar.gz android_packages_apps_Messaging-461a34b466cb4b13dbbc2ec6330b31e217b2ac4e.tar.bz2 android_packages_apps_Messaging-461a34b466cb4b13dbbc2ec6330b31e217b2ac4e.zip |
Initial checkin of AOSP Messaging app.
b/23110861
Change-Id: I9aa980d7569247d6b2ca78f5dcb4502e1eaadb8a
Diffstat (limited to 'src/android/support/v7/mms/DefaultUserAgentInfoLoader.java')
-rw-r--r-- | src/android/support/v7/mms/DefaultUserAgentInfoLoader.java | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/src/android/support/v7/mms/DefaultUserAgentInfoLoader.java b/src/android/support/v7/mms/DefaultUserAgentInfoLoader.java new file mode 100644 index 0000000..e59a234 --- /dev/null +++ b/src/android/support/v7/mms/DefaultUserAgentInfoLoader.java @@ -0,0 +1,88 @@ +/* + * Copyright (C) 2015 The Android Open Source Project + * + * 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 android.support.v7.mms; + +import android.content.Context; +import android.telephony.TelephonyManager; +import android.text.TextUtils; +import android.util.Log; + +/** + * The default implementation of loader of UA and UAProfUrl + */ +class DefaultUserAgentInfoLoader implements UserAgentInfoLoader { + // Default values to be used as user agent info + private static final String DEFAULT_USER_AGENT = "Android MmsLib/1.0"; + private static final String DEFAULT_UA_PROF_URL = + "http://www.gstatic.com/android/sms/mms_ua_profile.xml"; + + private Context mContext; + private boolean mLoaded; + + private String mUserAgent; + private String mUAProfUrl; + + DefaultUserAgentInfoLoader(final Context context) { + mContext = context; + } + + @Override + public String getUserAgent() { + load(); + return mUserAgent; + } + + @Override + public String getUAProfUrl() { + load(); + return mUAProfUrl; + } + + private void load() { + if (mLoaded) { + return; + } + boolean didLoad = false; + synchronized (this) { + if (!mLoaded) { + loadLocked(); + mLoaded = true; + didLoad = true; + } + } + if (didLoad) { + Log.i(MmsService.TAG, "Loaded user agent info: " + + "UA=" + mUserAgent + ", UAProfUrl=" + mUAProfUrl); + } + } + + private void loadLocked() { + if (Utils.hasUserAgentApi()) { + // load the MMS User agent and UaProfUrl from TelephonyManager APIs + final TelephonyManager telephonyManager = (TelephonyManager) mContext.getSystemService( + Context.TELEPHONY_SERVICE); + mUserAgent = telephonyManager.getMmsUserAgent(); + mUAProfUrl = telephonyManager.getMmsUAProfUrl(); + } + if (TextUtils.isEmpty(mUserAgent)) { + mUserAgent = DEFAULT_USER_AGENT; + } + if (TextUtils.isEmpty(mUAProfUrl)) { + mUAProfUrl = DEFAULT_UA_PROF_URL; + } + } +} |