package com.robotium.solo; import android.content.Context; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.os.Bundle; public class InstrumentationTestRunner extends android.test.InstrumentationTestRunner{ @Override public void onCreate(Bundle arguments) { super.onCreate(arguments); saveBundle(arguments); } private void saveBundle(Bundle arguments) { SharedPreferencesHelper helper = new SharedPreferencesHelper(super.getTargetContext(), SharedPreferencesHelper.ARGUMENTS); android.util.Log.e(Solo.LOG_TAG, "---------------------------"); String cls = arguments.getString(SharedPreferencesHelper.CLASS); android.util.Log.e(Solo.LOG_TAG, "Class: " + cls); helper.putString(SharedPreferencesHelper.CLASS, cls); String useNative = arguments.getString(SharedPreferencesHelper.USE_NATIVE); if (useNative != null && useNative.length() > 0) { android.util.Log.e(Solo.LOG_TAG, "UseNative: " + useNative); helper.putString(SharedPreferencesHelper.USE_NATIVE, useNative); } else helper.remove(SharedPreferencesHelper.USE_NATIVE); String newReptile = arguments.getString(SharedPreferencesHelper.NEW_REPTILE); if (newReptile != null && newReptile.length() > 0) { android.util.Log.e(Solo.LOG_TAG, "NewReptile: " + newReptile); helper.putString(SharedPreferencesHelper.NEW_REPTILE, newReptile); } else helper.remove(SharedPreferencesHelper.NEW_REPTILE); Context context = super.getContext(); PackageInfo info = null; try { info = context.getPackageManager().getPackageInfo(context.getPackageName(), PackageManager.GET_INSTRUMENTATION); } catch (PackageManager.NameNotFoundException e) { e.printStackTrace(); } if (info == null) throw new RuntimeException("Android test runner not found."); String runner = info.instrumentation[0].name; android.util.Log.e(Solo.LOG_TAG, "Runner: " + runner); helper.putString(SharedPreferencesHelper.RUNNER, runner); android.util.Log.e(Solo.LOG_TAG, "---------------------------"); } }