Remove temporary extras before launching the intent

This commit is contained in:
fkloft 2014-02-18 21:41:58 +01:00
parent 24cf79acc7
commit 6b85e5524c
3 changed files with 15 additions and 7 deletions

View File

@ -92,6 +92,11 @@ public class IntentGenerator {
return list; return list;
} }
public void cleanup(final Intent intent) {
intent.removeExtra(EXTRA_FLAG_IS_DEFAULT);
intent.removeExtra(EXTRA_FLAG_TITLE);
}
public ArrayList<Intent> getBrowserIntents(final String title, final String url) { public ArrayList<Intent> getBrowserIntents(final String title, final String url) {
final Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)) final Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url))
.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET); .addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);

View File

@ -15,10 +15,10 @@ import android.widget.ListView;
import java.util.ArrayList; import java.util.ArrayList;
public class IntentListFragment extends Fragment implements OnScrollListener, OnItemClickListener { public class IntentListFragment extends Fragment implements OnScrollListener, OnItemClickListener {
private ArrayList<Intent> mIntents;
private IntentAdapter mAdapter; private IntentAdapter mAdapter;
private int mScrollIndex, mScrollTop; private ArrayList<Intent> mIntents;
private ListView mListView; private ListView mListView;
private int mScrollIndex, mScrollTop;
public int getIcon() { public int getIcon() {
return getArguments().getInt("icon"); return getArguments().getInt("icon");
@ -50,11 +50,7 @@ public class IntentListFragment extends Fragment implements OnScrollListener, On
@Override @Override
public void onItemClick(final AdapterView<?> parent, final View view, final int position, final long id) { public void onItemClick(final AdapterView<?> parent, final View view, final int position, final long id) {
final Intent intent = mAdapter.getItem(position); ((ShareActivity) getActivity()).launch(mAdapter.getItem(position));
((ShareActivity) getActivity()).getIntentComparator().trackIntentSelection(intent);
startActivity(intent);
getActivity().finish();
} }
@Override @Override

View File

@ -140,6 +140,13 @@ public class ShareActivity extends FragmentActivity implements ActionBar.TabList
return mComparator; return mComparator;
} }
public void launch(final Intent intent) {
mComparator.trackIntentSelection(intent);
mGenerator.cleanup(intent);
startActivity(intent);
finish();
}
@Override @Override
public boolean onOptionsItemSelected(final MenuItem item) { public boolean onOptionsItemSelected(final MenuItem item) {
switch (item.getItemId()) { switch (item.getItemId()) {