Merge "Don't reset message view when becoming active again."
This commit is contained in:
commit
9cb0ad3cd6
|
@ -88,7 +88,7 @@ public class MessageFileViewFragment extends MessageViewFragmentBase {
|
|||
synchronized (mLock) {
|
||||
mFileEmailUri = fileEmailUri;
|
||||
}
|
||||
openMessageIfStarted();
|
||||
loadMessageIfResumed();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -220,7 +220,7 @@ public class MessageViewFragment extends MessageViewFragmentBase {
|
|||
synchronized (mLock) {
|
||||
mMessageIdToOpen = messageId;
|
||||
}
|
||||
openMessageIfStarted();
|
||||
loadMessageIfResumed();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -147,7 +147,8 @@ public abstract class MessageViewFragmentBase extends Fragment implements View.O
|
|||
// contains the HTML content as set in WebView.
|
||||
private String mHtmlTextWebView;
|
||||
|
||||
private boolean mStarted;
|
||||
private boolean mResumed;
|
||||
private boolean mLoadWhenResumed;
|
||||
|
||||
private boolean mIsMessageLoadedForTest;
|
||||
|
||||
|
@ -347,10 +348,6 @@ public abstract class MessageViewFragmentBase extends Fragment implements View.O
|
|||
Log.d(Email.LOG_TAG, "MessageViewFragment onStart");
|
||||
}
|
||||
super.onStart();
|
||||
mStarted = true;
|
||||
if (isMessageSpecified()) {
|
||||
openMessageIfStarted();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -360,17 +357,17 @@ public abstract class MessageViewFragmentBase extends Fragment implements View.O
|
|||
}
|
||||
super.onResume();
|
||||
|
||||
// Dynamic configuration of WebView
|
||||
WebSettings.TextSize textZoom;
|
||||
switch (Preferences.getPreferences(mContext).getTextZoom()) {
|
||||
case Preferences.TEXT_ZOOM_TINY: textZoom = WebSettings.TextSize.SMALLEST; break;
|
||||
case Preferences.TEXT_ZOOM_SMALL: textZoom = WebSettings.TextSize.SMALLER; break;
|
||||
case Preferences.TEXT_ZOOM_NORMAL: textZoom = WebSettings.TextSize.NORMAL; break;
|
||||
case Preferences.TEXT_ZOOM_LARGE: textZoom = WebSettings.TextSize.LARGER; break;
|
||||
case Preferences.TEXT_ZOOM_HUGE: textZoom = WebSettings.TextSize.LARGEST; break;
|
||||
default: textZoom = WebSettings.TextSize.NORMAL; break;
|
||||
mResumed = true;
|
||||
if (isMessageSpecified()) {
|
||||
if (mLoadWhenResumed) {
|
||||
loadMessageIfResumed();
|
||||
} else {
|
||||
// This means, the user comes back from other (full-screen) activities.
|
||||
// In this case we've already loaded the content, so don't load it again,
|
||||
// which results in resetting all view state, including WebView zoom/pan
|
||||
// and the current tab.
|
||||
}
|
||||
}
|
||||
mMessageContentView.getSettings().setTextSize(textZoom);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -378,6 +375,7 @@ public abstract class MessageViewFragmentBase extends Fragment implements View.O
|
|||
if (Email.DEBUG_LIFECYCLE && Email.DEBUG) {
|
||||
Log.d(Email.LOG_TAG, "MessageViewFragment onPause");
|
||||
}
|
||||
mResumed = false;
|
||||
super.onPause();
|
||||
}
|
||||
|
||||
|
@ -386,7 +384,6 @@ public abstract class MessageViewFragmentBase extends Fragment implements View.O
|
|||
if (Email.DEBUG_LIFECYCLE && Email.DEBUG) {
|
||||
Log.d(Email.LOG_TAG, "MessageViewFragment onStop");
|
||||
}
|
||||
mStarted = false;
|
||||
super.onStop();
|
||||
}
|
||||
|
||||
|
@ -464,10 +461,12 @@ public abstract class MessageViewFragmentBase extends Fragment implements View.O
|
|||
resetView();
|
||||
}
|
||||
|
||||
protected final void openMessageIfStarted() {
|
||||
if (!mStarted) {
|
||||
protected final void loadMessageIfResumed() {
|
||||
if (!mResumed) {
|
||||
mLoadWhenResumed = true;
|
||||
return;
|
||||
}
|
||||
mLoadWhenResumed = false;
|
||||
cancelAllTasks();
|
||||
resetView();
|
||||
mLoadMessageTask = new LoadMessageTask(true);
|
||||
|
@ -481,6 +480,18 @@ public abstract class MessageViewFragmentBase extends Fragment implements View.O
|
|||
mMessageContentView.getSettings().setBlockNetworkLoads(true);
|
||||
mMessageContentView.scrollTo(0, 0);
|
||||
mMessageContentView.loadUrl("file:///android_asset/empty.html");
|
||||
|
||||
// Dynamic configuration of WebView
|
||||
WebSettings.TextSize textZoom;
|
||||
switch (Preferences.getPreferences(mContext).getTextZoom()) {
|
||||
case Preferences.TEXT_ZOOM_TINY: textZoom = WebSettings.TextSize.SMALLEST; break;
|
||||
case Preferences.TEXT_ZOOM_SMALL: textZoom = WebSettings.TextSize.SMALLER; break;
|
||||
case Preferences.TEXT_ZOOM_NORMAL: textZoom = WebSettings.TextSize.NORMAL; break;
|
||||
case Preferences.TEXT_ZOOM_LARGE: textZoom = WebSettings.TextSize.LARGER; break;
|
||||
case Preferences.TEXT_ZOOM_HUGE: textZoom = WebSettings.TextSize.LARGEST; break;
|
||||
default: textZoom = WebSettings.TextSize.NORMAL; break;
|
||||
}
|
||||
mMessageContentView.getSettings().setTextSize(textZoom);
|
||||
}
|
||||
mAttachmentsScroll.scrollTo(0, 0);
|
||||
mInviteScroll.scrollTo(0, 0);
|
||||
|
|
Loading…
Reference in New Issue