package com.hci.moola.model;
import android.app.Activity;
import android.os.Environment;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Calendar;
/**
* Created by byoung2 on 11/10/14.
*/
public class DataCollector {
private static DataCollector mInstance;
private PrintWriter mWriter;
private int mTouchCount;
public static DataCollector getInstance() {
if (mInstance == null)
mInstance = new DataCollector();
return mInstance;
}
private DataCollector() {
mTouchCount = 0;
Calendar mCal = Calendar.getInstance();
String filename = "/moola_log_" + mCal.get(Calendar.MONTH) + mCal.get(Calendar.DAY_OF_MONTH)
+ mCal.get(Calendar.HOUR_OF_DAY) + mCal.get(Calendar.MINUTE) + ".txt";
try {
mWriter = new PrintWriter(Environment.getExternalStorageDirectory() + filename);
} catch (IOException e) {
e.printStackTrace();
}
}
public int getTouchCount() {
return mTouchCount;
}
private void touchOccurred() {
mTouchCount++;
}
public void attachTouchCounterToActivity(Activity activity) {
View overlay = new View(activity);
overlay.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
overlay.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getActionMasked() == MotionEvent.ACTION_DOWN) {
touchOccurred();
}
return false;
}
});
ViewGroup decorView = (ViewGroup) activity.getWindow().getDecorView();
decorView.addView(overlay);
}
}