SDL_Android/SmartDeviceLinkAndroidProxy - added the correct version of the proxy
[profile/ivi/smartdevicelink.git] / SDL_Android / SmartDeviceLinkProxyAndroid / src / com / smartdevicelink / trace / TraceDeviceInfo.java
1 /**\r
2  * \r
3  */\r
4 package com.smartdevicelink.trace;\r
5 \r
6 import java.util.Iterator;\r
7 import java.util.Set;\r
8 \r
9 import com.smartdevicelink.util.DebugTool;\r
10 \r
11 import android.bluetooth.BluetoothAdapter;\r
12 import android.bluetooth.BluetoothDevice;\r
13 import android.telephony.TelephonyManager;\r
14 \r
15 /**\r
16  * @author vvolkman\r
17  * \r
18  */\r
19 public class TraceDeviceInfo {\r
20         // http://developer.android.com/guide/topics/data/data-storage.html\r
21 \r
22         private static TelephonyManager m_telephonyManager;\r
23         \r
24         // Constructor\r
25         public TraceDeviceInfo(TelephonyManager telephonyManager) {\r
26                 m_telephonyManager = telephonyManager;\r
27         }\r
28 \r
29         public static void setTelephonyManager(TelephonyManager telephonyManager) {\r
30                 m_telephonyManager = telephonyManager;\r
31         }\r
32 \r
33         public static TelephonyManager getTelephonyManager() {\r
34                 return m_telephonyManager;\r
35         }\r
36 \r
37         // package scoped\r
38         static String getTelephonyHeader() {\r
39                 // Telephony manager can tell us a few things...\r
40                 String info = "";\r
41 \r
42                 if (m_telephonyManager != null) {\r
43                         try { // getDeviceId() requires android.permission.READ_PHONE_STATE\r
44                                 info = "<deviceid>" + m_telephonyManager.getDeviceId() + "</deviceid>";\r
45                         } catch (Exception e1) {\r
46                                 DebugTool.logError("Failure getting telephony device ID: " + e1.toString(), e1);\r
47                         }\r
48         \r
49                         info = "<pt>";\r
50                         switch (m_telephonyManager.getPhoneType()) {\r
51                                 case TelephonyManager.PHONE_TYPE_NONE:\r
52                                         info += "NONE";\r
53                                         break;\r
54                                 case TelephonyManager.PHONE_TYPE_GSM:\r
55                                         info += "GSM";\r
56                                         break;\r
57                                 case TelephonyManager.PHONE_TYPE_CDMA:\r
58                                         info += "CDMA";\r
59                                         break;\r
60                                 default:\r
61                                         info += "UNKNOWN";\r
62                         } // end-switch\r
63         \r
64                         info += "</pt>" + "<nt>";\r
65         \r
66                         switch (m_telephonyManager.getNetworkType()) {\r
67                                 case TelephonyManager.NETWORK_TYPE_UNKNOWN:\r
68                                         info += "UKNOWN";\r
69                                         break;\r
70                                 case TelephonyManager.NETWORK_TYPE_GPRS:\r
71                                         info += "GPRS";\r
72                                         break;\r
73                                 case TelephonyManager.NETWORK_TYPE_EDGE:\r
74                                         info += "EDGE";\r
75                                         break;\r
76                                 case TelephonyManager.NETWORK_TYPE_UMTS:\r
77                                         info += "UMTS";\r
78                                         break;\r
79                                 case TelephonyManager.NETWORK_TYPE_HSDPA:\r
80                                         info += "HSDPA";\r
81                                         break;\r
82                                 case TelephonyManager.NETWORK_TYPE_HSUPA:\r
83                                         info += "HSUPA";\r
84                                         break;\r
85                                 case TelephonyManager.NETWORK_TYPE_HSPA:\r
86                                         info += "HSPA";\r
87                                         break;\r
88                                 case TelephonyManager.NETWORK_TYPE_CDMA:\r
89                                         info += "CDMA";\r
90                                         break;\r
91                                 case TelephonyManager.NETWORK_TYPE_EVDO_0:\r
92                                         info += "EVDO_O";\r
93                                         break;\r
94                                 case TelephonyManager.NETWORK_TYPE_EVDO_A:\r
95                                         info += "EVDO_A";\r
96                                         break;\r
97                                 case TelephonyManager.NETWORK_TYPE_1xRTT:\r
98                                         info += "1xRTT";\r
99                                         break;\r
100                                 default:\r
101                                         info += "UNKNOWN";\r
102                                         break;\r
103                         } // end-switch\r
104         \r
105                         info += "</nt>";\r
106                 } // end-if\r
107                 return info;\r
108         } // end-method\r
109 \r
110         // Package scoped\r
111         static String getLogHeaderBluetoothPairs() {\r
112                 Set<BluetoothDevice> btDevices = BluetoothAdapter.getDefaultAdapter()\r
113                                 .getBondedDevices();\r
114 \r
115                 StringBuilder write = new StringBuilder("<btpairs>");\r
116                 Iterator<BluetoothDevice> iter = btDevices.iterator();\r
117                 while (iter.hasNext()) {\r
118                         write.append(SmartDeviceLinkTrace.getBTDeviceInfo(iter.next()));\r
119                 }\r
120                 write.append("</btpairs>");\r
121 \r
122                 return write.toString();\r
123         } // end-method\r
124 } // end-class