com.feedhenry.sdk.Device Maven / Gradle / Ivy
/**
* Copyright Red Hat, Inc, and individual contributors.
*
* 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 com.feedhenry.sdk;
import android.content.Context;
import com.feedhenry.sdk.utils.FHLog;
public class Device {
private static String mDeviceId;
private static String mDeviceName;
private static String mUserAgent;
private static final String MANUFACTURER_FIELD = "MANUFACTURER";
private static final String USER_AGENT_TEMP = "Android %s; %s";
private static final String LOG_TAG = "com.feedhenry.sdk.Device";
/**
* Gets the unique device ID.
*
* @param context Application context
* @return the unique device id
*/
public static String getDeviceId(Context context) {
if (mDeviceId == null) {
mDeviceId = android.provider.Settings.Secure.getString(
context.getContentResolver(),
android.provider.Settings.Secure.ANDROID_ID);
}
return mDeviceId;
}
/**
* Gets the model and manufacturer (if possible) of the device.
*
* @return the model and manufacturer (if found) of the device
*/
public static String getDeviceModelAndManufacturer() {
if (mDeviceName == null) {
String model = android.os.Build.MODEL;
String deviceName = model;
String manufacturer = android.os.Build.MANUFACTURER;
if (manufacturer != null && !manufacturer.isEmpty()) {
deviceName = manufacturer + ' ' + model;
} else {
FHLog.w(LOG_TAG, "Could not retrieve device manufacturer info");
}
mDeviceName = deviceName;
}
return mDeviceName;
}
/**
* Gets the custom user agent string.
*
* @return the custom user agent string
*/
public static String getUserAgent() {
if (mUserAgent == null) {
mUserAgent = String.format(USER_AGENT_TEMP, android.os.Build.VERSION.RELEASE, getDeviceModelAndManufacturer());
FHLog.d(LOG_TAG, "UA = " + mUserAgent);
}
return mUserAgent;
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy