package com.novoda.priorityshare.demo;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.text.TextUtils;
import android.util.Log;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.Switch;
import com.novoda.priorityshare.OnPrepareSharingIntentListener;
import com.novoda.priorityshare.PrioritySharer;
import com.novoda.priorityshare.TargetApps;
public class AdvancedActivity extends Activity {
private static final TargetApps[] TARGET_APPS = {
TargetApps.DEFAULTS,
TargetApps.FACEBOOK,
TargetApps.TWITTER,
TargetApps.GOOGLE_PLUS,
TargetApps.NONE
};
private Spinner targetApps;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_advanced);
findViewById(R.id.share).setOnClickListener(shareClickListener);
populateTargetApps();
}
private final View.OnClickListener shareClickListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
showShareDialog();
}
};
private void populateTargetApps() {
targetApps = (Spinner) findViewById(R.id.target_apps);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.target_apps, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
targetApps.setAdapter(adapter);
}
private void showShareDialog() {
EditText text = (EditText) findViewById(R.id.text);
EditText title = (EditText) findViewById(R.id.title);
EditText mimeType = (EditText) findViewById(R.id.mime_type);
EditText dataUri = (EditText) findViewById(R.id.data_uri);
Switch showMostRecentlyUsed = (Switch) findViewById(R.id.show_most_recently_used);
new PrioritySharer.Builder()
.setTargets(TARGET_APPS[targetApps.getSelectedItemPosition()])
.setText(text.getText().toString())
.setTitle(title.getText().toString())
.setMimeType(mimeType.getText().toString())
.showMostRecentlyUsed(showMostRecentlyUsed.isChecked())
.setDataUri(getDataUriOrNull(dataUri))
.setOnPrepareSharingIntentListener(listener)
.show(this);
}
private Uri getDataUriOrNull(EditText dataUri) {
String uriString = dataUri.getText().toString();
return TextUtils.isEmpty(uriString) ? null : Uri.parse(uriString);
}
private final OnPrepareSharingIntentListener listener = new OnPrepareSharingIntentListener() {
@Override
public Intent onPrepareSharingIntent(Intent intent) {
// You can modify the Intent here...
Log.i("Priority Share Demo", "onPrepareSharingIntent - Intent: " + intent);
return intent;
}
};
}