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