Merge "Clean up fragment intallation."

This commit is contained in:
Makoto Onuki 2011-05-13 13:52:05 -07:00 committed by Android (Google) Code Review
commit f1554751c7
3 changed files with 46 additions and 31 deletions

View File

@ -99,7 +99,7 @@ abstract class UIControllerBase {
/**
* @return true if the UI controller currently can install fragments.
*/
boolean isFragmentInstallable() {
protected final boolean isFragmentInstallable() {
return !mHoldFragmentInstallation;
}
@ -226,23 +226,37 @@ abstract class UIControllerBase {
installFragment(fragment);
}
void installFragment(Fragment fragment) {
private void installFragment(Fragment fragment) {
if (Email.DEBUG_LIFECYCLE && Email.DEBUG) {
Log.d(Logging.LOG_TAG, this + " installFragment fragment=" + fragment);
}
if (fragment instanceof MailboxListFragment) {
installMailboxListFragment((MailboxListFragment) fragment);
} else if (fragment instanceof MessageListFragment) {
installMessageListFragment((MessageListFragment) fragment);
} else if (fragment instanceof MessageViewFragment) {
installMessageViewFragment((MessageViewFragment) fragment);
} else {
// Ignore -- uninteresting fragments such as dialogs.
}
}
protected abstract void installMailboxListFragment(MailboxListFragment fragment);
protected abstract void installMessageListFragment(MessageListFragment fragment);
protected abstract void installMessageViewFragment(MessageViewFragment fragment);
// not used
void popBackStack(FragmentManager fm, String name, int flags) {
protected final void popBackStack(FragmentManager fm, String name, int flags) {
fm.popBackStackImmediate(name, flags);
}
void commitFragmentTransaction(FragmentTransaction ft) {
protected final void commitFragmentTransaction(FragmentTransaction ft) {
ft.commit();
mActivity.getFragmentManager().executePendingTransactions();
}
/**
* @return the currently selected account ID, *or* {@link Account#ACCOUNT_ID_COMBINED_VIEW}.
*

View File

@ -22,7 +22,6 @@ import com.android.emailcommon.Logging;
import com.android.emailcommon.provider.EmailContent.Mailbox;
import com.android.emailcommon.utility.Utility;
import android.app.Fragment;
import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.os.Bundle;
@ -340,17 +339,18 @@ class UIControllerOnePane extends UIControllerBase {
}
@Override
void installFragment(Fragment fragment) {
super.installFragment(fragment);
if (fragment instanceof MailboxListFragment) {
((MailboxListFragment) fragment).setCallback(mMailboxListFragmentCallback);
} else if (fragment instanceof MessageListFragment) {
((MessageListFragment) fragment).setCallback(mMessageListFragmentCallback);
} else if (fragment instanceof MessageViewFragment) {
((MessageViewFragment) fragment).setCallback(mMessageViewFragmentCallback);
} else {
// Ignore -- uninteresting fragments such as dialogs.
}
protected void installMailboxListFragment(MailboxListFragment fragment) {
fragment.setCallback(mMailboxListFragmentCallback);
}
@Override
protected void installMessageListFragment(MessageListFragment fragment) {
fragment.setCallback(mMessageListFragmentCallback);
}
@Override
protected void installMessageViewFragment(MessageViewFragment fragment) {
fragment.setCallback(mMessageViewFragmentCallback);
}
@Override

View File

@ -536,20 +536,21 @@ class UIControllerTwoPane extends UIControllerBase implements
}
@Override
void installFragment(Fragment fragment) {
super.installFragment(fragment);
if (fragment instanceof MailboxListFragment) {
mMailboxListFragment = (MailboxListFragment) fragment;
mMailboxListFragment.setCallback(this);
} else if (fragment instanceof MessageListFragment) {
mMessageListFragment = (MessageListFragment) fragment;
mMessageListFragment.setCallback(this);
} else if (fragment instanceof MessageViewFragment) {
mMessageViewFragment = (MessageViewFragment) fragment;
mMessageViewFragment.setCallback(this);
} else {
// Ignore -- uninteresting fragments such as dialogs.
}
protected void installMailboxListFragment(MailboxListFragment fragment) {
mMailboxListFragment = fragment;
mMailboxListFragment.setCallback(this);
}
@Override
protected void installMessageListFragment(MessageListFragment fragment) {
mMessageListFragment = fragment;
mMessageListFragment.setCallback(this);
}
@Override
protected void installMessageViewFragment(MessageViewFragment fragment) {
mMessageViewFragment = fragment;
mMessageViewFragment.setCallback(this);
}
private FragmentTransaction uninstallMailboxListFragment(FragmentTransaction ft) {