/**
*
*/
package gilday.android.powerhour.view;
import gilday.android.powerhour.R;
import gilday.android.powerhour.data.Keys;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.ActivityNotFoundException;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.net.Uri;
import android.os.Bundle;
import android.preference.PreferenceManager;
/**
* @author jgilday
*
*/
public class SurrogateActivity extends Activity {
private boolean isUnableToFindActivity;
@Override
public void onCreate(Bundle savedInstance){
super.onCreate(savedInstance);
Intent chooseFileIntent = new Intent();
chooseFileIntent.setAction(Intent.ACTION_GET_CONTENT);
// In my case I need an audio file path
chooseFileIntent.setType("audio/*");
try {
startActivityForResult(chooseFileIntent, 0);
} catch (ActivityNotFoundException e) {
isUnableToFindActivity = true;
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if(resultCode == RESULT_OK){
Uri audioPath = data.getData();
// Use SharedPreferences.Editor to update preference value
SharedPreferences.Editor prefsEditor = PreferenceManager.getDefaultSharedPreferences(this).edit();
prefsEditor.putString(Keys.PREF_ALERTPATH, audioPath.toString());
prefsEditor.commit();
finish();
} else {
// Check if there was an error finding an activity
if(isUnableToFindActivity) {
new AlertDialog.Builder(this)
.setMessage(getString(R.string.error_cannotPickAudio))
.setPositiveButton(getString(android.R.string.ok), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
finish();
}
})
.show();
} else {
// Perhaps user cancelled
finish();
}
}
}
}