Go back to top of list when Settings is relaunched
Also fixes slight movements when coming back from Add account.
Bug: 7312513
Bug: 7318452
Change-Id: I5b07262de52e6bdf98e75fff98a032afd74fc0e5
diff --git a/src/com/android/settings/Settings.java b/src/com/android/settings/Settings.java
index 9c7f848..b52c2e2 100644
--- a/src/com/android/settings/Settings.java
+++ b/src/com/android/settings/Settings.java
@@ -271,9 +271,11 @@
super.onNewIntent(intent);
// If it is not launched from history, then reset to top-level
- if ((intent.getFlags() & Intent.FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY) == 0
- && mFirstHeader != null && !onIsHidingHeaders() && onIsMultiPane()) {
- switchToHeaderLocal(mFirstHeader);
+ if ((intent.getFlags() & Intent.FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY) == 0) {
+ if (mFirstHeader != null && !onIsHidingHeaders() && onIsMultiPane()) {
+ switchToHeaderLocal(mFirstHeader);
+ }
+ getListView().setSelectionFromTop(0, 0);
}
}
@@ -282,7 +284,9 @@
Integer index = mHeaderIndexMap.get(id);
if (index != null) {
getListView().setItemChecked(index, true);
- getListView().smoothScrollToPosition(index);
+ if (isMultiPane()) {
+ getListView().smoothScrollToPosition(index);
+ }
}
}
}