summaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
authorAndrew Solovay <asolovay@google.com>2014-07-10 13:23:45 -0700
committerRobert Ly <robertly@google.com>2014-07-22 18:16:39 +0000
commit8e4ff7fee78a7193ac09bcd745c5900eef99cab7 (patch)
tree3463f9eb0c7c9070c61306572608626ac481dfa3 /docs
parent940ae93043a7d36d89ab777cbc691893590d326c (diff)
downloadframeworks_base-8e4ff7fee78a7193ac09bcd745c5900eef99cab7.zip
frameworks_base-8e4ff7fee78a7193ac09bcd745c5900eef99cab7.tar.gz
frameworks_base-8e4ff7fee78a7193ac09bcd745c5900eef99cab7.tar.bz2
DO NOT MERGE
cherrypick from klp-modular-dev docs: Noted how singleTop affects "up" navigation. Change-Id: 4d06d970526b58ddaf8db89858615217fa88772b Docs are staged to: http://asolovay.mtv:9411/training/implementing-navigation/ancestral.html#NavigateUp http://asolovay.mtv:9411/guide/topics/manifest/activity-element.html#lmode bug: 14527411 Change-Id: Ia414f2206339fc33739c8244f14140dd2e5d1607 (cherry picked from commit 4d06d970526b58ddaf8db89858615217fa88772b)
Diffstat (limited to 'docs')
-rw-r--r--docs/html/guide/topics/manifest/activity-element.jd18
-rw-r--r--docs/html/training/implementing-navigation/ancestral.jd21
2 files changed, 36 insertions, 3 deletions
diff --git a/docs/html/guide/topics/manifest/activity-element.jd b/docs/html/guide/topics/manifest/activity-element.jd
index a8d7615..3c623f6 100644
--- a/docs/html/guide/topics/manifest/activity-element.jd
+++ b/docs/html/guide/topics/manifest/activity-element.jd
@@ -453,7 +453,7 @@ Similarly, a new instance of a "{@code singleTop}" activity may also be
created to handle a new intent. However, if the target task already has an
existing instance of the activity at the top of its stack, that instance
will receive the new intent (in an
-<code>{@link android.app.Activity#onNewIntent onNewIntent()}</code> call);
+{@link android.app.Activity#onNewIntent onNewIntent()} call);
a new instance is not created.
In other circumstances &mdash; for example, if an existing instance of the
"{@code singleTop}" activity is in the target task, but not at the top of
@@ -461,6 +461,22 @@ the stack, or if it's at the top of a stack, but not in the target task
&mdash; a new instance would be created and pushed on the stack.
</p>
+<p>Similarly, if you
+<a href="{@docRoot}training/implementing-navigation/ancestral.html">navigate
+up</a> to an activity on the current stack, the behavior is determined by the
+parent activity's launch mode. If the parent activity has launch mode {@code
+singleTop} (or the <code>up</code> intent contains {@link
+android.content.Intent#FLAG_ACTIVITY_CLEAR_TOP}), the parent is brought to the
+top of the stack, and its state is preserved. The navigation intent is received
+by the parent activity's {@link android.app.Activity#onNewIntent onNewIntent()}
+method. If the parent activity has launch mode {@code standard} (and the
+<code>up</code> intent does not contain {@link
+android.content.Intent#FLAG_ACTIVITY_CLEAR_TOP}), the current activity and its
+parent are both popped off the stack, and a new instance of the parent activity
+is created to receive the navigation intent.
+</p>
+
+
<p>
The "{@code singleTask}" and "{@code singleInstance}" modes also differ from
each other in only one respect: A "{@code singleTask}" activity allows other
diff --git a/docs/html/training/implementing-navigation/ancestral.jd b/docs/html/training/implementing-navigation/ancestral.jd
index 12d5005..f4d7c1a 100644
--- a/docs/html/training/implementing-navigation/ancestral.jd
+++ b/docs/html/training/implementing-navigation/ancestral.jd
@@ -133,7 +133,25 @@ android.support.v4.app.NavUtils} class's static method,
navigateUpFromSameTask()}. When you call this method, it finishes the current activity and
starts (or resumes) the appropriate parent activity.
If the target parent activity is in the task's back stack, it is brought
-forward as defined by {@link android.content.Intent#FLAG_ACTIVITY_CLEAR_TOP}.</p>
+forward. The way it is brought forward depends on whether the parent activity
+is able to handle an {@link
+android.app.Activity#onNewIntent onNewIntent()} call:</p>
+
+<ul>
+ <li>If the parent activity has launch mode <a
+ href="{@docRoot}guide/topics/manifest/activity-element.html#lmode">{@code
+ &lt;singleTop>}</a>, or the <code>up</code> intent contains {@link
+ android.content.Intent#FLAG_ACTIVITY_CLEAR_TOP}, the parent activity is
+ brought to the top of the stack, and receives the intent through its
+ {@link android.app.Activity#onNewIntent onNewIntent()} method.</li>
+
+ <li>If the parent activity has launch mode <a
+ href="{@docRoot}guide/topics/manifest/activity-element.html#lmode">{@code
+ &lt;standard>}</a>, and the <code>up</code> intent does not contain
+ {@link android.content.Intent#FLAG_ACTIVITY_CLEAR_TOP}, the parent activity
+ is popped off the stack, and a new instance of that activity is created on
+ top of the stack to receive the intent.</li>
+</ul>
<p>For example:</p>
@@ -157,7 +175,6 @@ activity was started in a task that belongs to a different app, then
navigating <em>Up</em> should create a new task that belongs to your app, which
requires that you create a new back stack.</p>
-
<h3 id="BuildBackStack">Navigate up with a new back stack</h3>
<p>If your activity provides any <a