Android Open Source - PrettyBundle Base Activity Unit Test Case






From Project

Back to project page PrettyBundle.

License

The source code is released under:

Apache License

If you think the Android project PrettyBundle listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.tale.prettybundle.sample;
//  w  ww .  j  a va  2 s.  co  m
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Looper;
import android.test.ActivityUnitTestCase;

import java.util.concurrent.atomic.AtomicReference;

/**
 * Created by giang on 2/24/15.
 */
public class BaseActivityUnitTestCase<T extends Activity> extends ActivityUnitTestCase<T> {

    public BaseActivityUnitTestCase(Class<T> activityClass) {
        super(activityClass);
    }

    @Override
    protected T startActivity(final Intent intent, final Bundle savedInstanceState,
                              final Object lastNonConfigurationInstance) {
        return startActivityOnMainThread(intent, savedInstanceState, lastNonConfigurationInstance);
    }

    private T startActivityOnMainThread(final Intent intent, final Bundle savedInstanceState,
                                        final Object lastNonConfigurationInstance) {
        final AtomicReference<T> activityRef = new AtomicReference<>();
        final Runnable activityRunnable = new Runnable() {
            @Override
            public void run() {
                activityRef.set(BaseActivityUnitTestCase.super.startActivity(
                        intent, savedInstanceState, lastNonConfigurationInstance));
            }
        };

        if (Looper.myLooper() != Looper.getMainLooper()) {
            getInstrumentation().runOnMainSync(activityRunnable);
        } else {
            activityRunnable.run();
        }

        return activityRef.get();
    }
}




Java Source Code List

com.tale.prettybundle.ExtraBinderProvider.java
com.tale.prettybundle.ExtraBinder.java
com.tale.prettybundle.Extra.java
com.tale.prettybundle.Injector.java
com.tale.prettybundle.PrettyBundle.java
com.tale.prettybundle.internal.ExtraAnnotatedClass.java
com.tale.prettybundle.internal.ExtraClassesGrouped.java
com.tale.prettybundle.internal.ExtraInjectorClassBuilder.java
com.tale.prettybundle.internal.ExtraUtilityClassBuilder.java
com.tale.prettybundle.internal.PrettyBundleProcessor.java
com.tale.prettybundle.internal.SupportedType.java
com.tale.prettybundle.sample.ActivitiesClassTest.java
com.tale.prettybundle.sample.ActivitiesTest.java
com.tale.prettybundle.sample.ApplicationTest.java
com.tale.prettybundle.sample.BaseActivityUnitTestCase.java
com.tale.prettybundle.sample.InjectArrayExtrasTest.java
com.tale.prettybundle.sample.InjectParcelableExtrasTest.java
com.tale.prettybundle.sample.InjectPrimaryTypeExtrasFragmentTest.java
com.tale.prettybundle.sample.InjectPrimaryTypeExtrasTest.java
com.tale.prettybundle.sample.InjectStringExtrasTest.java
com.tale.prettybundle.sample.MainActivity.java
com.tale.prettybundle.sample.MenuActivity.java
com.tale.prettybundle.sample.TestArrayExtrasActivity.java
com.tale.prettybundle.sample.TestExtraOnFragmentActivity.java
com.tale.prettybundle.sample.TestParcelableActivity.java
com.tale.prettybundle.sample.TestPrimaryTypeDisplayActivity.java
com.tale.prettybundle.sample.TestPrimaryTypeSetterActivity.java
com.tale.prettybundle.sample.TestStringExtra1Activity.java
com.tale.prettybundle.sample.TestStringExtra2Activity.java
com.tale.prettybundle.sample.data.Person.java
com.tale.prettybundle.sample.espresso.ExtViewActions.java
com.tale.prettybundle.sample.fragments.TestPrimaryExtraFragment.java
com.tale.prettybundle.sample.services.TestPrimaryTypeService.java