diff --git a/liblinphone_tester/src/org/linphone/tester/TestUnit.java b/liblinphone_tester/src/org/linphone/tester/TestUnit.java index 2e2f00707..4214996f3 100644 --- a/liblinphone_tester/src/org/linphone/tester/TestUnit.java +++ b/liblinphone_tester/src/org/linphone/tester/TestUnit.java @@ -82,7 +82,12 @@ public class TestUnit extends AndroidTestCase { String write_path = getContext().getCacheDir().getPath(); Tester tester = new Tester(); - List list = new LinkedList(Arrays.asList(new String[]{"tester", "--verbose", "--resource-dir", res_path, "--writable-dir", write_path, "--suite", mSuite, "--test", mTest})); + List list; + if (mTest != null && !mTest.isEmpty()) { + list = new LinkedList(Arrays.asList(new String[]{"tester", "--verbose", "--resource-dir", res_path, "--writable-dir", write_path, "--suite", mSuite, "--test", mTest})); + } else { + list = new LinkedList(Arrays.asList(new String[]{"tester", "--verbose", "--resource-dir", res_path, "--writable-dir", write_path, "--suite", mSuite})); + } String[] array = list.toArray(new String[list.size()]); Assert.assertTrue(tester.run(array) == 0); } diff --git a/src/org/linphone/LinphoneActivity.java b/src/org/linphone/LinphoneActivity.java index 4af290067..da1e71f3e 100644 --- a/src/org/linphone/LinphoneActivity.java +++ b/src/org/linphone/LinphoneActivity.java @@ -140,6 +140,17 @@ public class LinphoneActivity extends Activity implements OnClickListener, Conta return instance; throw new RuntimeException("LinphoneActivity not instantiated yet"); } + + @Override + protected void onSaveInstanceState(Bundle outState) { + outState.putSerializable("CurrentFragment", currentFragment); + super.onSaveInstanceState(outState); + } + + @Override + protected void onRestoreInstanceState(Bundle savedInstanceState) { + super.onRestoreInstanceState(savedInstanceState); + } @Override protected void onCreate(Bundle savedInstanceState) { @@ -161,7 +172,7 @@ public class LinphoneActivity extends Activity implements OnClickListener, Conta wizard.setClass(this, RemoteProvisioningLoginActivity.class); wizard.putExtra("Domain", LinphoneManager.getInstance().wizardLoginViewDomain); startActivityForResult(wizard, REMOTE_PROVISIONING_LOGIN_ACTIVITY); - } else if (useFirstLoginActivity && LinphonePreferences.instance().isFirstLaunch() || LinphoneManager.getLc().getProxyConfigList().length == 0) { + } else if (savedInstanceState == null && (useFirstLoginActivity && LinphonePreferences.instance().isFirstLaunch() || LinphoneManager.getLc().getProxyConfigList().length == 0)) { if (LinphonePreferences.instance().getAccountCount() > 0) { LinphonePreferences.instance().firstLaunchSuccessful(); } else { @@ -187,6 +198,8 @@ public class LinphoneActivity extends Activity implements OnClickListener, Conta currentFragment = nextFragment = FragmentsAvailable.EMPTY; if (savedInstanceState == null) { changeCurrentFragment(FragmentsAvailable.DIALER, getIntent().getExtras()); + } else { + changeCurrentFragment(((FragmentsAvailable)savedInstanceState.getSerializable("CurrentFragment")), getIntent().getExtras()); } mListener = new LinphoneCoreListenerBase(){