diff options
Diffstat (limited to 'emailcommon/src/com/android/emailcommon/Device.java')
-rw-r--r-- | emailcommon/src/com/android/emailcommon/Device.java | 109 |
1 files changed, 0 insertions, 109 deletions
diff --git a/emailcommon/src/com/android/emailcommon/Device.java b/emailcommon/src/com/android/emailcommon/Device.java deleted file mode 100644 index a93a17a2e..000000000 --- a/emailcommon/src/com/android/emailcommon/Device.java +++ /dev/null @@ -1,109 +0,0 @@ -/* - /* - * Copyright (C) 2011 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 com.android.emailcommon; - -import com.android.emailcommon.utility.Utility; - -import android.content.Context; -import android.telephony.TelephonyManager; -import android.util.Log; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; - -public class Device { - private static String sDeviceId = null; - - /** - * EAS requires a unique device id, so that sync is possible from a variety of different - * devices (e.g. the syncKey is specific to a device) If we're on an emulator or some other - * device that doesn't provide one, we can create it as android<n> where <n> is system time. - * This would work on a real device as well, but it would be better to use the "real" id if - * it's available - */ - static public synchronized String getDeviceId(Context context) throws IOException { - if (sDeviceId == null) { - sDeviceId = getDeviceIdInternal(context); - } - return sDeviceId; - } - - static private String getDeviceIdInternal(Context context) throws IOException { - if (context == null) { - throw new IllegalStateException("getDeviceId requires a Context"); - } - File f = context.getFileStreamPath("deviceName"); - BufferedReader rdr = null; - String id; - if (f.exists()) { - if (f.canRead()) { - rdr = new BufferedReader(new FileReader(f), 128); - id = rdr.readLine(); - rdr.close(); - // STOPSHIP Remove logging - Log.w(Logging.LOG_TAG, "deviceId read as: " + id); - return id; - } else { - Log.w(Logging.LOG_TAG, f.getAbsolutePath() + ": File exists, but can't read?" + - " Trying to remove."); - if (!f.delete()) { - Log.w(Logging.LOG_TAG, "Remove failed. Tring to overwrite."); - } - } - } - BufferedWriter w = new BufferedWriter(new FileWriter(f), 128); - final String consistentDeviceId = getConsistentDeviceId(context); - if (consistentDeviceId != null) { - // Use different prefix from random IDs. - id = "androidc" + consistentDeviceId; - } else { - id = "android" + System.currentTimeMillis(); - } - w.write(id); - w.close(); - // STOPSHIP Remove logging - Log.w(Logging.LOG_TAG, "deviceId written as: " + id); - return id; - } - - /** - * @return Device's unique ID if available. null if the device has no unique ID. - */ - public static String getConsistentDeviceId(Context context) { - final String deviceId; - try { - TelephonyManager tm = - (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE); - if (tm == null) { - return null; - } - deviceId = tm.getDeviceId(); - if (deviceId == null) { - return null; - } - } catch (Exception e) { - Log.d(Logging.LOG_TAG, "Error in TelephonyManager.getDeviceId(): " + e.getMessage()); - return null; - } - return Utility.getSmallHash(deviceId); - } -} |