Android Open Source - SensorDataCollector View Experiment Activity






From Project

Back to project page SensorDataCollector.

License

The source code is released under:

GNU General Public License

If you think the Android project SensorDataCollector 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

/*
 * Copyright (c) 2014, the SenSee authors.  Please see the AUTHORS file
 * for details. /*from  w  w  w.j  a v a  2 s. c  o  m*/
 * 
 * Licensed under the GNU Public License, Version 3.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *       http://www.gnu.org/copyleft/gpl.html
 * 
 * Unless required by applicable law or agreed to in writing, software 
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and 
 * limitations under the License.
 */

package sysnetlab.android.sdc.ui;

import sysnetlab.android.sdc.R;
import sysnetlab.android.sdc.datacollector.Experiment;
import sysnetlab.android.sdc.datacollector.ExperimentManagerSingleton;
import sysnetlab.android.sdc.sensor.AbstractSensor;
import sysnetlab.android.sdc.datacollector.DropboxHelper;
import sysnetlab.android.sdc.ui.fragments.ExperimentViewFragment;
import sysnetlab.android.sdc.ui.fragments.ExperimentViewSensorListFragment;
import sysnetlab.android.sdc.ui.fragments.ExperimentViewTagsFragment; //maybe class name is different
import sysnetlab.android.sdc.ui.fragments.ExperimentViewNotesFragment;
import sysnetlab.android.sdc.ui.fragments.ExperimentViewSensorDataFragment;
import sysnetlab.android.sdc.ui.fragments.FragmentUtils;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.widget.Toast;

public class ViewExperimentActivity extends FragmentActivityBase implements
        ExperimentViewFragment.OnFragmentClickListener,
        ExperimentViewSensorListFragment.OnFragmentClickListener {

    private ExperimentViewFragment mExperimentViewFragment;
    private ExperimentViewTagsFragment mExperimentViewTagsFragment;
    private ExperimentViewNotesFragment mExperimentViewNotesFragment;
    private ExperimentViewSensorListFragment mExperimentViewSensorListFragment;
    private ExperimentViewSensorDataFragment mExperimentViewSensorDataFragment;

    private Experiment mExperiment;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO handle configuration change
        super.onCreate(savedInstanceState);
        setContentView(R.layout.fragment_container);
        mLoadingTask = new TaskLoadingSpinner();
        mLoadingTask.execute();
    }

    @Override
    protected void loadTask() {
        mExperiment = ExperimentManagerSingleton.getInstance().getActiveExperiment();

        if (mExperiment == null) {
            Log.d("SensorDataColelctor",
                    "ViewExperimentActivity failed to get experiment from intent");
            Toast.makeText(this, "Failed to  load experiment.", Toast.LENGTH_LONG).show();
            finish();
        }

        Log.d("SensorDataCollector",
                "ViewExperimentActivity: experiment is " + mExperiment.toString());

        if (findViewById(R.id.fragment_container) != null) {
            mExperimentViewFragment = new ExperimentViewFragment();
            FragmentUtils.addFragment(this, mExperimentViewFragment);
        }

        Log.d("SensorDataCollector", "ViewExperimentActivity.loadTask() called.");
    }

    public void onResume() {
        super.onResume();

        // Complete the Dropbox Authorization
        DropboxHelper.getInstance().completeAuthentication();
    }

    @Override
    public void onBtnCloneClicked_ExperimentViewFragment() {
        Intent intent = new Intent(this, CreateExperimentActivity.class);
        intent.putExtra(SensorDataCollectorActivity.APP_OPERATION_KEY,
                SensorDataCollectorActivity.APP_OPERATION_CLONE_EXPERIMENT);
        startActivity(intent);
    }

    @Override
    public void onBtnDropboxClicked_ExperimentViewFragment() {
        DropboxHelper dbHelper = DropboxHelper.getInstance();
        if (!dbHelper.isLinked()) {
            AlertDialog.Builder builder = new AlertDialog.Builder(this);

            builder.setMessage(R.string.text_dropbox_not_yet_linked_explanation);
            builder.setTitle(R.string.text_link_to_dropbox);
            builder.setPositiveButton(R.string.text_link_to_dropbox,
                    new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int id) {
                            dialog.dismiss();
                            DropboxHelper.getInstance().link();
                        }
                    });
            builder.setNegativeButton(R.string.text_do_not_link_to_dropbox,
                    new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int id) {
                            dialog.dismiss();
                        }
                    });
            AlertDialog alertDialog = builder.create();
            alertDialog.show();
        }
        else {
            dbHelper.writeAllFilesInDirToDropbox(mExperiment.getPath(), ViewExperimentActivity.this);
        }
    }

    @Override
    public void onTagsClicked_ExperimentViewFragment() {
        if (mExperimentViewTagsFragment == null) {
            mExperimentViewTagsFragment = new ExperimentViewTagsFragment();
        }
        FragmentUtils.switchFragment(this,
                mExperimentViewTagsFragment,
                "experimentviewmoretags",
                FragmentUtils.FRAGMENT_SWITCH_ADD_TO_BACKSTACK);
        changeActionBarTitle(R.string.text_viewing_tags, R.drawable.icon_tags_inverse);
    }

    @Override
    public void onNotesClicked_ExperimentViewFragment() {
        if (mExperimentViewNotesFragment == null) {
            mExperimentViewNotesFragment = new ExperimentViewNotesFragment();
        }
        FragmentUtils.switchFragment(this,
                mExperimentViewNotesFragment,
                "experimentviewmorenotes",
                FragmentUtils.FRAGMENT_SWITCH_ADD_TO_BACKSTACK);
        changeActionBarTitle(R.string.text_viewing_notes, R.drawable.icon_notes_inverse);
    }
    
    @Override
    public void onSensorsClicked_ExperimentViewFragment() {
        if (mExperimentViewSensorListFragment == null) {
            mExperimentViewSensorListFragment = new ExperimentViewSensorListFragment();
        }
        FragmentUtils.switchFragment(this,
                mExperimentViewSensorListFragment,
                "experimentviewsensorlist",
                FragmentUtils.FRAGMENT_SWITCH_ADD_TO_BACKSTACK);
        changeActionBarTitle(R.string.text_viewing_sensors, R.drawable.icon_sensors_inverse);
    }
    
    /*
    @Override
    public void onSensorsClicked_ExperimentViewFragment() {
        if (mExperimentViewSensorDataFragment == null) {
            mExperimentViewSensorDataFragment = new ExperimentViewSensorDataFragment();
        }
        FragmentUtils.switchFragment(this,
                mExperimentViewSensorDataFragment,
                "experimentviewsensordata",
                FragmentUtils.FRAGMENT_SWITCH_ADD_TO_BACKSTACK);
        changeActionBarTitle(R.string.text_viewing_sensors, R.drawable.icon_sensors_inverse);
    }
    */

    @Override
    public void onSensorClicked_ExperimentViewSensorListFragment(int sensorNo) {
        Log.d("SensorDataCollector",
                "ViewExperimentActivity::onSensorClicked_ExperimentSensorListFragment() called with sensorNo = "
                        + sensorNo);

        if (mExperimentViewSensorDataFragment == null) {
            mExperimentViewSensorDataFragment = new ExperimentViewSensorDataFragment();
        }

        mExperimentViewSensorDataFragment.setSensorNo(sensorNo);

        FragmentUtils.switchFragment(this,
                mExperimentViewSensorDataFragment,
                "experimentviewsensordata",
                FragmentUtils.FRAGMENT_SWITCH_ADD_TO_BACKSTACK);
    }

    @Override
    public void onSensorClicked_ExperimentViewSensorListFragment(AbstractSensor sensor) {
        Log.d("SensorDataCollector",
                "ViewExperimentActivity::onSensorClicked_ExperimentSensorListFragment() called");
        // do nothing
    }
    


    public Experiment getExperiment() {
        return mExperiment;
    }

    public ExperimentViewTagsFragment getExperimentViewTagsFragment() {
        return mExperimentViewTagsFragment;
    }

    public ExperimentViewFragment getExperimentViewFragment() {
        return mExperimentViewFragment;
    }

    public ExperimentViewNotesFragment getExperimentViewNotesFragment() {
        return mExperimentViewNotesFragment;
    }

    @Override
    public void onBackPressed() {
        if (!mExperimentViewFragment.isFragmentUIActive()) {
            changeActionBarTitle(R.string.text_viewing_experiment, R.drawable.ic_launcher);
        }
        super.onBackPressed();
    }

    public void changeActionBarTitle(int titleResId, int iconResId) {
        getSupportActionBar().setTitle(titleResId);
        getSupportActionBar().setIcon(iconResId);
    }
}




Java Source Code List

sysnetlab.android.sdc.datacollector.AndroidSensorEventListener.java
sysnetlab.android.sdc.datacollector.DataCollectionState.java
sysnetlab.android.sdc.datacollector.DateUtils.java
sysnetlab.android.sdc.datacollector.DeviceInformation.java
sysnetlab.android.sdc.datacollector.DropboxHelper.java
sysnetlab.android.sdc.datacollector.ExperimentManagerSingleton.java
sysnetlab.android.sdc.datacollector.ExperimentManager.java
sysnetlab.android.sdc.datacollector.ExperimentTime.java
sysnetlab.android.sdc.datacollector.Experiment.java
sysnetlab.android.sdc.datacollector.Note.java
sysnetlab.android.sdc.datacollector.StateTag.java
sysnetlab.android.sdc.datacollector.Tag.java
sysnetlab.android.sdc.datacollector.TaggingAction.java
sysnetlab.android.sdc.datacollector.TaggingState.java
sysnetlab.android.sdc.datastore.AbstractStore.java
sysnetlab.android.sdc.datastore.SimpleFileStore.java
sysnetlab.android.sdc.datastore.SimpleXmlFileStore.java
sysnetlab.android.sdc.datastore.StoreSingleton.java
sysnetlab.android.sdc.loaders.ExperimentListLoader.java
sysnetlab.android.sdc.sensor.AbstractSensor.java
sysnetlab.android.sdc.sensor.AndroidSensor.java
sysnetlab.android.sdc.sensor.SensorDiscoverer.java
sysnetlab.android.sdc.sensor.SensorProperty.java
sysnetlab.android.sdc.sensor.audio.AudioChannelIn.java
sysnetlab.android.sdc.sensor.audio.AudioEncoding.java
sysnetlab.android.sdc.sensor.audio.AudioRecordParameter.java
sysnetlab.android.sdc.sensor.audio.AudioRecordSettingDBHelper.java
sysnetlab.android.sdc.sensor.audio.AudioRecordSettingDataSource.java
sysnetlab.android.sdc.sensor.audio.AudioSensorHelper.java
sysnetlab.android.sdc.sensor.audio.AudioSensor.java
sysnetlab.android.sdc.sensor.audio.AudioSource.java
sysnetlab.android.sdc.sensor.audio.WaveHeader.java
sysnetlab.android.sdc.sensor.camera.CameraHelper.java
sysnetlab.android.sdc.sensor.camera.CameraSensor.java
sysnetlab.android.sdc.services.RunExperimentService.java
sysnetlab.android.sdc.ui.AudioSensorProbingActivity.java
sysnetlab.android.sdc.ui.CreateExperimentActivity.java
sysnetlab.android.sdc.ui.FragmentActivityBase.java
sysnetlab.android.sdc.ui.GestureEventListener.java
sysnetlab.android.sdc.ui.SensorDataCollectorActivity.java
sysnetlab.android.sdc.ui.TaggingGridView.java
sysnetlab.android.sdc.ui.UserInterfaceUtils.java
sysnetlab.android.sdc.ui.ViewExperimentActivity.java
sysnetlab.android.sdc.ui.adapters.DataStoreListAdapter.java
sysnetlab.android.sdc.ui.adapters.ExperimentListAdapter.java
sysnetlab.android.sdc.ui.adapters.OperationAdapter.java
sysnetlab.android.sdc.ui.adapters.SensorListAdapter.java
sysnetlab.android.sdc.ui.adapters.SensorPropertyListAdapter.java
sysnetlab.android.sdc.ui.adapters.TagListAdapter.java
sysnetlab.android.sdc.ui.adapters.TaggingTagListAdapter.java
sysnetlab.android.sdc.ui.fragments.AudioSensorSetupDialogFragment.java
sysnetlab.android.sdc.ui.fragments.ExperimentDataStoreFragment.java
sysnetlab.android.sdc.ui.fragments.ExperimentEditNotesFragment.java
sysnetlab.android.sdc.ui.fragments.ExperimentEditTagsFragment.java
sysnetlab.android.sdc.ui.fragments.ExperimentListFragment.java
sysnetlab.android.sdc.ui.fragments.ExperimentRunFragment.java
sysnetlab.android.sdc.ui.fragments.ExperimentRunTaggingFragment.java
sysnetlab.android.sdc.ui.fragments.ExperimentSensorListFragment.java
sysnetlab.android.sdc.ui.fragments.ExperimentSensorSelectionFragment.java
sysnetlab.android.sdc.ui.fragments.ExperimentSensorSetupFragment.java
sysnetlab.android.sdc.ui.fragments.ExperimentSetupFragment.java
sysnetlab.android.sdc.ui.fragments.ExperimentViewFragment.java
sysnetlab.android.sdc.ui.fragments.ExperimentViewNotesFragment.java
sysnetlab.android.sdc.ui.fragments.ExperimentViewSensorDataFragment.java
sysnetlab.android.sdc.ui.fragments.ExperimentViewSensorListFragment.java
sysnetlab.android.sdc.ui.fragments.ExperimentViewTagsFragment.java
sysnetlab.android.sdc.ui.fragments.FragmentUtils.java