mirror of
https://github.com/MatomoCamp/matomocamp-companion-android.git
synced 2024-09-19 16:13:46 +02:00
Improve readability of up navigation code in EventDetailsActivity and add missing flags in the Manifest file for it.
This commit is contained in:
parent
45b162246c
commit
7f8a8aa5cb
2 changed files with 28 additions and 17 deletions
|
@ -46,13 +46,16 @@
|
||||||
</activity>
|
</activity>
|
||||||
<activity
|
<activity
|
||||||
android:name=".activities.TrackScheduleActivity"
|
android:name=".activities.TrackScheduleActivity"
|
||||||
|
android:parentActivityName=".activities.MainActivity"
|
||||||
android:theme="@style/AppTheme.NoActionBar">
|
android:theme="@style/AppTheme.NoActionBar">
|
||||||
<meta-data
|
<meta-data
|
||||||
android:name="android.support.PARENT_ACTIVITY"
|
android:name="android.support.PARENT_ACTIVITY"
|
||||||
android:value=".activities.MainActivity"/>
|
android:value=".activities.MainActivity"/>
|
||||||
</activity>
|
</activity>
|
||||||
<activity android:name=".activities.TrackScheduleEventActivity"/>
|
<activity android:name=".activities.TrackScheduleEventActivity"/>
|
||||||
<activity android:name=".activities.EventDetailsActivity">
|
<activity
|
||||||
|
android:name=".activities.EventDetailsActivity"
|
||||||
|
android:parentActivityName=".activities.TrackScheduleActivity">
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
<action android:name="android.nfc.action.NDEF_DISCOVERED"/>
|
<action android:name="android.nfc.action.NDEF_DISCOVERED"/>
|
||||||
|
|
||||||
|
@ -60,6 +63,9 @@
|
||||||
|
|
||||||
<data android:mimeType="application/be.digitalia.fosdem"/>
|
<data android:mimeType="application/be.digitalia.fosdem"/>
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
|
<meta-data
|
||||||
|
android:name="android.support.PARENT_ACTIVITY"
|
||||||
|
android:value=".activities.TrackScheduleActivity"/>
|
||||||
</activity>
|
</activity>
|
||||||
<activity
|
<activity
|
||||||
android:name=".activities.PersonInfoActivity"
|
android:name=".activities.PersonInfoActivity"
|
||||||
|
|
|
@ -26,7 +26,6 @@ import be.digitalia.fosdem.utils.NfcUtils.CreateNfcAppDataCallback;
|
||||||
* Displays a single event passed either as a complete Parcelable object in extras or as an id in data.
|
* Displays a single event passed either as a complete Parcelable object in extras or as an id in data.
|
||||||
*
|
*
|
||||||
* @author Christophe Beyls
|
* @author Christophe Beyls
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
public class EventDetailsActivity extends ActionBarActivity implements LoaderCallbacks<Event>, CreateNfcAppDataCallback {
|
public class EventDetailsActivity extends ActionBarActivity implements LoaderCallbacks<Event>, CreateNfcAppDataCallback {
|
||||||
|
|
||||||
|
@ -75,18 +74,24 @@ public class EventDetailsActivity extends ActionBarActivity implements LoaderCal
|
||||||
public boolean onOptionsItemSelected(MenuItem item) {
|
public boolean onOptionsItemSelected(MenuItem item) {
|
||||||
switch (item.getItemId()) {
|
switch (item.getItemId()) {
|
||||||
case android.R.id.home:
|
case android.R.id.home:
|
||||||
// Navigate up to the track associated to this event
|
// Navigate up to the track associated with this event
|
||||||
Intent upIntent = new Intent(this, TrackScheduleActivity.class);
|
Intent upIntent = new Intent(this, TrackScheduleActivity.class);
|
||||||
upIntent.putExtra(TrackScheduleActivity.EXTRA_DAY, event.getDay());
|
upIntent.putExtra(TrackScheduleActivity.EXTRA_DAY, event.getDay());
|
||||||
upIntent.putExtra(TrackScheduleActivity.EXTRA_TRACK, event.getTrack());
|
upIntent.putExtra(TrackScheduleActivity.EXTRA_TRACK, event.getTrack());
|
||||||
upIntent.putExtra(TrackScheduleActivity.EXTRA_FROM_EVENT_ID, event.getId());
|
upIntent.putExtra(TrackScheduleActivity.EXTRA_FROM_EVENT_ID, event.getId());
|
||||||
upIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
|
|
||||||
|
|
||||||
finish();
|
|
||||||
if (NavUtils.shouldUpRecreateTask(this, upIntent)) {
|
if (NavUtils.shouldUpRecreateTask(this, upIntent)) {
|
||||||
TaskStackBuilder.create(this).addNextIntent(new Intent(this, MainActivity.class)).addNextIntent(upIntent).startActivities();
|
TaskStackBuilder.create(this)
|
||||||
|
.addNextIntentWithParentStack(upIntent)
|
||||||
|
.startActivities();
|
||||||
|
finish();
|
||||||
} else {
|
} else {
|
||||||
|
// Replicate the compatibility implementation of NavUtils.navigateUpTo()
|
||||||
|
// to ensure the parent Activity is always launched
|
||||||
|
// even if not present on the back stack.
|
||||||
|
upIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
|
||||||
startActivity(upIntent);
|
startActivity(upIntent);
|
||||||
|
finish();
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue