diff options
Diffstat (limited to 'src/com/android/settings/cmstats/Utilities.java')
-rw-r--r-- | src/com/android/settings/cmstats/Utilities.java | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/src/com/android/settings/cmstats/Utilities.java b/src/com/android/settings/cmstats/Utilities.java new file mode 100644 index 0000000..496f398 --- /dev/null +++ b/src/com/android/settings/cmstats/Utilities.java @@ -0,0 +1,78 @@ +/* + * Copyright (C) 2012 The CyanogenMod 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 com.android.settings.cmstats; + +import android.content.Context; +import android.os.SystemProperties; +import android.provider.Settings; +import android.telephony.TelephonyManager; +import android.text.TextUtils; + +import java.math.BigInteger; +import java.net.NetworkInterface; +import java.security.MessageDigest; + +public class Utilities { + public static String getUniqueID(Context context) { + final String id = Settings.Secure.getString(context.getContentResolver(), Settings.Secure.ANDROID_ID); + return digest(context.getPackageName() + id); + } + + public static String getCarrier(Context context) { + TelephonyManager tm = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE); + String carrier = tm.getNetworkOperatorName(); + if (TextUtils.isEmpty(carrier)) { + carrier = "Unknown"; + } + return carrier; + } + + public static String getCarrierId(Context context) { + TelephonyManager tm = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE); + String carrierId = tm.getNetworkOperator(); + if (TextUtils.isEmpty(carrierId)) { + carrierId = "0"; + } + return carrierId; + } + + public static String getCountryCode(Context context) { + TelephonyManager tm = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE); + String countryCode = tm.getNetworkCountryIso(); + if (TextUtils.isEmpty(countryCode)) { + countryCode = "Unknown"; + } + return countryCode; + } + + public static String getDevice() { + return SystemProperties.get("ro.cm.device"); + } + + public static String getModVersion() { + return SystemProperties.get("ro.cm.version"); + } + + public static String digest(String input) { + try { + MessageDigest md = MessageDigest.getInstance("MD5"); + return new BigInteger(1, md.digest(input.getBytes())).toString(16).toUpperCase(); + } catch (Exception e) { + return null; + } + } +} |