package com.bitbar.testdroid.recording;

import android.app.Activity;
import android.test.ActivityInstrumentationTestCase2;
import com.bitbar.testdroid.recording.monitors.ActivityChangedMonitor;
import com.bitbar.testdroid.recording.webview.RecordingWebViewSettings;

public class TestdroidRecording extends
        ActivityInstrumentationTestCase2<Activity> {
    
    private static final String LAUNCHER_ACTIVITY_CLASSNAME = "net.mandaria.tippytipper.activities.TippyTipper";
    private static Class<?> launchActivityClass;
    static {
        try {
            launchActivityClass = Class.forName(LAUNCHER_ACTIVITY_CLASSNAME);
        } catch (ClassNotFoundException e) {
            throw new RuntimeException(e);
        }
    }
    
    public transient Recording recording;
    
    public TestdroidRecording() {        
        super((Class<Activity>) launchActivityClass);
        recording = new Recording();
        RecordingWebViewSettings.init("");
    }

    @Override
    public void setUp() throws Exception {
        super.setUp();        
        recording.registerBroadcastReceiver(getInstrumentation());
        new ActivityChangedMonitor(getInstrumentation()).launch();        
        getActivity();        
    }

    @Override
    public void tearDown() throws Exception {        
        super.tearDown();        
    }       
        
    public void testStartRecording() {
    	recording.mainLoop(getInstrumentation(), getActivity());
    }

}
