diff --git a/mobile/src/com/cradle/iitc_mobile/share/IntentGenerator.java b/mobile/src/com/cradle/iitc_mobile/share/IntentGenerator.java index 6d6d4694..1e3af18d 100644 --- a/mobile/src/com/cradle/iitc_mobile/share/IntentGenerator.java +++ b/mobile/src/com/cradle/iitc_mobile/share/IntentGenerator.java @@ -92,6 +92,11 @@ public class IntentGenerator { return list; } + public void cleanup(final Intent intent) { + intent.removeExtra(EXTRA_FLAG_IS_DEFAULT); + intent.removeExtra(EXTRA_FLAG_TITLE); + } + public ArrayList getBrowserIntents(final String title, final String url) { final Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)) .addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET); diff --git a/mobile/src/com/cradle/iitc_mobile/share/IntentListFragment.java b/mobile/src/com/cradle/iitc_mobile/share/IntentListFragment.java index 4258e219..f2456dd1 100644 --- a/mobile/src/com/cradle/iitc_mobile/share/IntentListFragment.java +++ b/mobile/src/com/cradle/iitc_mobile/share/IntentListFragment.java @@ -15,10 +15,10 @@ import android.widget.ListView; import java.util.ArrayList; public class IntentListFragment extends Fragment implements OnScrollListener, OnItemClickListener { - private ArrayList mIntents; private IntentAdapter mAdapter; - private int mScrollIndex, mScrollTop; + private ArrayList mIntents; private ListView mListView; + private int mScrollIndex, mScrollTop; public int getIcon() { return getArguments().getInt("icon"); @@ -38,6 +38,7 @@ public class IntentListFragment extends Fragment implements OnScrollListener, On mAdapter.setIntents(mIntents); mListView = new ListView(getActivity()); + mListView.setAdapter(mAdapter); if (mScrollIndex != -1 && mScrollTop != -1) { mListView.setSelectionFromTop(mScrollIndex, mScrollTop); } @@ -49,11 +50,7 @@ public class IntentListFragment extends Fragment implements OnScrollListener, On @Override public void onItemClick(final AdapterView parent, final View view, final int position, final long id) { - final Intent intent = mAdapter.getItem(position); - ((ShareActivity) getActivity()).getIntentComparator().trackIntentSelection(intent); - - startActivity(intent); - getActivity().finish(); + ((ShareActivity) getActivity()).launch(mAdapter.getItem(position)); } @Override diff --git a/mobile/src/com/cradle/iitc_mobile/share/ShareActivity.java b/mobile/src/com/cradle/iitc_mobile/share/ShareActivity.java index e62fbbf5..0578a7dc 100644 --- a/mobile/src/com/cradle/iitc_mobile/share/ShareActivity.java +++ b/mobile/src/com/cradle/iitc_mobile/share/ShareActivity.java @@ -140,6 +140,13 @@ public class ShareActivity extends FragmentActivity implements ActionBar.TabList return mComparator; } + public void launch(final Intent intent) { + mComparator.trackIntentSelection(intent); + mGenerator.cleanup(intent); + startActivity(intent); + finish(); + } + @Override public boolean onOptionsItemSelected(final MenuItem item) { switch (item.getItemId()) {