Fix ANR in multidexlegacytestservices.

Continuous testing showed that the test is flaky because of ANR caused by too
long computation in onCreate(). So this change move computation in another
thread to free the main thread.

Change-Id: I2ecff3f3e659ff092dd4c7c230c35be4a5742c4b
This commit is contained in:
Yohann Roussel
2014-05-20 16:11:54 +02:00
parent b503d782f5
commit affa8a4736

View File

@@ -31,7 +31,7 @@ import java.io.RandomAccessFile;
* Empty service for testing legacy multidex. Access more than 64k methods but some are required at
* init, some only at verification and others during execution.
*/
public abstract class AbstractService extends Service {
public abstract class AbstractService extends Service implements Runnable {
private final String TAG = "MultidexLegacyTestService" + getId();
private int instanceFieldNotInited;
@@ -47,6 +47,12 @@ public abstract class AbstractService extends Service {
@Override
public void onCreate() {
Log.i(TAG, "onCreate");
new Thread(this).start();
}
@Override
public void run() {
Context applicationContext = getApplicationContext();
File resultFile = new File(applicationContext.getFilesDir(), getId());
try {
@@ -84,7 +90,6 @@ public abstract class AbstractService extends Service {
} catch (IOException e) {
e.printStackTrace();
}
}
@Override