Merge "MessageViewFragment: Preparing to use back stack."

This commit is contained in:
Makoto Onuki 2011-05-27 10:44:22 -07:00 committed by Android (Google) Code Review
commit 88b5e296e0
4 changed files with 12 additions and 27 deletions

View File

@ -137,10 +137,6 @@ public class MessageFileView extends Activity implements MessageViewFragmentBase
// Not important for EMLs
}
@Override
public void onMessageViewDestroyed() {
// Not important for EMLs
}
@Override
public void onLoadMessageStarted() {

View File

@ -210,9 +210,6 @@ public abstract class MessageViewFragmentBase extends Fragment implements View.O
/** Called when a message is about to be shown. */
public void onMessageShown();
/** Called when the fragment is about to be destroyed. */
public void onMessageViewDestroyed();
/**
* Called when a link in a message is clicked.
*
@ -239,7 +236,6 @@ public abstract class MessageViewFragmentBase extends Fragment implements View.O
public static class EmptyCallback implements Callback {
public static final Callback INSTANCE = new EmptyCallback();
@Override public void onMessageShown() {}
@Override public void onMessageViewDestroyed() {}
@Override public void onLoadMessageError(String errorMessage) {}
@Override public void onLoadMessageFinished() {}
@Override public void onLoadMessageStarted() {}
@ -269,10 +265,13 @@ public abstract class MessageViewFragmentBase extends Fragment implements View.O
mContext = getActivity().getApplicationContext();
// Initialize components, but don't "start" them. Registering the controller callbacks
// and starting MessageObserver, should be done in onActivityCreated or later and be stopped
// in onDestroyView to prevent from getting callbacks when the fragment is in the back
// stack, but they'll start again when it's back from the back stack.
mController = Controller.getInstance(mContext);
mControllerCallback = new ControllerResultUiThreadWrapper<ControllerResults>(
new Handler(), new ControllerResults());
mController = Controller.getInstance(mContext);
mMessageObserver = new MessageObserver(new Handler(), mContext);
if (savedInstanceState != null) {
@ -389,6 +388,11 @@ public abstract class MessageViewFragmentBase extends Fragment implements View.O
if (Logging.DEBUG_LIFECYCLE && Email.DEBUG) {
Log.d(Logging.LOG_TAG, this + " onDestroyView");
}
mController.removeResultCallback(mControllerCallback);
cancelAllTasks();
mMessageContentView.destroy();
mMessageContentView = null;
super.onDestroyView();
}
@ -397,11 +401,6 @@ public abstract class MessageViewFragmentBase extends Fragment implements View.O
if (Logging.DEBUG_LIFECYCLE && Email.DEBUG) {
Log.d(Logging.LOG_TAG, this + " onDestroy");
}
mCallback.onMessageViewDestroyed();
mController.removeResultCallback(mControllerCallback);
cancelAllTasks();
mMessageContentView.destroy();
mMessageContentView = null;
super.onDestroy();
}
@ -467,7 +466,6 @@ public abstract class MessageViewFragmentBase extends Fragment implements View.O
return mAccountId;
}
/**
* Show/hide the content. We hide all the content (except for the bottom buttons) when loading,
* to avoid flicker.

View File

@ -203,11 +203,6 @@ class UIControllerOnePane extends UIControllerBase {
}
@Override
public void onMessageViewDestroyed() {
// TODO Auto-generated method stub
}
@Override
public void onMessageShown() {

View File

@ -327,12 +327,6 @@ class UIControllerTwoPane extends UIControllerBase implements
updateNavigationArrows();
}
// MessageViewFragment$Callback
@Override
public void onMessageViewDestroyed() {
stopMessageOrderManager();
}
// MessageViewFragment$Callback
@Override
public boolean onUrlInMessageClicked(String url) {
@ -609,6 +603,8 @@ class UIControllerTwoPane extends UIControllerBase implements
mMessageViewFragment.setCallback(null);
mMessageViewFragment = null;
}
// Don't need it when there's no message view.
stopMessageOrderManager();
return ft;
}