package com.manuelmaly.hn.util;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener;
import android.view.Window;
import com.manuelmaly.hn.view.SpotlightView;
/**
* Created by jmaltz on 12/23/13.
*/
public class SpotlightActivity extends Activity {
public static final String KEY_X_START = "x_start";
public static final String KEY_X_SIZE = "x_size";
public static final String KEY_Y_START = "y_start";
public static final String KEY_Y_SIZE = "y_size";
public static final String KEY_TEXT_STRING = "text_string";
private float mXStart;
private float mYStart;
private float mXEnd;
private float mYEnd;
public static Intent intentForSpotlightActivity( Context context, float xStart, float xSize, float yStart,
float ySize, String text ) {
Intent intent = new Intent( context, SpotlightActivity.class );
intent.putExtra( KEY_X_START, xStart );
intent.putExtra( KEY_X_SIZE, xSize );
intent.putExtra( KEY_Y_START, yStart );
intent.putExtra( KEY_Y_SIZE, ySize );
intent.putExtra( KEY_TEXT_STRING, text );
return intent;
}
@Override
public void onCreate( Bundle savedInstanceState ) {
super.onCreate( savedInstanceState );
requestWindowFeature( Window.FEATURE_NO_TITLE );
mXStart = getIntent().getFloatExtra( KEY_X_START, -1 );
mXEnd = getIntent().getFloatExtra( KEY_X_SIZE, -1 ) + mXStart;
mYStart = getIntent().getFloatExtra( KEY_Y_START, -1 );
mYEnd = getIntent().getFloatExtra( KEY_Y_SIZE, -1 ) + mYStart;
String text = getIntent().getStringExtra( KEY_TEXT_STRING );
SpotlightView view = new SpotlightView( this, null, mXStart, mYStart, mXEnd, mYEnd, text );
view.setOnTouchListener( mSpotlightTouchListener );
setContentView( view );
}
private final OnTouchListener mSpotlightTouchListener = new OnTouchListener() {
@Override
public boolean onTouch( View v, MotionEvent event ) {
if (event.getX() > mXStart && event.getX() < mXEnd && event.getY() > mYStart && event.getY() < mYEnd) {
setResult( RESULT_OK );
} else {
setResult( RESULT_CANCELED );
}
overridePendingTransition( android.R.anim.fade_in, android.R.anim.fade_out );
finish();
return true;
}
};
}