mirror of
https://github.com/moparisthebest/k-9
synced 2025-03-01 09:01:47 -05:00
Fix "Download complete message"
This commit is contained in:
parent
1e628e7177
commit
585d9cbe7f
@ -3402,7 +3402,7 @@ public class MessageCompose extends K9Activity implements OnClickListener,
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void loadMessageForViewFinished(Account account, String folder, String uid, Message message) {
|
public void loadMessageForViewFinished(Account account, String folder, String uid, LocalMessage message) {
|
||||||
if ((mMessageReference == null) || !mMessageReference.uid.equals(uid)) {
|
if ((mMessageReference == null) || !mMessageReference.uid.equals(uid)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -91,7 +91,7 @@ public class MessagingListener {
|
|||||||
Message message) {}
|
Message message) {}
|
||||||
|
|
||||||
public void loadMessageForViewFinished(Account account, String folder, String uid,
|
public void loadMessageForViewFinished(Account account, String folder, String uid,
|
||||||
Message message) {}
|
LocalMessage message) {}
|
||||||
|
|
||||||
public void loadMessageForViewFailed(Account account, String folder, String uid,
|
public void loadMessageForViewFailed(Account account, String folder, String uid,
|
||||||
Throwable t) {}
|
Throwable t) {}
|
||||||
|
@ -8,12 +8,14 @@ import android.app.Activity;
|
|||||||
import android.app.DialogFragment;
|
import android.app.DialogFragment;
|
||||||
import android.app.Fragment;
|
import android.app.Fragment;
|
||||||
import android.app.FragmentManager;
|
import android.app.FragmentManager;
|
||||||
|
import android.app.LoaderManager;
|
||||||
import android.app.LoaderManager.LoaderCallbacks;
|
import android.app.LoaderManager.LoaderCallbacks;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.Loader;
|
import android.content.Loader;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
|
import android.os.Handler;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.view.ContextThemeWrapper;
|
import android.view.ContextThemeWrapper;
|
||||||
@ -31,6 +33,7 @@ import com.fsck.k9.R;
|
|||||||
import com.fsck.k9.activity.ChooseFolder;
|
import com.fsck.k9.activity.ChooseFolder;
|
||||||
import com.fsck.k9.activity.MessageReference;
|
import com.fsck.k9.activity.MessageReference;
|
||||||
import com.fsck.k9.controller.MessagingController;
|
import com.fsck.k9.controller.MessagingController;
|
||||||
|
import com.fsck.k9.controller.MessagingListener;
|
||||||
import com.fsck.k9.crypto.PgpData;
|
import com.fsck.k9.crypto.PgpData;
|
||||||
import com.fsck.k9.fragment.ConfirmationDialogFragment;
|
import com.fsck.k9.fragment.ConfirmationDialogFragment;
|
||||||
import com.fsck.k9.fragment.ConfirmationDialogFragment.ConfirmationDialogFragmentListener;
|
import com.fsck.k9.fragment.ConfirmationDialogFragment.ConfirmationDialogFragmentListener;
|
||||||
@ -82,6 +85,8 @@ public class MessageViewFragment extends Fragment implements ConfirmationDialogF
|
|||||||
private LocalMessage mMessage;
|
private LocalMessage mMessage;
|
||||||
private MessagingController mController;
|
private MessagingController mController;
|
||||||
private LayoutInflater mLayoutInflater;
|
private LayoutInflater mLayoutInflater;
|
||||||
|
private Handler handler = new Handler();
|
||||||
|
private DownloadMessageListener downloadMessageListener = new DownloadMessageListener();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Used to temporarily store the destination folder for refile operations if a confirmation
|
* Used to temporarily store the destination folder for refile operations if a confirmation
|
||||||
@ -231,6 +236,27 @@ public class MessageViewFragment extends Fragment implements ConfirmationDialogF
|
|||||||
throw new RuntimeException("Not implemented yet");
|
throw new RuntimeException("Not implemented yet");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void onMessageDownloadFinished(LocalMessage message) {
|
||||||
|
mMessage = message;
|
||||||
|
|
||||||
|
LoaderManager loaderManager = getLoaderManager();
|
||||||
|
loaderManager.destroyLoader(LOCAL_MESSAGE_LOADER_ID);
|
||||||
|
loaderManager.destroyLoader(DECODE_MESSAGE_LOADER_ID);
|
||||||
|
|
||||||
|
onLoadMessageFromDatabaseFinished(mMessage);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void onDownloadMessageFailed(Throwable t) {
|
||||||
|
mMessageView.enableDownloadButton();
|
||||||
|
String errorMessage;
|
||||||
|
if (t instanceof IllegalArgumentException) {
|
||||||
|
errorMessage = mContext.getString(R.string.status_invalid_id_error);
|
||||||
|
} else {
|
||||||
|
errorMessage = mContext.getString(R.string.status_network_error);
|
||||||
|
}
|
||||||
|
Toast.makeText(mContext, errorMessage, Toast.LENGTH_LONG).show();
|
||||||
|
}
|
||||||
|
|
||||||
private void startExtractingTextAndAttachments(LocalMessage message) {
|
private void startExtractingTextAndAttachments(LocalMessage message) {
|
||||||
getLoaderManager().initLoader(DECODE_MESSAGE_LOADER_ID, null, decodeMessageLoaderCallback);
|
getLoaderManager().initLoader(DECODE_MESSAGE_LOADER_ID, null, decodeMessageLoaderCallback);
|
||||||
}
|
}
|
||||||
@ -462,8 +488,9 @@ public class MessageViewFragment extends Fragment implements ConfirmationDialogF
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
mMessageView.disableDownloadButton();
|
mMessageView.disableDownloadButton();
|
||||||
//FIXME
|
|
||||||
// mController.loadMessageForViewRemote(mAccount, mMessageReference.folderName, mMessageReference.uid, mListener);
|
mController.loadMessageForViewRemote(mAccount, mMessageReference.folderName, mMessageReference.uid,
|
||||||
|
downloadMessageListener);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void setProgress(boolean enable) {
|
private void setProgress(boolean enable) {
|
||||||
@ -735,4 +762,26 @@ public class MessageViewFragment extends Fragment implements ConfirmationDialogF
|
|||||||
private AttachmentController getAttachmentController(AttachmentViewInfo attachment) {
|
private AttachmentController getAttachmentController(AttachmentViewInfo attachment) {
|
||||||
return new AttachmentController(mMessageView, attachment);
|
return new AttachmentController(mMessageView, attachment);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private class DownloadMessageListener extends MessagingListener {
|
||||||
|
@Override
|
||||||
|
public void loadMessageForViewFinished(Account account, String folder, String uid, final LocalMessage message) {
|
||||||
|
handler.post(new Runnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
onMessageDownloadFinished(message);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void loadMessageForViewFailed(Account account, String folder, String uid, final Throwable t) {
|
||||||
|
handler.post(new Runnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
onDownloadMessageFailed(t);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -483,6 +483,10 @@ public class SingleMessageView extends LinearLayout implements OnClickListener,
|
|||||||
mDownloadRemainder.setOnClickListener(listener);
|
mDownloadRemainder.setOnClickListener(listener);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void enableDownloadButton() {
|
||||||
|
mDownloadRemainder.setEnabled(true);
|
||||||
|
}
|
||||||
|
|
||||||
public void disableDownloadButton() {
|
public void disableDownloadButton() {
|
||||||
mDownloadRemainder.setEnabled(false);
|
mDownloadRemainder.setEnabled(false);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user