Browse Source

Add exception handler to context analyser

master
Chris Smith 14 years ago
parent
commit
122539360d

BIN
code/ContextAnalyser/dist/ContextAnalyser.apk View File


+ 19
- 0
code/ContextAnalyser/src/uk/co/md87/android/contextanalyser/ContextAnalyserService.java View File

24
 
24
 
25
 import android.app.Service;
25
 import android.app.Service;
26
 import android.content.Intent;
26
 import android.content.Intent;
27
+import android.content.pm.PackageManager.NameNotFoundException;
27
 import android.location.Address;
28
 import android.location.Address;
28
 import android.location.Geocoder;
29
 import android.location.Geocoder;
29
 import android.location.Location;
30
 import android.location.Location;
30
 import android.os.Handler;
31
 import android.os.Handler;
31
 import android.os.IBinder;
32
 import android.os.IBinder;
33
+import android.telephony.TelephonyManager;
32
 import android.util.Log;
34
 import android.util.Log;
33
 import com.flurry.android.FlurryAgent;
35
 import com.flurry.android.FlurryAgent;
34
 
36
 
39
 import java.util.LinkedList;
41
 import java.util.LinkedList;
40
 import java.util.List;
42
 import java.util.List;
41
 import java.util.Map;
43
 import java.util.Map;
44
+import uk.co.md87.android.common.ExceptionHandler;
42
 
45
 
43
 import uk.co.md87.android.common.ModelReader;
46
 import uk.co.md87.android.common.ModelReader;
44
 import uk.co.md87.android.common.accel.AccelReaderFactory;
47
 import uk.co.md87.android.common.accel.AccelReaderFactory;
105
     public void onCreate() {
108
     public void onCreate() {
106
         super.onCreate();
109
         super.onCreate();
107
 
110
 
111
+        Thread.setDefaultUncaughtExceptionHandler(
112
+                new ExceptionHandler("ContextAnalyser",
113
+                "http://chris.smith.name/android/upload", getVersionName(), getIMEI()));
114
+
108
         locationMonitor = new LocationMonitorFactory().getMonitor(this);
115
         locationMonitor = new LocationMonitorFactory().getMonitor(this);
109
 
116
 
110
         aggregator = new AutoAggregatorFactory().getAutoAggregator(this, handler,
117
         aggregator = new AutoAggregatorFactory().getAutoAggregator(this, handler,
119
 
126
 
120
         FlurryAgent.onStartSession(this, "MKB8YES3C6CFB86PXYXK");
127
         FlurryAgent.onStartSession(this, "MKB8YES3C6CFB86PXYXK");
121
     }
128
     }
129
+
130
+    public String getVersionName() {
131
+        try {
132
+            return getPackageManager().getPackageInfo(getPackageName(), 0).versionName;
133
+        } catch (NameNotFoundException ex) {
134
+            return "Unknown";
135
+        }
136
+    }
137
+
138
+    public String getIMEI() {
139
+        return ((TelephonyManager) getSystemService(TELEPHONY_SERVICE)).getDeviceId();
140
+    }
122
     
141
     
123
     public void poll() {
142
     public void poll() {
124
         handler.postDelayed(scheduleRunnable, POLLING_DELAY);
143
         handler.postDelayed(scheduleRunnable, POLLING_DELAY);

Loading…
Cancel
Save