Skip to content

Commit

Permalink
Store current org to instance state bundle
Browse files Browse the repository at this point in the history
  • Loading branch information
kevinsawicki committed Sep 11, 2012
1 parent 5d5d938 commit b332518
Show file tree
Hide file tree
Showing 3 changed files with 33 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
*/
package com.github.mobile.ui.repo;

import static com.github.mobile.Intents.EXTRA_USER;
import static java.util.Locale.US;
import android.app.Activity;
import android.os.Bundle;
Expand Down Expand Up @@ -52,6 +53,15 @@ public class RepositoryListFragment extends ItemListFragment<Repository>

private RecentRepositories recentRepos;

@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);

User org = this.org.get();
if (org != null)
outState.putSerializable(EXTRA_USER, org);
}

@Override
protected void configureList(Activity activity, ListView listView) {
super.configureList(activity, listView);
Expand Down Expand Up @@ -92,6 +102,8 @@ public void onActivityCreated(Bundle savedInstanceState) {
Activity activity = getActivity();
User currentOrg = ((OrganizationSelectionProvider) activity)
.addListener(this);
if (currentOrg == null && savedInstanceState != null)
currentOrg = (User) savedInstanceState.getSerializable(EXTRA_USER);
org.set(currentOrg);
if (currentOrg != null)
recentRepos = new RecentRepositories(activity, currentOrg);
Expand Down
10 changes: 10 additions & 0 deletions app/src/main/java/com/github/mobile/ui/user/MembersFragment.java
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
*/
package com.github.mobile.ui.user;

import static com.github.mobile.Intents.EXTRA_USER;
import android.os.Bundle;
import android.support.v4.content.Loader;
import android.view.View;
Expand Down Expand Up @@ -47,6 +48,13 @@ public class MembersFragment extends ItemListFragment<User> implements
@Inject
private AvatarLoader avatars;

public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);

if (org != null)
outState.putSerializable(EXTRA_USER, org);
}

@Override
public void onDetach() {
OrganizationSelectionProvider selectionProvider = (OrganizationSelectionProvider) getActivity();
Expand All @@ -59,6 +67,8 @@ public void onDetach() {
@Override
public void onActivityCreated(Bundle savedInstanceState) {
org = ((OrganizationSelectionProvider) getActivity()).addListener(this);
if (org == null && savedInstanceState != null)
org = (User) savedInstanceState.getSerializable(EXTRA_USER);
setEmptyText(string.no_members);

super.onActivityCreated(savedInstanceState);
Expand Down
11 changes: 11 additions & 0 deletions app/src/main/java/com/github/mobile/ui/user/UserNewsFragment.java
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
*/
package com.github.mobile.ui.user;

import static com.github.mobile.Intents.EXTRA_USER;
import android.os.Bundle;

import com.github.mobile.core.user.UserEventMatcher.UserPair;
Expand All @@ -34,9 +35,19 @@ public abstract class UserNewsFragment extends NewsFragment implements
*/
protected User org;

@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);

if (org != null)
outState.putSerializable(EXTRA_USER, org);
}

@Override
public void onActivityCreated(Bundle savedInstanceState) {
org = ((OrganizationSelectionProvider) getActivity()).addListener(this);
if (org == null && savedInstanceState != null)
org = (User) savedInstanceState.get(EXTRA_USER);

super.onActivityCreated(savedInstanceState);
}
Expand Down

0 comments on commit b332518

Please sign in to comment.