From c6b15012e0cf0a382bb7c2ad17c792843f9f9d66 Mon Sep 17 00:00:00 2001 From: Jesse Vincent Date: Sat, 21 Nov 2009 22:45:39 +0000 Subject: [PATCH] tidied activity code: astyle --style=java -s4 --brackets=attach --convert-tabs --- src/com/android/email/activity/Accounts.java | 581 ++++++----- .../android/email/activity/ChooseFolder.java | 444 ++++----- .../email/activity/ChooseIdentity.java | 77 +- .../android/email/activity/EditIdentity.java | 34 +- .../android/email/activity/FolderList.java | 928 +++++++++-------- .../email/activity/ManageIdentities.java | 133 ++- .../email/activity/MessageCompose.java | 612 +++++------- .../android/email/activity/MessageList.java | 943 +++++++++--------- .../email/activity/ProgressListener.java | 4 +- .../android/email/activity/SizeFormatter.java | 31 +- .../email/activity/setup/AccountSettings.java | 154 ++- .../setup/AccountSetupAccountType.java | 31 +- .../activity/setup/AccountSetupBasics.java | 114 +-- .../setup/AccountSetupCheckSettings.java | 200 ++-- .../setup/AccountSetupComposition.java | 10 +- .../activity/setup/AccountSetupIncoming.java | 205 ++-- .../activity/setup/AccountSetupNames.java | 8 +- .../activity/setup/AccountSetupOptions.java | 105 +- .../activity/setup/AccountSetupOutgoing.java | 73 +- .../email/activity/setup/FolderSettings.java | 80 +- .../android/email/activity/setup/Prefs.java | 15 +- .../email/activity/setup/SpinnerOption.java | 2 +- 22 files changed, 2285 insertions(+), 2499 deletions(-) diff --git a/src/com/android/email/activity/Accounts.java b/src/com/android/email/activity/Accounts.java index 65d0b42b9..ec84a785b 100644 --- a/src/com/android/email/activity/Accounts.java +++ b/src/com/android/email/activity/Accounts.java @@ -55,193 +55,172 @@ import com.android.email.mail.store.LocalStore.LocalFolder; public class Accounts extends K9ListActivity implements OnItemClickListener, OnClickListener { private static final int DIALOG_REMOVE_ACCOUNT = 1; private ConcurrentHashMap unreadMessageCounts = new ConcurrentHashMap(); - + private ConcurrentHashMap pendingWork = new ConcurrentHashMap(); - + private Account mSelectedContextAccount; - + private AccountsHandler mHandler = new AccountsHandler(); private AccountsAdapter mAdapter; - + private class AccountSizeChangedHolder { - Account account; - long oldSize; - long newSize; + Account account; + long oldSize; + long newSize; } - - class AccountsHandler extends Handler - { - private static final int DATA_CHANGED = 1; - private static final int MSG_ACCOUNT_SIZE_CHANGED = 2; - private static final int MSG_WORKING_ACCOUNT = 3; - private static final int MSG_PROGRESS = 4; - private static final int MSG_FOLDER_SYNCING = 5; - private static final int MSG_DEFINITE_PROGRESS = 6; - public void handleMessage(android.os.Message msg) - { - switch (msg.what) - { - case DATA_CHANGED: - if (mAdapter != null) - { - mAdapter.notifyDataSetChanged(); + class AccountsHandler extends Handler { + private static final int DATA_CHANGED = 1; + private static final int MSG_ACCOUNT_SIZE_CHANGED = 2; + private static final int MSG_WORKING_ACCOUNT = 3; + private static final int MSG_PROGRESS = 4; + private static final int MSG_FOLDER_SYNCING = 5; + private static final int MSG_DEFINITE_PROGRESS = 6; + + public void handleMessage(android.os.Message msg) { + switch (msg.what) { + case DATA_CHANGED: + if (mAdapter != null) { + mAdapter.notifyDataSetChanged(); + } + break; + case MSG_WORKING_ACCOUNT: { + Account account = (Account)msg.obj; + int res = msg.arg1; + String toastText = getString(res, account.getDescription()); + + Toast toast = Toast.makeText(getApplication(), toastText, Toast.LENGTH_SHORT); + toast.show(); + break; } - break; - case MSG_WORKING_ACCOUNT: - { - Account account = (Account)msg.obj; - int res = msg.arg1; - String toastText = getString(res, account.getDescription()); - - Toast toast = Toast.makeText(getApplication(), toastText, Toast.LENGTH_SHORT); - toast.show(); - break; - } - case MSG_ACCOUNT_SIZE_CHANGED: - { - AccountSizeChangedHolder holder = (AccountSizeChangedHolder)msg.obj; - Account account = holder.account; - Long oldSize = holder.oldSize; - Long newSize = holder.newSize; - String toastText = getString(R.string.account_size_changed, account.getDescription(), - SizeFormatter.formatSize(getApplication(), oldSize), SizeFormatter.formatSize(getApplication(), newSize));; - - Toast toast = Toast.makeText(getApplication(), toastText, Toast.LENGTH_LONG); - toast.show(); - break; - } - case MSG_FOLDER_SYNCING: - { - String folderName = (String) ((Object[]) msg.obj)[0]; - String dispString; - dispString = getString(R.string.accounts_title); - if (folderName != null) - { - dispString += " (" + getString(R.string.status_loading) - + folderName + ")"; + case MSG_ACCOUNT_SIZE_CHANGED: { + AccountSizeChangedHolder holder = (AccountSizeChangedHolder)msg.obj; + Account account = holder.account; + Long oldSize = holder.oldSize; + Long newSize = holder.newSize; + String toastText = getString(R.string.account_size_changed, account.getDescription(), + SizeFormatter.formatSize(getApplication(), oldSize), SizeFormatter.formatSize(getApplication(), newSize));; + + Toast toast = Toast.makeText(getApplication(), toastText, Toast.LENGTH_LONG); + toast.show(); + break; + } + case MSG_FOLDER_SYNCING: { + String folderName = (String) ((Object[]) msg.obj)[0]; + String dispString; + dispString = getString(R.string.accounts_title); + if (folderName != null) { + dispString += " (" + getString(R.string.status_loading) + + folderName + ")"; + } + setTitle(dispString); + break; + } + case MSG_PROGRESS: + setProgressBarIndeterminateVisibility(msg.arg1 != 0); + //setProgressBarVisibility(msg.arg1 != 0); + break; + case MSG_DEFINITE_PROGRESS: + getWindow().setFeatureInt(Window.FEATURE_PROGRESS, msg.arg1); + break; + default: + super.handleMessage(msg); } - setTitle(dispString); - break; - } - case MSG_PROGRESS: - setProgressBarIndeterminateVisibility(msg.arg1 != 0); - //setProgressBarVisibility(msg.arg1 != 0); - break; - case MSG_DEFINITE_PROGRESS: - getWindow().setFeatureInt(Window.FEATURE_PROGRESS, msg.arg1); - break; - default: - super.handleMessage(msg); } - } - - public void dataChanged() - { - sendEmptyMessage(DATA_CHANGED); - } - - public void workingAccount(Account account, int res) - { - android.os.Message msg = new android.os.Message(); - msg.what = MSG_WORKING_ACCOUNT; - msg.obj = account; - msg.arg1 = res; - - sendMessage(msg); - } - - public void accountSizeChanged(Account account, long oldSize, long newSize) - { - android.os.Message msg = new android.os.Message(); - msg.what = MSG_ACCOUNT_SIZE_CHANGED; - AccountSizeChangedHolder holder = new AccountSizeChangedHolder(); - holder.account = account; - holder.oldSize = oldSize; - holder.newSize = newSize; - msg.obj = holder; - sendMessage(msg); - } - - public void progress(boolean progress) - { - android.os.Message msg = new android.os.Message(); - msg.what = MSG_PROGRESS; - msg.arg1 = progress ? 1 : 0; - sendMessage(msg); - } - public void progress(int progress) - { - android.os.Message msg = new android.os.Message(); - msg.what = MSG_DEFINITE_PROGRESS; - msg.arg1 = progress ; - sendMessage(msg); - } - public void folderSyncing(String folder) - { - android.os.Message msg = new android.os.Message(); - msg.what = MSG_FOLDER_SYNCING; - msg.obj = new String[] - { folder }; - sendMessage(msg); - } + + public void dataChanged() { + sendEmptyMessage(DATA_CHANGED); + } + + public void workingAccount(Account account, int res) { + android.os.Message msg = new android.os.Message(); + msg.what = MSG_WORKING_ACCOUNT; + msg.obj = account; + msg.arg1 = res; + + sendMessage(msg); + } + + public void accountSizeChanged(Account account, long oldSize, long newSize) { + android.os.Message msg = new android.os.Message(); + msg.what = MSG_ACCOUNT_SIZE_CHANGED; + AccountSizeChangedHolder holder = new AccountSizeChangedHolder(); + holder.account = account; + holder.oldSize = oldSize; + holder.newSize = newSize; + msg.obj = holder; + sendMessage(msg); + } + + public void progress(boolean progress) { + android.os.Message msg = new android.os.Message(); + msg.what = MSG_PROGRESS; + msg.arg1 = progress ? 1 : 0; + sendMessage(msg); + } + public void progress(int progress) { + android.os.Message msg = new android.os.Message(); + msg.what = MSG_DEFINITE_PROGRESS; + msg.arg1 = progress ; + sendMessage(msg); + } + public void folderSyncing(String folder) { + android.os.Message msg = new android.os.Message(); + msg.what = MSG_FOLDER_SYNCING; + msg.obj = new String[] { folder }; + sendMessage(msg); + } } - + MessagingListener mListener = new MessagingListener() { - @Override - public void accountStatusChanged(Account account, int unreadMessageCount) - { - unreadMessageCounts.put(account.getUuid(), unreadMessageCount); - mHandler.dataChanged(); - pendingWork.remove(account); - + @Override + public void accountStatusChanged(Account account, int unreadMessageCount) { + unreadMessageCounts.put(account.getUuid(), unreadMessageCount); + mHandler.dataChanged(); + pendingWork.remove(account); - if (pendingWork.isEmpty()) - { - mHandler.progress(Window.PROGRESS_END); + + if (pendingWork.isEmpty()) { + mHandler.progress(Window.PROGRESS_END); + } else { + int level = (Window.PROGRESS_END / mAdapter.getCount()) * (mAdapter.getCount() - pendingWork.size()) ; + mHandler.progress(level); + } } - else { - int level = (Window.PROGRESS_END / mAdapter.getCount()) * (mAdapter.getCount() - pendingWork.size()) ; - mHandler.progress(level); + + @Override + public void accountSizeChanged(Account account, long oldSize, long newSize) { + + mHandler.accountSizeChanged(account, oldSize, newSize); + } - } - - @Override - public void accountSizeChanged(Account account, long oldSize, long newSize) - { - mHandler.accountSizeChanged(account, oldSize, newSize); - - } - - @Override - public void synchronizeMailboxFinished( - Account account, - String folder, - int totalMessagesInMailbox, - int numNewMessages) { - MessagingController.getInstance(getApplication()).getAccountUnreadCount(Accounts.this, account, mListener); + @Override + public void synchronizeMailboxFinished( + Account account, + String folder, + int totalMessagesInMailbox, + int numNewMessages) { + MessagingController.getInstance(getApplication()).getAccountUnreadCount(Accounts.this, account, mListener); - mHandler.progress(false); - mHandler.folderSyncing(null); - } - - @Override - public void synchronizeMailboxStarted(Account account, String folder) - { - mHandler.progress(true); - mHandler.folderSyncing(account.getDescription() - + getString(R.string.notification_bg_title_separator) + folder); - } - - @Override - public void synchronizeMailboxFailed(Account account, String folder, - String message) - { mHandler.progress(false); mHandler.folderSyncing(null); - } + } + + @Override + public void synchronizeMailboxStarted(Account account, String folder) { + mHandler.progress(true); + mHandler.folderSyncing(account.getDescription() + + getString(R.string.notification_bg_title_separator) + folder); + } + + @Override + public void synchronizeMailboxFailed(Account account, String folder, + String message) { + mHandler.progress(false); + mHandler.folderSyncing(null); + } }; @@ -256,7 +235,7 @@ public class Accounts extends K9ListActivity implements OnItemClickListener, OnC intent.putExtra(EXTRA_STARTUP, true); context.startActivity(intent); } - + public static void listAccounts(Context context) { Intent intent = new Intent(context, Accounts.class); intent.putExtra(EXTRA_STARTUP, false); @@ -274,8 +253,7 @@ public class Accounts extends K9ListActivity implements OnItemClickListener, OnC if (startup && accounts.length == 1) { FolderList.actionHandleAccount(this, accounts[0], accounts[0].getAutoExpandFolderName()); finish(); - } - else { + } else { requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS); requestWindowFeature(Window.FEATURE_PROGRESS); @@ -316,11 +294,11 @@ public class Accounts extends K9ListActivity implements OnItemClickListener, OnC refresh(); MessagingController.getInstance(getApplication()).addListener(mListener); } - + @Override public void onPause() { - super.onPause(); - MessagingController.getInstance(getApplication()).removeListener(mListener); + super.onPause(); + MessagingController.getInstance(getApplication()).removeListener(mListener); } private void refresh() { @@ -328,15 +306,15 @@ public class Accounts extends K9ListActivity implements OnItemClickListener, OnC mAdapter = new AccountsAdapter(accounts); getListView().setAdapter(mAdapter); if (accounts.length > 0) { - mHandler.progress(Window.PROGRESS_START); + mHandler.progress(Window.PROGRESS_START); } pendingWork.clear(); for (Account account : accounts) { - pendingWork.put(account, "true"); - MessagingController.getInstance(getApplication()).getAccountUnreadCount(Accounts.this, account, mListener); - + pendingWork.put(account, "true"); + MessagingController.getInstance(getApplication()).getAccountUnreadCount(Accounts.this, account, mListener); + } - + } private void onAddNewAccount() { @@ -355,28 +333,27 @@ public class Accounts extends K9ListActivity implements OnItemClickListener, OnC private void onCheckMail(Account account) { MessagingController.getInstance(getApplication()).checkMail(this, account, true, true, null); } - + private void onClearCommands(Account account) { - MessagingController.getInstance(getApplication()).clearAllPending(account); + MessagingController.getInstance(getApplication()).clearAllPending(account); } - + private void onEmptyTrash(Account account) { - MessagingController.getInstance(getApplication()).emptyTrash(account, null); - } + MessagingController.getInstance(getApplication()).emptyTrash(account, null); + } private void onCompose() { Account defaultAccount = Preferences.getPreferences(this).getDefaultAccount(); if (defaultAccount != null) { MessageCompose.actionCompose(this, defaultAccount); - } - else { + } else { onAddNewAccount(); } } private void onOpenAccount(Account account) { - FolderList.actionHandleAccount(this, account, true); + FolderList.actionHandleAccount(this, account, true); } public void onClick(View view) { @@ -393,19 +370,19 @@ public class Accounts extends K9ListActivity implements OnItemClickListener, OnC @Override public Dialog onCreateDialog(int id) { switch (id) { - case DIALOG_REMOVE_ACCOUNT: - return createRemoveAccountDialog(); + case DIALOG_REMOVE_ACCOUNT: + return createRemoveAccountDialog(); } return super.onCreateDialog(id); } - + public void onPrepareDialog(int id, Dialog d) { switch (id) { - case DIALOG_REMOVE_ACCOUNT: - AlertDialog alert = (AlertDialog) d; - alert.setMessage(getString(R.string.account_delete_dlg_instructions_fmt, - mSelectedContextAccount.getDescription())); - break; + case DIALOG_REMOVE_ACCOUNT: + AlertDialog alert = (AlertDialog) d; + alert.setMessage(getString(R.string.account_delete_dlg_instructions_fmt, + mSelectedContextAccount.getDescription())); + break; } super.onPrepareDialog(id, d); @@ -414,72 +391,72 @@ public class Accounts extends K9ListActivity implements OnItemClickListener, OnC private Dialog createRemoveAccountDialog() { return new AlertDialog.Builder(this) - .setTitle(R.string.account_delete_dlg_title) - .setMessage(getString(R.string.account_delete_dlg_instructions_fmt, mSelectedContextAccount.getDescription())) - .setPositiveButton(R.string.okay_action, new DialogInterface.OnClickListener() { - public void onClick(DialogInterface dialog, int whichButton) { - dismissDialog(DIALOG_REMOVE_ACCOUNT); - try { - ((LocalStore)Store.getInstance( mSelectedContextAccount.getLocalStoreUri(), getApplication())).delete(); - } catch (Exception e) { - // Ignore - } - mSelectedContextAccount.delete(Preferences.getPreferences(Accounts.this)); - Email.setServicesEnabled(Accounts.this); - refresh(); + .setTitle(R.string.account_delete_dlg_title) + .setMessage(getString(R.string.account_delete_dlg_instructions_fmt, mSelectedContextAccount.getDescription())) + .setPositiveButton(R.string.okay_action, new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int whichButton) { + dismissDialog(DIALOG_REMOVE_ACCOUNT); + try { + ((LocalStore)Store.getInstance( mSelectedContextAccount.getLocalStoreUri(), getApplication())).delete(); + } catch (Exception e) { + // Ignore } - }) - .setNegativeButton(R.string.cancel_action, new DialogInterface.OnClickListener() { - public void onClick(DialogInterface dialog, int whichButton) { - dismissDialog(DIALOG_REMOVE_ACCOUNT); - } - }) - .create(); + mSelectedContextAccount.delete(Preferences.getPreferences(Accounts.this)); + Email.setServicesEnabled(Accounts.this); + refresh(); + } + }) + .setNegativeButton(R.string.cancel_action, new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int whichButton) { + dismissDialog(DIALOG_REMOVE_ACCOUNT); + } + }) + .create(); } public boolean onContextItemSelected(MenuItem item) { AdapterContextMenuInfo menuInfo = (AdapterContextMenuInfo)item.getMenuInfo(); Account account = (Account)getListView().getItemAtPosition(menuInfo.position); switch (item.getItemId()) { - case R.id.edit_prefs: - onEditPrefs(); - break; - case R.id.delete_account: - onDeleteAccount(account); - break; - case R.id.edit_account: - onEditAccount(account); - break; - case R.id.open: - onOpenAccount(account); - break; - case R.id.check_mail: - onCheckMail(account); - break; - case R.id.clear_pending: - onClearCommands(account); - break; - case R.id.empty_trash: - onEmptyTrash(account); - break; - case R.id.compact: - onCompact(account); - break; - case R.id.clear: - onClear(account); - break; + case R.id.edit_prefs: + onEditPrefs(); + break; + case R.id.delete_account: + onDeleteAccount(account); + break; + case R.id.edit_account: + onEditAccount(account); + break; + case R.id.open: + onOpenAccount(account); + break; + case R.id.check_mail: + onCheckMail(account); + break; + case R.id.clear_pending: + onClearCommands(account); + break; + case R.id.empty_trash: + onEmptyTrash(account); + break; + case R.id.compact: + onCompact(account); + break; + case R.id.clear: + onClear(account); + break; } return true; } - + private void onCompact(Account account) { - mHandler.workingAccount(account, R.string.compacting_account); - MessagingController.getInstance(getApplication()).compact(account, null); + mHandler.workingAccount(account, R.string.compacting_account); + MessagingController.getInstance(getApplication()).compact(account, null); } - + private void onClear(Account account) { - mHandler.workingAccount(account, R.string.clearing_account); - MessagingController.getInstance(getApplication()).clear(account, null); + mHandler.workingAccount(account, R.string.clearing_account); + MessagingController.getInstance(getApplication()).clear(account, null); } @@ -491,48 +468,48 @@ public class Accounts extends K9ListActivity implements OnItemClickListener, OnC @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { - case R.id.add_new_account: - onAddNewAccount(); - break; - case R.id.edit_prefs: - onEditPrefs(); - break; - case R.id.check_mail: - onCheckMail(null); - break; - case R.id.compose: - onCompose(); - break; - case R.id.about: - onAbout(); - break; - default: - return super.onOptionsItemSelected(item); + case R.id.add_new_account: + onAddNewAccount(); + break; + case R.id.edit_prefs: + onEditPrefs(); + break; + case R.id.check_mail: + onCheckMail(null); + break; + case R.id.compose: + onCompose(); + break; + case R.id.about: + onAbout(); + break; + default: + return super.onOptionsItemSelected(item); } return true; } private void onAbout() { - String appName = getString(R.string.app_name); - WebView wv = new WebView(this); - String html = "

" + String.format(getString(R.string.about_title_fmt).toString(), - "" + appName + "") + "

" + - "

" + appName + " " + - String.format(getString(R.string.debug_version_fmt).toString(), - getVersionNumber()) + "

" + - "

" + String.format(getString(R.string.app_authors_fmt).toString(), - getString(R.string.app_authors)) + "

" + - "

" + String.format(getString(R.string.app_revision_fmt).toString(), - "" + - getString(R.string.app_revision_url) + "

"); - wv.loadData(html, "text/html", "utf-8"); - new AlertDialog.Builder(this) + String appName = getString(R.string.app_name); + WebView wv = new WebView(this); + String html = "

" + String.format(getString(R.string.about_title_fmt).toString(), + "" + appName + "") + "

" + + "

" + appName + " " + + String.format(getString(R.string.debug_version_fmt).toString(), + getVersionNumber()) + "

" + + "

" + String.format(getString(R.string.app_authors_fmt).toString(), + getString(R.string.app_authors)) + "

" + + "

" + String.format(getString(R.string.app_revision_fmt).toString(), + "" + + getString(R.string.app_revision_url) + "

"); + wv.loadData(html, "text/html", "utf-8"); + new AlertDialog.Builder(this) .setView(wv) .setCancelable(true) .setPositiveButton(R.string.okay_action, new DialogInterface.OnClickListener () { - public void onClick(DialogInterface d, int c) { - d.dismiss(); - } + public void onClick(DialogInterface d, int c) { + d.dismiss(); + } }) .show(); } @@ -543,17 +520,17 @@ public class Accounts extends K9ListActivity implements OnItemClickListener, OnC * @return String version */ private String getVersionNumber() { - String version = "?"; - try { - PackageInfo pi = getPackageManager().getPackageInfo(getPackageName(), 0); - version = pi.versionName; - } catch (PackageManager.NameNotFoundException e) { - //Log.e(TAG, "Package name not found", e); - }; - return version; - } - - public boolean onItemLongClick(AdapterView parent, View view, int position, long id) { + String version = "?"; + try { + PackageInfo pi = getPackageManager().getPackageInfo(getPackageName(), 0); + version = pi.versionName; + } catch (PackageManager.NameNotFoundException e) { + //Log.e(TAG, "Package name not found", e); + }; + return version; + } + + public boolean onItemLongClick(AdapterView parent, View view, int position, long id) { return true; } @@ -575,21 +552,20 @@ public class Accounts extends K9ListActivity implements OnItemClickListener, OnC public boolean onKeyDown(int keyCode, KeyEvent event) { return super.onKeyDown(keyCode, event); } - + class AccountsAdapter extends ArrayAdapter { public AccountsAdapter(Account[] accounts) { super(Accounts.this, 0, accounts); } - + @Override public View getView(int position, View convertView, ViewGroup parent) { Account account = getItem(position); View view; if (convertView != null) { view = convertView; - } - else { + } else { view = getLayoutInflater().inflate(R.layout.accounts_item, parent, false); } AccountViewHolder holder = (AccountViewHolder) view.getTag(); @@ -608,14 +584,13 @@ public class Accounts extends K9ListActivity implements OnItemClickListener, OnC Integer unreadMessageCount = unreadMessageCounts.get(account.getUuid()); if (unreadMessageCount != null) { - holder.newMessageCount.setText(Integer.toString(unreadMessageCount)); - holder.newMessageCount.setVisibility(unreadMessageCount > 0 ? View.VISIBLE : View.GONE); + holder.newMessageCount.setText(Integer.toString(unreadMessageCount)); + holder.newMessageCount.setVisibility(unreadMessageCount > 0 ? View.VISIBLE : View.GONE); + } else { + //holder.newMessageCount.setText("-"); + holder.newMessageCount.setVisibility(View.GONE); } - else { - //holder.newMessageCount.setText("-"); - holder.newMessageCount.setVisibility(View.GONE); - } - + return view; } diff --git a/src/com/android/email/activity/ChooseFolder.java b/src/com/android/email/activity/ChooseFolder.java index 213604453..0f8d1c8be 100644 --- a/src/com/android/email/activity/ChooseFolder.java +++ b/src/com/android/email/activity/ChooseFolder.java @@ -27,261 +27,225 @@ import com.android.email.R; import com.android.email.mail.Folder; import com.android.email.mail.MessagingException; -public class ChooseFolder extends K9ListActivity -{ - String mFolder; - Account mAccount; - String mUID; - ArrayAdapter adapter; - private ChooseFolderHandler mHandler = new ChooseFolderHandler(); - String heldInbox = null; - boolean hideCurrentFolder = true; - boolean showOptionNone = false; - boolean showDisplayableOnly = false; +public class ChooseFolder extends K9ListActivity { + String mFolder; + Account mAccount; + String mUID; + ArrayAdapter adapter; + private ChooseFolderHandler mHandler = new ChooseFolderHandler(); + String heldInbox = null; + boolean hideCurrentFolder = true; + boolean showOptionNone = false; + boolean showDisplayableOnly = false; - public static final String EXTRA_ACCOUNT = "com.android.email.ChooseFolder_account"; - public static final String EXTRA_CUR_FOLDER = "com.android.email.ChooseFolder_curfolder"; - public static final String EXTRA_NEW_FOLDER = "com.android.email.ChooseFolder_newfolder"; - public static final String EXTRA_MESSAGE_UID = "com.android.email.ChooseFolder_messageuid"; - public static final String EXTRA_SHOW_CURRENT = "com.android.email.ChooseFolder_showcurrent"; - public static final String EXTRA_SHOW_FOLDER_NONE = "com.android.email.ChooseFolder_showOptionNone"; - public static final String EXTRA_SHOW_DISPLAYABLE_ONLY = "com.android.email.ChooseFolder_showDisplayableOnly"; + public static final String EXTRA_ACCOUNT = "com.android.email.ChooseFolder_account"; + public static final String EXTRA_CUR_FOLDER = "com.android.email.ChooseFolder_curfolder"; + public static final String EXTRA_NEW_FOLDER = "com.android.email.ChooseFolder_newfolder"; + public static final String EXTRA_MESSAGE_UID = "com.android.email.ChooseFolder_messageuid"; + public static final String EXTRA_SHOW_CURRENT = "com.android.email.ChooseFolder_showcurrent"; + public static final String EXTRA_SHOW_FOLDER_NONE = "com.android.email.ChooseFolder_showOptionNone"; + public static final String EXTRA_SHOW_DISPLAYABLE_ONLY = "com.android.email.ChooseFolder_showDisplayableOnly"; - @Override - public void onCreate(Bundle savedInstanceState) - { - super.onCreate(savedInstanceState); + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); - requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS); - getListView().setFastScrollEnabled(true); - getListView().setTextFilterEnabled(true); - getListView().setItemsCanFocus(false); - getListView().setChoiceMode(ListView.CHOICE_MODE_NONE); - Intent intent = getIntent(); - mAccount = (Account) intent.getSerializableExtra(EXTRA_ACCOUNT); - mUID = intent.getStringExtra(EXTRA_MESSAGE_UID); - mFolder = intent.getStringExtra(EXTRA_CUR_FOLDER); - if (intent.getStringExtra(EXTRA_SHOW_CURRENT) != null) { - hideCurrentFolder = false; - } - if (intent.getStringExtra(EXTRA_SHOW_FOLDER_NONE) != null) { - showOptionNone = true; - } - if (intent.getStringExtra(EXTRA_SHOW_DISPLAYABLE_ONLY) != null) { - showDisplayableOnly = true; - } - if(mFolder == null) - mFolder = ""; - - adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1); - - setListAdapter(adapter); - - - MessagingController.getInstance(getApplication()).listFolders(mAccount, - false, mListener); - - - this.getListView().setOnItemClickListener(new AdapterView.OnItemClickListener() { - public void onItemClick(AdapterView adapterview, View view, int i, long l) - { - Intent intent = new Intent(); - intent.putExtra(EXTRA_CUR_FOLDER, mFolder); - String destFolderName = (String)((TextView)view).getText(); - if (heldInbox != null && getString(R.string.special_mailbox_name_inbox).equals(destFolderName)) - { - destFolderName = heldInbox; + requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS); + getListView().setFastScrollEnabled(true); + getListView().setTextFilterEnabled(true); + getListView().setItemsCanFocus(false); + getListView().setChoiceMode(ListView.CHOICE_MODE_NONE); + Intent intent = getIntent(); + mAccount = (Account) intent.getSerializableExtra(EXTRA_ACCOUNT); + mUID = intent.getStringExtra(EXTRA_MESSAGE_UID); + mFolder = intent.getStringExtra(EXTRA_CUR_FOLDER); + if (intent.getStringExtra(EXTRA_SHOW_CURRENT) != null) { + hideCurrentFolder = false; } - intent.putExtra(EXTRA_NEW_FOLDER, destFolderName); - intent.putExtra(EXTRA_MESSAGE_UID, mUID); - setResult(RESULT_OK, intent); - finish(); - } - }); + if (intent.getStringExtra(EXTRA_SHOW_FOLDER_NONE) != null) { + showOptionNone = true; + } + if (intent.getStringExtra(EXTRA_SHOW_DISPLAYABLE_ONLY) != null) { + showDisplayableOnly = true; + } + if (mFolder == null) + mFolder = ""; - } - - class ChooseFolderHandler extends Handler - { + adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1); - private static final int MSG_PROGRESS = 2; + setListAdapter(adapter); - private static final int MSG_DATA_CHANGED = 3; - private static final int MSG_SET_SELECTED_FOLDER = 4; - public void handleMessage(android.os.Message msg) - { - switch (msg.what) - { - case MSG_PROGRESS: - setProgressBarIndeterminateVisibility(msg.arg1 != 0); - break; - case MSG_DATA_CHANGED: - adapter.notifyDataSetChanged(); - break; - case MSG_SET_SELECTED_FOLDER: - // TODO: I want this to highlight the chosen folder, but this doesn't work. + MessagingController.getInstance(getApplication()).listFolders(mAccount, + false, mListener); + + + this.getListView().setOnItemClickListener(new AdapterView.OnItemClickListener() { + public void onItemClick(AdapterView adapterview, View view, int i, long l) { + Intent intent = new Intent(); + intent.putExtra(EXTRA_CUR_FOLDER, mFolder); + String destFolderName = (String)((TextView)view).getText(); + if (heldInbox != null && getString(R.string.special_mailbox_name_inbox).equals(destFolderName)) { + destFolderName = heldInbox; + } + intent.putExtra(EXTRA_NEW_FOLDER, destFolderName); + intent.putExtra(EXTRA_MESSAGE_UID, mUID); + setResult(RESULT_OK, intent); + finish(); + } + }); + + } + + class ChooseFolderHandler extends Handler { + + private static final int MSG_PROGRESS = 2; + + private static final int MSG_DATA_CHANGED = 3; + private static final int MSG_SET_SELECTED_FOLDER = 4; + + public void handleMessage(android.os.Message msg) { + switch (msg.what) { + case MSG_PROGRESS: + setProgressBarIndeterminateVisibility(msg.arg1 != 0); + break; + case MSG_DATA_CHANGED: + adapter.notifyDataSetChanged(); + break; + case MSG_SET_SELECTED_FOLDER: + // TODO: I want this to highlight the chosen folder, but this doesn't work. // getListView().setSelection(msg.arg1); // getListView().setItemChecked(msg.arg1, true); - break; - } - } - - public void progress(boolean progress) - { - android.os.Message msg = new android.os.Message(); - msg.what = MSG_PROGRESS; - msg.arg1 = progress ? 1 : 0; - sendMessage(msg); - } - - public void setSelectedFolder(int position) - { - android.os.Message msg = new android.os.Message(); - msg.what = MSG_SET_SELECTED_FOLDER; - msg.arg1 = position; - sendMessage(msg); - } - - public void dataChanged() - { - sendEmptyMessage(MSG_DATA_CHANGED); - } - } - - private MessagingListener mListener = new MessagingListener() - { - public void listFoldersStarted(Account account) - { - if (!account.equals(mAccount)) - { - return; - } - mHandler.progress(true); - } - - @Override - public void listFoldersFailed(Account account, String message) - { - if (!account.equals(mAccount)) - { - return; - } - mHandler.progress(false); - } - - @Override - public void listFoldersFinished(Account account) - { - if (!account.equals(mAccount)) - { - return; - } - mHandler.progress(false); - } - @Override - public void listFolders(Account account, Folder[] folders) - { - if (!account.equals(mAccount)) - { - return; - } - Account.FolderMode aMode = Account.FolderMode.ALL; - if (showDisplayableOnly) - { - aMode = account.getFolderDisplayMode(); - } - else - { - aMode = account.getFolderTargetMode(); - } - Preferences prefs = Preferences.getPreferences(getApplication().getApplicationContext()); - ArrayList localFolders = new ArrayList(); - - for (Folder folder : folders) - { - String name = folder.getName(); - - // Inbox needs to be compared case-insensitively - if(hideCurrentFolder && (name.equals(mFolder) || (Email.INBOX.equalsIgnoreCase(mFolder) && Email.INBOX.equalsIgnoreCase(name)))) { - continue; + break; + } } - try - { - folder.refresh(prefs); - Folder.FolderClass fMode = folder.getDisplayClass(); - if ((aMode == Account.FolderMode.FIRST_CLASS && fMode != Folder.FolderClass.FIRST_CLASS) - || (aMode == Account.FolderMode.FIRST_AND_SECOND_CLASS && - fMode != Folder.FolderClass.FIRST_CLASS && - fMode != Folder.FolderClass.SECOND_CLASS) - || (aMode == Account.FolderMode.NOT_SECOND_CLASS && fMode == Folder.FolderClass.SECOND_CLASS)) - { - continue; - } + public void progress(boolean progress) { + android.os.Message msg = new android.os.Message(); + msg.what = MSG_PROGRESS; + msg.arg1 = progress ? 1 : 0; + sendMessage(msg); } - catch (MessagingException me) - { - Log.e(Email.LOG_TAG, "Couldn't get prefs to check for displayability of folder " + folder.getName(), me); - } - - localFolders.add(folder.getName()); - - } - if (showOptionNone) - { - localFolders.add(Email.FOLDER_NONE); - } - - Collections.sort(localFolders, new Comparator() { - public int compare(String aName, String bName) - { - if (Email.FOLDER_NONE.equalsIgnoreCase(aName)) - { - return -1; - } - if (Email.FOLDER_NONE.equalsIgnoreCase(bName)) - { - return 1; - } - if (Email.INBOX.equalsIgnoreCase(aName)) - { - return -1; - } - if (Email.INBOX.equalsIgnoreCase(bName)) - { - return 1; - } - - return aName.compareToIgnoreCase(bName); + public void setSelectedFolder(int position) { + android.os.Message msg = new android.os.Message(); + msg.what = MSG_SET_SELECTED_FOLDER; + msg.arg1 = position; + sendMessage(msg); } - }); - adapter.setNotifyOnChange(false); - adapter.clear(); - int selectedFolder = -1; - int position = 0; - for (String name : localFolders) { - if (Email.INBOX.equalsIgnoreCase(name)) - { - adapter.add(getString(R.string.special_mailbox_name_inbox)); - heldInbox = name; + + public void dataChanged() { + sendEmptyMessage(MSG_DATA_CHANGED); } - else { - adapter.add(name); - } - - if((name.equals(mFolder) || (Email.INBOX.equalsIgnoreCase(mFolder) && Email.INBOX.equalsIgnoreCase(name)))) { - selectedFolder = position; - } - position++; - } - if (selectedFolder != -1) - { - mHandler.setSelectedFolder(selectedFolder); - } - mHandler.dataChanged(); - } - }; + + private MessagingListener mListener = new MessagingListener() { + public void listFoldersStarted(Account account) { + if (!account.equals(mAccount)) { + return; + } + mHandler.progress(true); + } + + @Override + public void listFoldersFailed(Account account, String message) { + if (!account.equals(mAccount)) { + return; + } + mHandler.progress(false); + } + + @Override + public void listFoldersFinished(Account account) { + if (!account.equals(mAccount)) { + return; + } + mHandler.progress(false); + } + @Override + public void listFolders(Account account, Folder[] folders) { + if (!account.equals(mAccount)) { + return; + } + Account.FolderMode aMode = Account.FolderMode.ALL; + if (showDisplayableOnly) { + aMode = account.getFolderDisplayMode(); + } else { + aMode = account.getFolderTargetMode(); + } + Preferences prefs = Preferences.getPreferences(getApplication().getApplicationContext()); + ArrayList localFolders = new ArrayList(); + + for (Folder folder : folders) { + String name = folder.getName(); + + // Inbox needs to be compared case-insensitively + if (hideCurrentFolder && (name.equals(mFolder) || (Email.INBOX.equalsIgnoreCase(mFolder) && Email.INBOX.equalsIgnoreCase(name)))) { + continue; + } + try { + folder.refresh(prefs); + Folder.FolderClass fMode = folder.getDisplayClass(); + + if ((aMode == Account.FolderMode.FIRST_CLASS && fMode != Folder.FolderClass.FIRST_CLASS) + || (aMode == Account.FolderMode.FIRST_AND_SECOND_CLASS && + fMode != Folder.FolderClass.FIRST_CLASS && + fMode != Folder.FolderClass.SECOND_CLASS) + || (aMode == Account.FolderMode.NOT_SECOND_CLASS && fMode == Folder.FolderClass.SECOND_CLASS)) { + continue; + } + } catch (MessagingException me) { + Log.e(Email.LOG_TAG, "Couldn't get prefs to check for displayability of folder " + folder.getName(), me); + } + + localFolders.add(folder.getName()); + + } + + if (showOptionNone) { + localFolders.add(Email.FOLDER_NONE); + } + + Collections.sort(localFolders, new Comparator() { + public int compare(String aName, String bName) { + if (Email.FOLDER_NONE.equalsIgnoreCase(aName)) { + return -1; + } + if (Email.FOLDER_NONE.equalsIgnoreCase(bName)) { + return 1; + } + if (Email.INBOX.equalsIgnoreCase(aName)) { + return -1; + } + if (Email.INBOX.equalsIgnoreCase(bName)) { + return 1; + } + + return aName.compareToIgnoreCase(bName); + } + }); + adapter.setNotifyOnChange(false); + adapter.clear(); + int selectedFolder = -1; + int position = 0; + for (String name : localFolders) { + if (Email.INBOX.equalsIgnoreCase(name)) { + adapter.add(getString(R.string.special_mailbox_name_inbox)); + heldInbox = name; + } else { + adapter.add(name); + } + + if ((name.equals(mFolder) || (Email.INBOX.equalsIgnoreCase(mFolder) && Email.INBOX.equalsIgnoreCase(name)))) { + selectedFolder = position; + } + position++; + } + if (selectedFolder != -1) { + mHandler.setSelectedFolder(selectedFolder); + } + mHandler.dataChanged(); + + } + }; } diff --git a/src/com/android/email/activity/ChooseIdentity.java b/src/com/android/email/activity/ChooseIdentity.java index 1bba15599..165c15737 100644 --- a/src/com/android/email/activity/ChooseIdentity.java +++ b/src/com/android/email/activity/ChooseIdentity.java @@ -19,10 +19,9 @@ import com.android.email.K9ListActivity; import com.android.email.Preferences; import com.android.email.R; -public class ChooseIdentity extends K9ListActivity -{ +public class ChooseIdentity extends K9ListActivity { Account mAccount; - String mUID; + String mUID; ArrayAdapter adapter; private ChooseIdentityHandler mHandler = new ChooseIdentityHandler(); @@ -32,8 +31,7 @@ public class ChooseIdentity extends K9ListActivity protected List identities = null; @Override - public void onCreate(Bundle savedInstanceState) - { + public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS); @@ -52,86 +50,71 @@ public class ChooseIdentity extends K9ListActivity @Override - public void onResume() - { + public void onResume() { super.onResume(); refreshView(); } - protected void refreshView() - { + protected void refreshView() { adapter.clear(); identities = mAccount.getIdentities(); - for (Account.Identity identity : identities) - { + for (Account.Identity identity : identities) { String email = identity.getEmail(); String description = identity.getDescription(); - if (description == null || description.trim().length() == 0) - { - description = getString(R.string.message_view_from_format, identity.getName(), identity.getEmail()); + if (description == null || description.trim().length() == 0) { + description = getString(R.string.message_view_from_format, identity.getName(), identity.getEmail()); } adapter.add(description); } } - protected void setupClickListeners() - { - this.getListView().setOnItemClickListener(new AdapterView.OnItemClickListener() - { - public void onItemClick(AdapterView adapterview, View view, int i, long l) - { + protected void setupClickListeners() { + this.getListView().setOnItemClickListener(new AdapterView.OnItemClickListener() { + public void onItemClick(AdapterView adapterview, View view, int i, long l) { Account.Identity identity = mAccount.getIdentity(i); String email = identity.getEmail(); - if (email != null && email.trim().equals("") == false) - { - Intent intent = new Intent(); - - intent.putExtra(EXTRA_IDENTITY, mAccount.getIdentity(i)); - setResult(RESULT_OK, intent); - finish(); - } - else - { + if (email != null && email.trim().equals("") == false) { + Intent intent = new Intent(); + + intent.putExtra(EXTRA_IDENTITY, mAccount.getIdentity(i)); + setResult(RESULT_OK, intent); + finish(); + } else { Toast.makeText(ChooseIdentity.this, getString(R.string.identity_has_no_email), - Toast.LENGTH_LONG).show(); + Toast.LENGTH_LONG).show(); } } }); } - class ChooseIdentityHandler extends Handler - { + class ChooseIdentityHandler extends Handler { private static final int MSG_PROGRESS = 2; private static final int MSG_DATA_CHANGED = 3; - public void handleMessage(android.os.Message msg) - { - switch (msg.what) - { - case MSG_PROGRESS: - setProgressBarIndeterminateVisibility(msg.arg1 != 0); - break; - case MSG_DATA_CHANGED: - adapter.notifyDataSetChanged(); - break; + public void handleMessage(android.os.Message msg) { + switch (msg.what) { + case MSG_PROGRESS: + setProgressBarIndeterminateVisibility(msg.arg1 != 0); + break; + case MSG_DATA_CHANGED: + adapter.notifyDataSetChanged(); + break; } } - public void progress(boolean progress) - { + public void progress(boolean progress) { android.os.Message msg = new android.os.Message(); msg.what = MSG_PROGRESS; msg.arg1 = progress ? 1 : 0; sendMessage(msg); } - public void dataChanged() - { + public void dataChanged() { sendEmptyMessage(MSG_DATA_CHANGED); } } diff --git a/src/com/android/email/activity/EditIdentity.java b/src/com/android/email/activity/EditIdentity.java index d47c83e85..3d3e53335 100644 --- a/src/com/android/email/activity/EditIdentity.java +++ b/src/com/android/email/activity/EditIdentity.java @@ -13,8 +13,7 @@ import android.os.Bundle; import android.view.KeyEvent; import android.widget.EditText; -public class EditIdentity extends K9Activity -{ +public class EditIdentity extends K9Activity { public static final String EXTRA_IDENTITY = "com.android.email.EditIdentity_identity"; public static final String EXTRA_IDENTITY_INDEX = "com.android.email.EditIdentity_identity_index"; @@ -30,16 +29,14 @@ public class EditIdentity extends K9Activity private EditText mNameView; @Override - public void onCreate(Bundle savedInstanceState) - { + public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mIdentity = (Account.Identity)getIntent().getSerializableExtra(EXTRA_IDENTITY); mIdentityIndex = getIntent().getIntExtra(EXTRA_IDENTITY_INDEX, -1); mAccount = (Account) getIntent().getSerializableExtra(EXTRA_ACCOUNT); - if (mIdentityIndex == -1) - { + if (mIdentityIndex == -1) { mIdentity = mAccount.new Identity(); } @@ -49,8 +46,7 @@ public class EditIdentity extends K9Activity * If we're being reloaded we override the original account with the one * we saved */ - if (savedInstanceState != null && savedInstanceState.containsKey(EXTRA_IDENTITY)) - { + if (savedInstanceState != null && savedInstanceState.containsKey(EXTRA_IDENTITY)) { mIdentity = (Account.Identity)savedInstanceState.getSerializable(EXTRA_IDENTITY); } @@ -71,13 +67,11 @@ public class EditIdentity extends K9Activity } @Override - public void onResume() - { + public void onResume() { super.onResume(); } - private void saveIdentity() - { + private void saveIdentity() { mIdentity.setDescription(mDescriptionView.getText().toString()); mIdentity.setEmail(mEmailView.getText().toString()); @@ -86,12 +80,9 @@ public class EditIdentity extends K9Activity mIdentity.setSignature(mSignatureView.getText().toString()); List identities = mAccount.getIdentities(); - if (mIdentityIndex == -1) - { + if (mIdentityIndex == -1) { identities.add(mIdentity); - } - else - { + } else { identities.remove(mIdentityIndex); identities.add(mIdentityIndex, mIdentity); } @@ -102,10 +93,8 @@ public class EditIdentity extends K9Activity } @Override - public boolean onKeyDown(int keyCode, KeyEvent event) - { - if (keyCode == KeyEvent.KEYCODE_BACK) - { + public boolean onKeyDown(int keyCode, KeyEvent event) { + if (keyCode == KeyEvent.KEYCODE_BACK) { saveIdentity(); return true; } @@ -113,8 +102,7 @@ public class EditIdentity extends K9Activity } @Override - public void onSaveInstanceState(Bundle outState) - { + public void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); outState.putSerializable(EXTRA_IDENTITY, mIdentity); } diff --git a/src/com/android/email/activity/FolderList.java b/src/com/android/email/activity/FolderList.java index 3568790a2..7951a6281 100644 --- a/src/com/android/email/activity/FolderList.java +++ b/src/com/android/email/activity/FolderList.java @@ -53,7 +53,7 @@ import android.os.PowerManager.WakeLock; /** * FolderList is the primary user interface for the program. This - * Activity shows list of the Account's folders + * Activity shows list of the Account's folders */ public class FolderList extends K9ListActivity { @@ -63,7 +63,7 @@ public class FolderList extends K9ListActivity { private static final String EXTRA_ACCOUNT = "account"; private static final String EXTRA_INITIAL_FOLDER = "initialFolder"; - + private static final String STATE_CURRENT_FOLDER = "com.android.email.activity.folderlist_folder"; private static final String EXTRA_CLEAR_NOTIFICATION = "clearNotification"; @@ -134,79 +134,79 @@ public class FolderList extends K9ListActivity { @Override public void handleMessage(android.os.Message msg) { switch (msg.what) { - case MSG_NEW_FOLDERS: - ArrayList newFolders = (ArrayList)msg.obj; - mAdapter.mFolders.clear(); - - mAdapter.mFolders.addAll(newFolders); - - mHandler.dataChanged(); - break; - case MSG_PROGRESS: - setProgressBarIndeterminateVisibility(msg.arg1 != 0); - break; - case MSG_DATA_CHANGED: - mAdapter.notifyDataSetChanged(); - break; - case MSG_FOLDER_LOADING: { - FolderInfoHolder folder = mAdapter.getFolder((String) msg.obj); - - if (folder != null) { - folder.loading = msg.arg1 != 0; - } - - break; + case MSG_NEW_FOLDERS: + ArrayList newFolders = (ArrayList)msg.obj; + mAdapter.mFolders.clear(); + + mAdapter.mFolders.addAll(newFolders); + + mHandler.dataChanged(); + break; + case MSG_PROGRESS: + setProgressBarIndeterminateVisibility(msg.arg1 != 0); + break; + case MSG_DATA_CHANGED: + mAdapter.notifyDataSetChanged(); + break; + case MSG_FOLDER_LOADING: { + FolderInfoHolder folder = mAdapter.getFolder((String) msg.obj); + + if (folder != null) { + folder.loading = msg.arg1 != 0; } - - case MSG_ACCOUNT_SIZE_CHANGED: { - Long[] sizes = (Long[])msg.obj; - String toastText = getString(R.string.account_size_changed, mAccount.getDescription(), SizeFormatter.formatSize(getApplication(), sizes[0]), SizeFormatter.formatSize(getApplication(), sizes[1])); - - Toast toast = Toast.makeText(getApplication(), toastText, Toast.LENGTH_LONG); - toast.show(); - break; + + break; + } + + case MSG_ACCOUNT_SIZE_CHANGED: { + Long[] sizes = (Long[])msg.obj; + String toastText = getString(R.string.account_size_changed, mAccount.getDescription(), SizeFormatter.formatSize(getApplication(), sizes[0]), SizeFormatter.formatSize(getApplication(), sizes[1])); + + Toast toast = Toast.makeText(getApplication(), toastText, Toast.LENGTH_LONG); + toast.show(); + break; + } + + case MSG_WORKING_ACCOUNT: { + int res = msg.arg1; + String toastText = getString(res, mAccount.getDescription()); + + Toast toast = Toast.makeText(getApplication(), toastText, Toast.LENGTH_SHORT); + toast.show(); + break; + } + + + case MSG_FOLDER_SYNCING: { + String folderName = (String)((Object[]) msg.obj)[0]; + String dispString; + dispString = mAccount.getDescription(); + + if (folderName != null) { + dispString += " (" + getString(R.string.status_loading) + folderName + ")"; } - - case MSG_WORKING_ACCOUNT: { - int res = msg.arg1; - String toastText = getString(res, mAccount.getDescription()); - - Toast toast = Toast.makeText(getApplication(), toastText, Toast.LENGTH_SHORT); - toast.show(); - break; + + setTitle(dispString); + + break; + } + + case MSG_SENDING_OUTBOX: { + boolean sending = (msg.arg1 != 0); + String dispString; + dispString = mAccount.getDescription(); + + if (sending) { + dispString += " (" + getString(R.string.status_sending) + ")"; } - - - case MSG_FOLDER_SYNCING: { - String folderName = (String)((Object[]) msg.obj)[0]; - String dispString; - dispString = mAccount.getDescription(); - - if (folderName != null) { - dispString += " (" + getString(R.string.status_loading) + folderName + ")"; - } - - setTitle(dispString); - - break; - } - - case MSG_SENDING_OUTBOX: { - boolean sending = (msg.arg1 != 0); - String dispString; - dispString = mAccount.getDescription(); - - if (sending) { - dispString += " (" + getString(R.string.status_sending) + ")"; - } - - setTitle(dispString); - - break; - } - - default: - super.handleMessage(msg); + + setTitle(dispString); + + break; + } + + default: + super.handleMessage(msg); } } @@ -271,28 +271,26 @@ public class FolderList extends K9ListActivity { * queueing up a remote update of the folder. */ - private void checkMail(FolderInfoHolder folder) - { + private void checkMail(FolderInfoHolder folder) { PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE); final WakeLock wakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "Email - UpdateWorker"); wakeLock.setReferenceCounted(false); wakeLock.acquire(Email.WAKE_LOCK_TIMEOUT); - MessagingListener listener = new MessagingListener() - { + MessagingListener listener = new MessagingListener() { public void synchronizeMailboxFinished(Account account, String folder, int totalMessagesInMailbox, int numNewMessages) { if (!account.equals(mAccount)) { return; } - wakeLock.release(); + wakeLock.release(); } - + @Override public void synchronizeMailboxFailed(Account account, String folder, - String message) { + String message) { if (!account.equals(mAccount)) { return; } - wakeLock.release(); + wakeLock.release(); } }; MessagingController.getInstance(getApplication()).synchronizeMailbox(mAccount, folder.name, listener); @@ -331,8 +329,7 @@ public class FolderList extends K9ListActivity { if (initialFolder != null) { intent.putExtra(EXTRA_INITIAL_FOLDER, initialFolder); - } - else { + } else { intent.putExtra(EXTRA_STARTUP, true); } return intent; @@ -358,11 +355,10 @@ public class FolderList extends K9ListActivity { mStartup = (boolean) intent.getBooleanExtra(EXTRA_STARTUP, false); Log.v(Email.LOG_TAG, "startup: " + mStartup); if (initialFolder == null - && mStartup) { + && mStartup) { initialFolder = mAccount.getAutoExpandFolderName(); } - } - else { + } else { initialFolder = null; mStartup = false; savedFolderName = savedInstanceState.getString(STATE_CURRENT_FOLDER); @@ -370,11 +366,10 @@ public class FolderList extends K9ListActivity { Log.v(Email.LOG_TAG, "mInitialFolder: " + initialFolder); if (initialFolder != null - && !Email.FOLDER_NONE.equals(initialFolder)) { + && !Email.FOLDER_NONE.equals(initialFolder)) { onOpenFolder(initialFolder, true); finish(); - } - else { + } else { requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS); mListView = getListView(); @@ -408,11 +403,10 @@ public class FolderList extends K9ListActivity { } setListAdapter(mAdapter); - + setTitle(mAccount.getDescription()); - - if (savedFolderName != null) - { + + if (savedFolderName != null) { mSelectedContextFolder = mAdapter.getFolder(savedFolderName); } } @@ -446,12 +440,11 @@ public class FolderList extends K9ListActivity { notifMgr.cancel(-1000 - mAccount.getAccountNumber()); } - + @Override public void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); - if (mSelectedContextFolder != null) - { + if (mSelectedContextFolder != null) { outState.putString(STATE_CURRENT_FOLDER, mSelectedContextFolder.name); } } @@ -460,8 +453,8 @@ public class FolderList extends K9ListActivity { //Shortcuts that work no matter what is selected switch (keyCode) { - case KeyEvent.KEYCODE_Q: - //case KeyEvent.KEYCODE_BACK: + case KeyEvent.KEYCODE_Q: + //case KeyEvent.KEYCODE_BACK: { onAccounts(); return true; @@ -486,7 +479,7 @@ public class FolderList extends K9ListActivity { private void onRefresh(final boolean forceRemote) { MessagingController.getInstance(getApplication()).listFolders(mAccount, forceRemote, mAdapter.mListener); - + } private void onEditAccount() { @@ -498,11 +491,10 @@ public class FolderList extends K9ListActivity { } private void onAccounts() { - if (mStartup || isTaskRoot()) - { + if (mStartup || isTaskRoot()) { Accounts.listAccounts(this); } - + finish(); } @@ -510,11 +502,11 @@ public class FolderList extends K9ListActivity { mHandler.dataChanged(); MessagingListener listener = new MessagingListener() { - @Override - public void controllerCommandCompleted(boolean moreToDo) { - Log.v(Email.LOG_TAG, "Empty Trash background task completed"); - } - }; + @Override + public void controllerCommandCompleted(boolean moreToDo) { + Log.v(Email.LOG_TAG, "Empty Trash background task completed"); + } + }; MessagingController.getInstance(getApplication()).emptyTrash(account, listener); } @@ -522,7 +514,7 @@ public class FolderList extends K9ListActivity { private void checkMail(final Account account) { MessagingController.getInstance(getApplication()).checkMail(this, account, true, true, mAdapter.mListener); } - + private void sendMail(Account account) { MessagingController.getInstance(getApplication()).sendPendingMessages(account, mAdapter.mListener); } @@ -607,11 +599,11 @@ public class FolderList extends K9ListActivity { case R.id.open_folder: onOpenFolder(folder.name, false); break; - + case R.id.mark_all_as_read: onMarkAllAsRead(mAccount, folder.name); break; - + case R.id.send_messages: Log.i(Email.LOG_TAG, "sending pending messages from " + folder.name); sendMail(mAccount); @@ -641,15 +633,15 @@ public class FolderList extends K9ListActivity { return super.onContextItemSelected(item); } - + private FolderInfoHolder mSelectedContextFolder = null; - - + + private void onMarkAllAsRead(final Account account, final String folder) { mSelectedContextFolder = mAdapter.getFolder(folder); showDialog(DIALOG_MARK_ALL_AS_READ); } - + @Override public Dialog onCreateDialog(int id) { @@ -679,30 +671,30 @@ public class FolderList extends K9ListActivity { .setTitle(R.string.mark_all_as_read_dlg_title) .setMessage(getString(R.string.mark_all_as_read_dlg_instructions_fmt, mSelectedContextFolder.displayName)) - .setPositiveButton(R.string.okay_action, new DialogInterface.OnClickListener() { - public void onClick(DialogInterface dialog, int whichButton) { - dismissDialog(DIALOG_MARK_ALL_AS_READ); + .setPositiveButton(R.string.okay_action, new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int whichButton) { + dismissDialog(DIALOG_MARK_ALL_AS_READ); - try { + try { - MessagingController.getInstance(getApplication()).markAllMessagesRead(mAccount, mSelectedContextFolder.name); + MessagingController.getInstance(getApplication()).markAllMessagesRead(mAccount, mSelectedContextFolder.name); - mSelectedContextFolder.unreadMessageCount = 0; + mSelectedContextFolder.unreadMessageCount = 0; - mHandler.dataChanged(); + mHandler.dataChanged(); - } catch (Exception e) { - // Ignore - } - } - }) + } catch (Exception e) { + // Ignore + } + } + }) - .setNegativeButton(R.string.cancel_action, new DialogInterface.OnClickListener() { - public void onClick(DialogInterface dialog, int whichButton) { - dismissDialog(DIALOG_MARK_ALL_AS_READ); - } - }) + .setNegativeButton(R.string.cancel_action, new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int whichButton) { + dismissDialog(DIALOG_MARK_ALL_AS_READ); + } + }) .create(); } @@ -712,9 +704,9 @@ public class FolderList extends K9ListActivity { super.onCreateContextMenu(menu, v, menuInfo); AdapterContextMenuInfo info = (AdapterContextMenuInfo) menuInfo; getMenuInflater().inflate(R.menu.folder_context, menu); - + FolderInfoHolder folder = (FolderInfoHolder) mAdapter.getItem(info.position); - + menu.setHeaderTitle((CharSequence) folder.displayName); if (!folder.name.equals(mAccount.getTrashFolderName())) @@ -739,7 +731,7 @@ public class FolderList extends K9ListActivity { class FolderListAdapter extends BaseAdapter { private ArrayList mFolders = new ArrayList(); - + public Object getItem(long position) { return getItem((int)position); } @@ -752,7 +744,7 @@ public class FolderList extends K9ListActivity { public long getItemId(int position) { return position ; } - + public int getCount() { return mFolders.size(); } @@ -765,269 +757,263 @@ public class FolderList extends K9ListActivity { return true; } - private MessagingListener mListener = new MessagingListener() { + private MessagingListener mListener = new MessagingListener() { - @Override - public void listFoldersStarted(Account account) { - if (!account.equals(mAccount)) { - return; - } - - mHandler.progress(true); - } - - @Override - public void listFoldersFailed(Account account, String message) { - if (!account.equals(mAccount)) { - return; - } - - mHandler.progress(false); - - if (Config.LOGV) { - Log.v(Email.LOG_TAG, "listFoldersFailed " + message); - } - } - - @Override - public void listFoldersFinished(Account account) { - if (!account.equals(mAccount)) { - return; - } - - mHandler.progress(false); - MessagingController.getInstance(getApplication()).refreshListener(mAdapter.mListener); - mHandler.dataChanged(); - - } - - @Override - public void listFolders(Account account, Folder[] folders) { - if (!account.equals(mAccount)) { - return; - } - - ArrayList newFolders = new ArrayList(); - - Account.FolderMode aMode = account.getFolderDisplayMode(); - - for (Folder folder : folders) { - try { - folder.refresh( Preferences.getPreferences(getApplication().getApplicationContext()) ); + @Override + public void listFoldersStarted(Account account) { + if (!account.equals(mAccount)) { + return; + } - Folder.FolderClass fMode = folder.getDisplayClass(); - - if ((aMode == Account.FolderMode.FIRST_CLASS && fMode != Folder.FolderClass.FIRST_CLASS) - || (aMode == Account.FolderMode.FIRST_AND_SECOND_CLASS && - fMode != Folder.FolderClass.FIRST_CLASS && - fMode != Folder.FolderClass.SECOND_CLASS) - || (aMode == Account.FolderMode.NOT_SECOND_CLASS && fMode == Folder.FolderClass.SECOND_CLASS)) { - continue; - } - } catch (MessagingException me) { - Log.e(Email.LOG_TAG, "Couldn't get prefs to check for displayability of folder " + folder.getName(), me); - } + mHandler.progress(true); + } - FolderInfoHolder holder = null; + @Override + public void listFoldersFailed(Account account, String message) { + if (!account.equals(mAccount)) { + return; + } - int folderIndex = getFolderIndex(folder.getName()); - if (folderIndex >= 0 ) { + mHandler.progress(false); + + if (Config.LOGV) { + Log.v(Email.LOG_TAG, "listFoldersFailed " + message); + } + } + + @Override + public void listFoldersFinished(Account account) { + if (!account.equals(mAccount)) { + return; + } + + mHandler.progress(false); + MessagingController.getInstance(getApplication()).refreshListener(mAdapter.mListener); + mHandler.dataChanged(); + + } + + @Override + public void listFolders(Account account, Folder[] folders) { + if (!account.equals(mAccount)) { + return; + } + + ArrayList newFolders = new ArrayList(); + + Account.FolderMode aMode = account.getFolderDisplayMode(); + + for (Folder folder : folders) { + try { + folder.refresh( Preferences.getPreferences(getApplication().getApplicationContext()) ); + + Folder.FolderClass fMode = folder.getDisplayClass(); + + if ((aMode == Account.FolderMode.FIRST_CLASS && fMode != Folder.FolderClass.FIRST_CLASS) + || (aMode == Account.FolderMode.FIRST_AND_SECOND_CLASS && + fMode != Folder.FolderClass.FIRST_CLASS && + fMode != Folder.FolderClass.SECOND_CLASS) + || (aMode == Account.FolderMode.NOT_SECOND_CLASS && fMode == Folder.FolderClass.SECOND_CLASS)) { + continue; + } + } catch (MessagingException me) { + Log.e(Email.LOG_TAG, "Couldn't get prefs to check for displayability of folder " + folder.getName(), me); + } + + FolderInfoHolder holder = null; + + int folderIndex = getFolderIndex(folder.getName()); + if (folderIndex >= 0 ) { holder = (FolderInfoHolder) getItem(folderIndex); - } + } - if (holder == null) { - holder = new FolderInfoHolder(folder); - } else { + if (holder == null) { + holder = new FolderInfoHolder(folder); + } else { holder.populate(folder); - } - - newFolders.add(holder); - } - Collections.sort(newFolders); - mHandler.newFolders(newFolders); - - } - - public void synchronizeMailboxStarted(Account account, String folder) { - if (!account.equals(mAccount)) { - return; - } - - mHandler.progress(true); - mHandler.folderLoading(folder, true); - mHandler.folderSyncing(folder); - mHandler.dataChanged(); - } - - @Override - public void synchronizeMailboxFinished(Account account, String folder, int totalMessagesInMailbox, int numNewMessages) { - if (!account.equals(mAccount)) { - return; - } - mHandler.progress(false); - mHandler.folderLoading(folder, false); - // mHandler.folderStatus(folder, null); - mHandler.folderSyncing(null); + } - refreshFolder(account, folder); - - } - - private void refreshFolder(Account account, String folderName) - { - // There has to be a cheaper way to get at the localFolder object than this - try { - if (account != null && folderName != null) - { - Folder localFolder = (Folder) Store.getInstance(account.getLocalStoreUri(), getApplication()).getFolder(folderName); - if (localFolder != null) - { - FolderInfoHolder folderHolder = getFolder(folderName); - if (folderHolder != null) - { - folderHolder.populate(localFolder); - mHandler.dataChanged(); - } - } - } - } - catch (Exception e) { - Log.e(Email.LOG_TAG, "Exception while populating folder", e); - } + newFolders.add(holder); + } + Collections.sort(newFolders); + mHandler.newFolders(newFolders); - } - - @Override - public void synchronizeMailboxFailed(Account account, String folder, - String message) { - if (!account.equals(mAccount)) { - return; - } - - - mHandler.progress(false); - - mHandler.folderLoading(folder, false); - - // String mess = truncateStatus(message); - - // mHandler.folderStatus(folder, mess); - FolderInfoHolder holder = getFolder(folder); - - if (holder != null) { - holder.lastChecked = 0; - } - - mHandler.folderSyncing(null); + } - mHandler.dataChanged(); - } - - @Override - public void setPushActive(Account account, String folderName, boolean enabled) - { - if (!account.equals(mAccount)) { - return; - } - FolderInfoHolder holder = getFolder(folderName); - - if (holder != null) { - holder.pushActive = enabled; + public void synchronizeMailboxStarted(Account account, String folder) { + if (!account.equals(mAccount)) { + return; + } - mHandler.dataChanged(); - } - } - - - @Override - public void messageDeleted(Account account, - String folder, Message message) { - synchronizeMailboxRemovedMessage(account, - folder, message); - } - - @Override - public void emptyTrashCompleted(Account account) { - if (!account.equals(mAccount)) { - return; - } - refreshFolder(account, mAccount.getTrashFolderName()); - } - - @Override - public void folderStatusChanged(Account account, String folderName) { - if (!account.equals(mAccount)) { - return; - } - refreshFolder(account, folderName); - } - - @Override - public void sendPendingMessagesCompleted(Account account) { - if (!account.equals(mAccount)) { - return; - } - - mHandler.sendingOutbox(false); - refreshFolder(account, mAccount.getOutboxFolderName()); - } - - @Override - public void sendPendingMessagesStarted(Account account) { - if (!account.equals(mAccount)) { - return; - } - - mHandler.sendingOutbox(true); + mHandler.progress(true); + mHandler.folderLoading(folder, true); + mHandler.folderSyncing(folder); + mHandler.dataChanged(); + } - mHandler.dataChanged(); - } - - @Override - public void sendPendingMessagesFailed(Account account) { - if (!account.equals(mAccount)) { - return; - } - - mHandler.sendingOutbox(false); - refreshFolder(account, mAccount.getOutboxFolderName()); - } - - public void accountSizeChanged(Account account, long oldSize, long newSize) { - if (!account.equals(mAccount)) { - return; - } - - mHandler.accountSizeChanged(oldSize, newSize); - - } - - }; + @Override + public void synchronizeMailboxFinished(Account account, String folder, int totalMessagesInMailbox, int numNewMessages) { + if (!account.equals(mAccount)) { + return; + } + mHandler.progress(false); + mHandler.folderLoading(folder, false); + // mHandler.folderStatus(folder, null); + mHandler.folderSyncing(null); + + refreshFolder(account, folder); + + } + + private void refreshFolder(Account account, String folderName) { + // There has to be a cheaper way to get at the localFolder object than this + try { + if (account != null && folderName != null) { + Folder localFolder = (Folder) Store.getInstance(account.getLocalStoreUri(), getApplication()).getFolder(folderName); + if (localFolder != null) { + FolderInfoHolder folderHolder = getFolder(folderName); + if (folderHolder != null) { + folderHolder.populate(localFolder); + mHandler.dataChanged(); + } + } + } + } catch (Exception e) { + Log.e(Email.LOG_TAG, "Exception while populating folder", e); + } + + } + + @Override + public void synchronizeMailboxFailed(Account account, String folder, + String message) { + if (!account.equals(mAccount)) { + return; + } + + + mHandler.progress(false); + + mHandler.folderLoading(folder, false); + + // String mess = truncateStatus(message); + + // mHandler.folderStatus(folder, mess); + FolderInfoHolder holder = getFolder(folder); + + if (holder != null) { + holder.lastChecked = 0; + } + + mHandler.folderSyncing(null); + + mHandler.dataChanged(); + } + + @Override + public void setPushActive(Account account, String folderName, boolean enabled) { + if (!account.equals(mAccount)) { + return; + } + FolderInfoHolder holder = getFolder(folderName); + + if (holder != null) { + holder.pushActive = enabled; + + mHandler.dataChanged(); + } + } + + + @Override + public void messageDeleted(Account account, + String folder, Message message) { + synchronizeMailboxRemovedMessage(account, + folder, message); + } + + @Override + public void emptyTrashCompleted(Account account) { + if (!account.equals(mAccount)) { + return; + } + refreshFolder(account, mAccount.getTrashFolderName()); + } + + @Override + public void folderStatusChanged(Account account, String folderName) { + if (!account.equals(mAccount)) { + return; + } + refreshFolder(account, folderName); + } + + @Override + public void sendPendingMessagesCompleted(Account account) { + if (!account.equals(mAccount)) { + return; + } + + mHandler.sendingOutbox(false); + refreshFolder(account, mAccount.getOutboxFolderName()); + } + + @Override + public void sendPendingMessagesStarted(Account account) { + if (!account.equals(mAccount)) { + return; + } + + mHandler.sendingOutbox(true); + + mHandler.dataChanged(); + } + + @Override + public void sendPendingMessagesFailed(Account account) { + if (!account.equals(mAccount)) { + return; + } + + mHandler.sendingOutbox(false); + refreshFolder(account, mAccount.getOutboxFolderName()); + } + + public void accountSizeChanged(Account account, long oldSize, long newSize) { + if (!account.equals(mAccount)) { + return; + } + + mHandler.accountSizeChanged(oldSize, newSize); + + } + + }; public int getFolderIndex(String folder) { FolderInfoHolder searchHolder = new FolderInfoHolder(); searchHolder.name = folder; - return mFolders.indexOf((Object) searchHolder); + return mFolders.indexOf((Object) searchHolder); } public FolderInfoHolder getFolder(String folder) { FolderInfoHolder holder = null; int index = getFolderIndex(folder); - if(index >= 0 ){ + if (index >= 0 ) { holder = (FolderInfoHolder) getItem(index); if (holder != null) { return holder; } - } + } return null; } public View getView(int position, View convertView, ViewGroup parent) { if (position <= getCount()) { - return getItemView(position, convertView, parent); + return getItemView(position, convertView, parent); } else { // XXX TODO - should catch an exception here return null; @@ -1060,7 +1046,7 @@ public class FolderList extends K9ListActivity { if (folder == null) { return view; } - + holder.folderName.setText(folder.displayName); String statusText = ""; @@ -1074,9 +1060,8 @@ public class FolderList extends K9ListActivity { statusText = (getDateFormat().format(lastCheckedDate) + " " + getTimeFormat() .format(lastCheckedDate)); } - - if (folder.pushActive) - { + + if (folder.pushActive) { statusText = getString(R.string.folder_push_active_symbol) + " "+ statusText; } @@ -1102,7 +1087,7 @@ public class FolderList extends K9ListActivity { public boolean hasStableIds() { return false; } - + public boolean isItemSelectable(int position) { return true; } @@ -1110,124 +1095,123 @@ public class FolderList extends K9ListActivity { } public class FolderInfoHolder implements Comparable { - public String name; + public String name; - public String displayName; + public String displayName; - public long lastChecked; + public long lastChecked; - public int unreadMessageCount; + public int unreadMessageCount; - public boolean loading; + public boolean loading; - public String status; - - public boolean pushActive; + public String status; - public boolean lastCheckFailed; + public boolean pushActive; - /** - * Outbox is handled differently from any other folder. - */ - public boolean outbox; + public boolean lastCheckFailed; + + /** + * Outbox is handled differently from any other folder. + */ + public boolean outbox; - public boolean equals(Object o) { - if (this.name.equals(((FolderInfoHolder)o).name)) { - return true; + public boolean equals(Object o) { + if (this.name.equals(((FolderInfoHolder)o).name)) { + return true; + } else { + return false; + } + } + + public int compareTo(FolderInfoHolder o) { + String s1 = this.name; + String s2 = o.name; + + if (Email.INBOX.equalsIgnoreCase(s1) && Email.INBOX.equalsIgnoreCase(s2)) { + return 0; + } else if (Email.INBOX.equalsIgnoreCase(s1)) { + return -1; + } else if (Email.INBOX.equalsIgnoreCase(s2)) { + return 1; + } else { + int ret = s1.compareToIgnoreCase(s2); + if (ret != 0) { + return ret; } else { - return false; + return s1.compareTo(s2); } } - public int compareTo(FolderInfoHolder o) { - String s1 = this.name; - String s2 = o.name; + } - if (Email.INBOX.equalsIgnoreCase(s1) && Email.INBOX.equalsIgnoreCase(s2)) { - return 0; - } else if (Email.INBOX.equalsIgnoreCase(s1)) { - return -1; - } else if (Email.INBOX.equalsIgnoreCase(s2)) { - return 1; - } else { - int ret = s1.compareToIgnoreCase(s2); - if (ret != 0) { - return ret; - } - else { - return s1.compareTo(s2); - } - } - + // constructor for an empty object for comparisons + public FolderInfoHolder() { + } + + public FolderInfoHolder(Folder folder) { + populate(folder); + } + public void populate (Folder folder) { + int unreadCount = 0; + + try { + folder.open(Folder.OpenMode.READ_WRITE); + unreadCount = folder.getUnreadMessageCount(); + } catch (MessagingException me) { + Log.e(Email.LOG_TAG, "Folder.getUnreadMessageCount() failed", me); } - - // constructor for an empty object for comparisons - public FolderInfoHolder() { - } - - public FolderInfoHolder(Folder folder) { - populate(folder); - } - public void populate (Folder folder) { - int unreadCount = 0; - - try { - folder.open(Folder.OpenMode.READ_WRITE); - unreadCount = folder.getUnreadMessageCount(); - } catch (MessagingException me) { - Log.e(Email.LOG_TAG, "Folder.getUnreadMessageCount() failed", me); - } - - this.name = folder.getName(); - - if (this.name.equalsIgnoreCase(Email.INBOX)) { - this.displayName = getString(R.string.special_mailbox_name_inbox); - } else { - this.displayName = folder.getName(); - } - - if (this.name.equals(mAccount.getOutboxFolderName())) { - this.displayName = String.format( getString(R.string.special_mailbox_name_outbox_fmt), this.name); - this.outbox = true; - } - - if (this.name.equals(mAccount.getDraftsFolderName())) { - this.displayName = String.format( getString(R.string.special_mailbox_name_drafts_fmt), this.name); - } - - if (this.name.equals(mAccount.getTrashFolderName())) { - this.displayName = String.format( getString(R.string.special_mailbox_name_trash_fmt), this.name); - } - - if (this.name.equals(mAccount.getSentFolderName())) { - this.displayName = String.format( getString(R.string.special_mailbox_name_sent_fmt), this.name); - } - this.lastChecked = folder.getLastUpdate(); - - String mess = truncateStatus(folder.getStatus()); - - this.status = mess; - - this.unreadMessageCount = unreadCount; - - try { - folder.close(false); - } catch (MessagingException me) { - Log.e(Email.LOG_TAG, "Folder.close() failed", me); - } - } + this.name = folder.getName(); + + if (this.name.equalsIgnoreCase(Email.INBOX)) { + this.displayName = getString(R.string.special_mailbox_name_inbox); + } else { + this.displayName = folder.getName(); + } + + if (this.name.equals(mAccount.getOutboxFolderName())) { + this.displayName = String.format( getString(R.string.special_mailbox_name_outbox_fmt), this.name); + this.outbox = true; + } + + if (this.name.equals(mAccount.getDraftsFolderName())) { + this.displayName = String.format( getString(R.string.special_mailbox_name_drafts_fmt), this.name); + } + + if (this.name.equals(mAccount.getTrashFolderName())) { + this.displayName = String.format( getString(R.string.special_mailbox_name_trash_fmt), this.name); + } + + if (this.name.equals(mAccount.getSentFolderName())) { + this.displayName = String.format( getString(R.string.special_mailbox_name_sent_fmt), this.name); + } + + this.lastChecked = folder.getLastUpdate(); + + String mess = truncateStatus(folder.getStatus()); + + this.status = mess; + + this.unreadMessageCount = unreadCount; + + try { + folder.close(false); + } catch (MessagingException me) { + Log.e(Email.LOG_TAG, "Folder.close() failed", me); + } } - - class FolderViewHolder { - public TextView folderName; - - public TextView folderStatus; - - public TextView newMessageCount; - - public String rawFolderName; - } - } + + class FolderViewHolder { + public TextView folderName; + + public TextView folderStatus; + + public TextView newMessageCount; + + public String rawFolderName; + } + +} diff --git a/src/com/android/email/activity/ManageIdentities.java b/src/com/android/email/activity/ManageIdentities.java index f90cfee0b..11c3d9448 100644 --- a/src/com/android/email/activity/ManageIdentities.java +++ b/src/com/android/email/activity/ManageIdentities.java @@ -16,18 +16,14 @@ import com.android.email.Account; import com.android.email.Preferences; import com.android.email.R; -public class ManageIdentities extends ChooseIdentity -{ +public class ManageIdentities extends ChooseIdentity { private boolean mIdentitiesChanged = false; public static final String EXTRA_IDENTITIES = "com.android.email.EditIdentity_identities"; private static final int ACTIVITY_EDIT_IDENTITY = 1; - protected void setupClickListeners() - { - this.getListView().setOnItemClickListener(new AdapterView.OnItemClickListener() - { - public void onItemClick(AdapterView adapterview, View view, int i, long l) - { + protected void setupClickListeners() { + this.getListView().setOnItemClickListener(new AdapterView.OnItemClickListener() { + public void onItemClick(AdapterView adapterview, View view, int i, long l) { editItem(i); } }); @@ -36,8 +32,7 @@ public class ManageIdentities extends ChooseIdentity registerForContextMenu(listView); } - private void editItem(int i) - { + private void editItem(int i) { Intent intent = new Intent(ManageIdentities.this, EditIdentity.class); intent.putExtra(EditIdentity.EXTRA_ACCOUNT, mAccount); @@ -47,92 +42,80 @@ public class ManageIdentities extends ChooseIdentity } @Override - public boolean onCreateOptionsMenu(Menu menu) - { + public boolean onCreateOptionsMenu(Menu menu) { super.onCreateOptionsMenu(menu); getMenuInflater().inflate(R.menu.manage_identities_option, menu); return true; } @Override - public boolean onOptionsItemSelected(MenuItem item) - { - switch (item.getItemId()) - { - case R.id.new_identity: - Intent intent = new Intent(ManageIdentities.this, EditIdentity.class); + public boolean onOptionsItemSelected(MenuItem item) { + switch (item.getItemId()) { + case R.id.new_identity: + Intent intent = new Intent(ManageIdentities.this, EditIdentity.class); - intent.putExtra(EditIdentity.EXTRA_ACCOUNT, mAccount); - startActivityForResult(intent, ACTIVITY_EDIT_IDENTITY); - break; - default: - return super.onOptionsItemSelected(item); + intent.putExtra(EditIdentity.EXTRA_ACCOUNT, mAccount); + startActivityForResult(intent, ACTIVITY_EDIT_IDENTITY); + break; + default: + return super.onOptionsItemSelected(item); } return true; } @Override - public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) - { + public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) { super.onCreateContextMenu(menu, v, menuInfo); menu.setHeaderTitle(R.string.manage_identities_context_menu_title); getMenuInflater().inflate(R.menu.manage_identities_context, menu); } - public boolean onContextItemSelected(MenuItem item) - { + public boolean onContextItemSelected(MenuItem item) { AdapterContextMenuInfo menuInfo = (AdapterContextMenuInfo)item.getMenuInfo(); - switch (item.getItemId()) - { - case R.id.edit: - editItem(menuInfo.position); - break; - case R.id.up: - if (menuInfo.position > 0) - { - Account.Identity identity = identities.remove(menuInfo.position); - identities.add(menuInfo.position - 1, identity); - mIdentitiesChanged = true; - refreshView(); - } - - break; - case R.id.down: - if (menuInfo.position < identities.size() - 1) - { - Account.Identity identity = identities.remove(menuInfo.position); - identities.add(menuInfo.position + 1, identity); - mIdentitiesChanged = true; - refreshView(); - } - break; - case R.id.top: + switch (item.getItemId()) { + case R.id.edit: + editItem(menuInfo.position); + break; + case R.id.up: + if (menuInfo.position > 0) { Account.Identity identity = identities.remove(menuInfo.position); - identities.add(0, identity); + identities.add(menuInfo.position - 1, identity); mIdentitiesChanged = true; refreshView(); - break; - case R.id.remove: - if (identities.size() > 1) - { - identities.remove(menuInfo.position); - mIdentitiesChanged = true; - refreshView(); - } - else - { - Toast.makeText(this, getString(R.string.no_removable_identity), - Toast.LENGTH_LONG).show(); - } - break; + } + + break; + case R.id.down: + if (menuInfo.position < identities.size() - 1) { + Account.Identity identity = identities.remove(menuInfo.position); + identities.add(menuInfo.position + 1, identity); + mIdentitiesChanged = true; + refreshView(); + } + break; + case R.id.top: + Account.Identity identity = identities.remove(menuInfo.position); + identities.add(0, identity); + mIdentitiesChanged = true; + refreshView(); + break; + case R.id.remove: + if (identities.size() > 1) { + identities.remove(menuInfo.position); + mIdentitiesChanged = true; + refreshView(); + } else { + Toast.makeText(this, getString(R.string.no_removable_identity), + Toast.LENGTH_LONG).show(); + } + break; } return true; } @Override - public void onResume() - { + public void onResume() { super.onResume(); mAccount.refresh(Preferences.getPreferences(getApplication().getApplicationContext())); refreshView(); @@ -140,19 +123,15 @@ public class ManageIdentities extends ChooseIdentity @Override - public boolean onKeyDown(int keyCode, KeyEvent event) - { - if (keyCode == KeyEvent.KEYCODE_BACK) - { + public boolean onKeyDown(int keyCode, KeyEvent event) { + if (keyCode == KeyEvent.KEYCODE_BACK) { saveIdentities(); } return super.onKeyDown(keyCode, event); } - private void saveIdentities() - { - if (mIdentitiesChanged) - { + private void saveIdentities() { + if (mIdentitiesChanged) { mAccount.setIdentities(identities); mAccount.save(Preferences.getPreferences(getApplication().getApplicationContext())); } diff --git a/src/com/android/email/activity/MessageCompose.java b/src/com/android/email/activity/MessageCompose.java index 68eb115f1..3208decc6 100644 --- a/src/com/android/email/activity/MessageCompose.java +++ b/src/com/android/email/activity/MessageCompose.java @@ -87,9 +87,9 @@ public class MessageCompose extends K9Activity implements OnClickListener, OnFoc private static final String STATE_KEY_DRAFT_UID = "com.android.email.activity.MessageCompose.draftUid"; private static final String STATE_IDENTITY_CHANGED = - "com.android.email.activity.MessageCompose.identityChanged"; + "com.android.email.activity.MessageCompose.identityChanged"; private static final String STATE_IDENTITY = - "com.android.email.activity.MessageCompose.identity"; + "com.android.email.activity.MessageCompose.identity"; private static final int MSG_PROGRESS_ON = 1; private static final int MSG_PROGRESS_OFF = 2; @@ -127,7 +127,7 @@ public class MessageCompose extends K9Activity implements OnClickListener, OnFoc private View mQuotedTextBar; private ImageButton mQuotedTextDelete; private EditText mQuotedText; - + private String mReferences; private String mInReplyTo; @@ -143,36 +143,36 @@ public class MessageCompose extends K9Activity implements OnClickListener, OnFoc @Override public void handleMessage(android.os.Message msg) { switch (msg.what) { - case MSG_PROGRESS_ON: - setProgressBarIndeterminateVisibility(true); - break; - case MSG_PROGRESS_OFF: - setProgressBarIndeterminateVisibility(false); - break; - case MSG_UPDATE_TITLE: - updateTitle(); - break; - case MSG_SKIPPED_ATTACHMENTS: - Toast.makeText( - MessageCompose.this, - getString(R.string.message_compose_attachments_skipped_toast), - Toast.LENGTH_LONG).show(); - break; - case MSG_SAVED_DRAFT: - Toast.makeText( - MessageCompose.this, - getString(R.string.message_saved_toast), - Toast.LENGTH_LONG).show(); - break; - case MSG_DISCARDED_DRAFT: - Toast.makeText( - MessageCompose.this, - getString(R.string.message_discarded_toast), - Toast.LENGTH_LONG).show(); - break; - default: - super.handleMessage(msg); - break; + case MSG_PROGRESS_ON: + setProgressBarIndeterminateVisibility(true); + break; + case MSG_PROGRESS_OFF: + setProgressBarIndeterminateVisibility(false); + break; + case MSG_UPDATE_TITLE: + updateTitle(); + break; + case MSG_SKIPPED_ATTACHMENTS: + Toast.makeText( + MessageCompose.this, + getString(R.string.message_compose_attachments_skipped_toast), + Toast.LENGTH_LONG).show(); + break; + case MSG_SAVED_DRAFT: + Toast.makeText( + MessageCompose.this, + getString(R.string.message_saved_toast), + Toast.LENGTH_LONG).show(); + break; + case MSG_DISCARDED_DRAFT: + Toast.makeText( + MessageCompose.this, + getString(R.string.message_discarded_toast), + Toast.LENGTH_LONG).show(); + break; + default: + super.handleMessage(msg); + break; } } }; @@ -196,9 +196,9 @@ public class MessageCompose extends K9Activity implements OnClickListener, OnFoc * @param account */ public static void actionCompose(Context context, Account account) { - Intent i = new Intent(context, MessageCompose.class); - i.putExtra(EXTRA_ACCOUNT, account); - context.startActivity(i); + Intent i = new Intent(context, MessageCompose.class); + i.putExtra(EXTRA_ACCOUNT, account); + context.startActivity(i); } /** @@ -210,18 +210,17 @@ public class MessageCompose extends K9Activity implements OnClickListener, OnFoc * @param replyAll */ public static void actionReply( - Context context, - Account account, - Message message, - boolean replyAll) { + Context context, + Account account, + Message message, + boolean replyAll) { Intent i = new Intent(context, MessageCompose.class); i.putExtra(EXTRA_ACCOUNT, account); i.putExtra(EXTRA_FOLDER, message.getFolder().getName()); i.putExtra(EXTRA_MESSAGE, message.getUid()); if (replyAll) { i.setAction(ACTION_REPLY_ALL); - } - else { + } else { i.setAction(ACTION_REPLY); } context.startActivity(i); @@ -277,10 +276,10 @@ public class MessageCompose extends K9Activity implements OnClickListener, OnFoc mCcView = (MultiAutoCompleteTextView)findViewById(R.id.cc); mBccView = (MultiAutoCompleteTextView)findViewById(R.id.bcc); mSubjectView = (EditText)findViewById(R.id.subject); - + EditText upperSignature = (EditText)findViewById(R.id.upper_signature); EditText lowerSignature = (EditText)findViewById(R.id.lower_signature); - + mMessageContentView = (EditText)findViewById(R.id.message_content); mAttachments = (LinearLayout)findViewById(R.id.attachments); mQuotedTextBar = findViewById(R.id.quoted_text_bar); @@ -289,10 +288,10 @@ public class MessageCompose extends K9Activity implements OnClickListener, OnFoc TextWatcher watcher = new TextWatcher() { public void beforeTextChanged(CharSequence s, int start, - int before, int after) { } + int before, int after) { } public void onTextChanged(CharSequence s, int start, - int before, int count) { + int before, int count) { mDraftNeedsSaving = true; } @@ -301,10 +300,10 @@ public class MessageCompose extends K9Activity implements OnClickListener, OnFoc TextWatcher sigwatcher = new TextWatcher() { public void beforeTextChanged(CharSequence s, int start, - int before, int after) { } + int before, int after) { } public void onTextChanged(CharSequence s, int start, - int before, int count) { + int before, int count) { mDraftNeedsSaving = true; mSignatureChanged = true; } @@ -316,7 +315,7 @@ public class MessageCompose extends K9Activity implements OnClickListener, OnFoc mCcView.addTextChangedListener(watcher); mBccView.addTextChangedListener(watcher); mSubjectView.addTextChangedListener(watcher); - + mMessageContentView.addTextChangedListener(watcher); mQuotedText.addTextChangedListener(watcher); @@ -330,7 +329,7 @@ public class MessageCompose extends K9Activity implements OnClickListener, OnFoc mQuotedTextDelete.setOnClickListener(this); mFromView.setVisibility(View.GONE); - + mToView.setAdapter(mAddressAdapter); mToView.setTokenizer(new Rfc822Tokenizer()); mToView.setValidator(mAddressValidator); @@ -379,16 +378,14 @@ public class MessageCompose extends K9Activity implements OnClickListener, OnFoc Address[] addresses = Address.parse(uri.getSchemeSpecificPart()); addAddresses(mToView, addresses); } - } - catch (Exception e) { + } catch (Exception e) { /* * If we can't extract any information from the URI it's okay. They can * still compose a message. */ } } - } - else if (Intent.ACTION_SEND.equals(action)) { + } else if (Intent.ACTION_SEND.equals(action)) { /* * Someone is trying to compose an email with an attachment, probably Pictures. * The Intent should contain an EXTRA_STREAM with the data to attach. @@ -408,13 +405,13 @@ public class MessageCompose extends K9Activity implements OnClickListener, OnFoc String text = intent.getStringExtra(Intent.EXTRA_TEXT); if (text != null) { - mMessageContentView.setText(text); + mMessageContentView.setText(text); } String subject = intent.getStringExtra(Intent.EXTRA_SUBJECT); if (subject != null) { - mSubjectView.setText(subject); + mSubjectView.setText(subject); } - + String type = intent.getType(); Uri stream = (Uri) intent.getParcelableExtra(Intent.EXTRA_STREAM); if (stream != null && type != null) { @@ -426,7 +423,7 @@ public class MessageCompose extends K9Activity implements OnClickListener, OnFoc /* * There might be an EXTRA_SUBJECT, EXTRA_TEXT, EXTRA_EMAIL, EXTRA_BCC or EXTRA_CC */ - + String extraSubject = intent.getStringExtra(Intent.EXTRA_SUBJECT); String extraText = intent.getStringExtra(Intent.EXTRA_TEXT); @@ -436,7 +433,7 @@ public class MessageCompose extends K9Activity implements OnClickListener, OnFoc String[] extraEmail = intent.getStringArrayExtra(Intent.EXTRA_EMAIL); String[] extraCc = intent.getStringArrayExtra(Intent.EXTRA_CC); String[] extraBcc = intent.getStringArrayExtra(Intent.EXTRA_BCC); - + String addressList; // Cache array size, as per Google's recommendations. int arraySize; @@ -459,7 +456,7 @@ public class MessageCompose extends K9Activity implements OnClickListener, OnFoc } } mCcView.setText(addressList); - + addressList = ""; if (extraBcc != null) { arraySize = extraBcc.length; @@ -468,30 +465,26 @@ public class MessageCompose extends K9Activity implements OnClickListener, OnFoc } } mBccView.setText(addressList); - + } else { mAccount = (Account) intent.getSerializableExtra(EXTRA_ACCOUNT); mFolder = (String) intent.getStringExtra(EXTRA_FOLDER); mSourceMessageUid = (String) intent.getStringExtra(EXTRA_MESSAGE); } - - if (mIdentity == null) - { - mIdentity = mAccount.getIdentity(0); + + if (mIdentity == null) { + mIdentity = mAccount.getIdentity(0); } - - if (mAccount.isSignatureBeforeQuotedText()) - { + + if (mAccount.isSignatureBeforeQuotedText()) { mSignatureView = upperSignature; lowerSignature.setVisibility(View.GONE); - } - else - { + } else { mSignatureView = lowerSignature; upperSignature.setVisibility(View.GONE); } mSignatureView.addTextChangedListener(sigwatcher); - + if (!mSourceMessageProcessed) { updateFrom(); updateSignature(); @@ -510,16 +503,16 @@ public class MessageCompose extends K9Activity implements OnClickListener, OnFoc if (!ACTION_EDIT_DRAFT.equals(action)) { String bccAddress = mAccount.getAlwaysBcc(); if (bccAddress!=null - && !"".equals(bccAddress)) { + && !"".equals(bccAddress)) { addAddress(mBccView, new Address(mAccount.getAlwaysBcc(), "")); } } Log.d(Email.LOG_TAG, "action = " + action + ", mAccount = " + mAccount + ", mFolder = " + mFolder + ", mSourceMessageUid = " + mSourceMessageUid); if ((ACTION_REPLY.equals(action) || ACTION_REPLY_ALL.equals(action)) && mAccount != null && mFolder != null && mSourceMessageUid != null) { - Log.d(Email.LOG_TAG, "Setting message ANSWERED flag to true"); - // TODO: Really, we should wait until we send the message, but that would require saving the original - // message info along with a Draft copy, in case it is left in Drafts for a while before being sent + Log.d(Email.LOG_TAG, "Setting message ANSWERED flag to true"); + // TODO: Really, we should wait until we send the message, but that would require saving the original + // message info along with a Draft copy, in case it is left in Drafts for a while before being sent MessagingController.getInstance(getApplication()).setMessageFlag(mAccount, mFolder, mSourceMessageUid, Flag.ANSWERED, true); } @@ -592,7 +585,7 @@ public class MessageCompose extends K9Activity implements OnClickListener, OnFoc mIdentityChanged = savedInstanceState.getBoolean(STATE_IDENTITY_CHANGED); updateFrom(); updateSignature(); - + mDraftNeedsSaving = false; } @@ -638,15 +631,15 @@ public class MessageCompose extends K9Activity implements OnClickListener, OnFoc message.setRecipients(RecipientType.BCC, getAddresses(mBccView)); message.setSubject(mSubjectView.getText().toString()); message.setHeader("X-User-Agent", getString(R.string.message_header_mua)); - + if (mInReplyTo != null) { - message.setInReplyTo(mInReplyTo); + message.setInReplyTo(mInReplyTo); } - + if (mReferences != null) { - message.setReferences(mReferences); + message.setReferences(mReferences); } - + /* * Build the Body that will contain the text of the message. We'll decide where to @@ -661,8 +654,8 @@ public class MessageCompose extends K9Activity implements OnClickListener, OnFoc if (mQuotedTextBar.getVisibility() == View.VISIBLE) { text += "\n" + mQuotedText.getText().toString(); } - - + + if (appendSig && mAccount.isSignatureBeforeQuotedText() == false) { text = appendSignature(text); } @@ -690,8 +683,7 @@ public class MessageCompose extends K9Activity implements OnClickListener, OnFoc } message.setBody(mp); - } - else { + } else { /* * No attachments to include, just stick the text body in the message and call * it good. @@ -704,9 +696,9 @@ public class MessageCompose extends K9Activity implements OnClickListener, OnFoc private String appendSignature (String text) { String signature= mSignatureView.getText().toString(); - - if (signature != null && ! signature.contentEquals("")){ - text += "\n" + signature; + + if (signature != null && ! signature.contentEquals("")) { + text += "\n" + signature; } return text; @@ -719,8 +711,7 @@ public class MessageCompose extends K9Activity implements OnClickListener, OnFoc MimeMessage message; try { message = createMessage(!save); // Only append sig on save - } - catch (MessagingException me) { + } catch (MessagingException me) { Log.e(Email.LOG_TAG, "Failed to create new message for send or save.", me); throw new RuntimeException("Failed to create a new message for send or save.", me); } @@ -731,34 +722,31 @@ public class MessageCompose extends K9Activity implements OnClickListener, OnFoc */ if (mDraftUid != null) { message.setUid(mDraftUid); - } - else if (ACTION_EDIT_DRAFT.equals(getIntent().getAction())) { + } else if (ACTION_EDIT_DRAFT.equals(getIntent().getAction())) { /* * We're saving a previously saved draft, so update the new message's uid * to the old message's uid. */ message.setUid(mSourceMessageUid); } - + String k9identity = Utility.base64Encode("" + mMessageContentView.getText().toString().length()); - - if (mIdentityChanged || mSignatureChanged) - { - String signature = mSignatureView.getText().toString(); - k9identity += ":" + Utility.base64Encode(signature) ; - if (mIdentityChanged) - { - - String name = mIdentity.getName(); - String email = mIdentity.getEmail(); - - k9identity += ":" + Utility.base64Encode(name) + ":" + Utility.base64Encode(email); - } + + if (mIdentityChanged || mSignatureChanged) { + String signature = mSignatureView.getText().toString(); + k9identity += ":" + Utility.base64Encode(signature) ; + if (mIdentityChanged) { + + String name = mIdentity.getName(); + String email = mIdentity.getEmail(); + + k9identity += ":" + Utility.base64Encode(name) + ":" + Utility.base64Encode(email); + } } - + Log.d(Email.LOG_TAG, "Saving identity: " + k9identity); message.addHeader(Email.K9MAIL_IDENTITY, k9identity); - + MessagingController.getInstance(getApplication()).saveDraft(mAccount, message); mDraftUid = message.getUid(); @@ -766,8 +754,7 @@ public class MessageCompose extends K9Activity implements OnClickListener, OnFoc if ((getChangingConfigurations() & ActivityInfo.CONFIG_ORIENTATION) == 0) { mHandler.sendEmptyMessage(MSG_SAVED_DRAFT); } - } - else { + } else { /* * Send the message * TODO Is it possible for us to be editing a draft with a null source message? Don't @@ -817,8 +804,8 @@ public class MessageCompose extends K9Activity implements OnClickListener, OnFoc } } if (mDraftUid != null) { - Message draftMessage = new MimeMessage(); - MessagingController.getInstance(getApplication()).deleteMessage( mAccount, mAccount.getDraftsFolderName(), draftMessage, null); + Message draftMessage = new MimeMessage(); + MessagingController.getInstance(getApplication()).deleteMessage( mAccount, mAccount.getDraftsFolderName(), draftMessage, null); } mHandler.sendEmptyMessage(MSG_DISCARDED_DRAFT); mDraftNeedsSaving = false; @@ -859,7 +846,7 @@ public class MessageCompose extends K9Activity implements OnClickListener, OnFoc attachment.uri = uri; if (attachment.size == -1 || attachment.name == null) { - Cursor metadataCursor = contentResolver.query( uri, new String[]{ OpenableColumns.DISPLAY_NAME, OpenableColumns.SIZE }, null, null, null); + Cursor metadataCursor = contentResolver.query( uri, new String[] { OpenableColumns.DISPLAY_NAME, OpenableColumns.SIZE }, null, null, null); if (metadataCursor != null) { try { if (metadataCursor.moveToFirst()) { @@ -916,116 +903,107 @@ public class MessageCompose extends K9Activity implements OnClickListener, OnFoc @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { - if(resultCode != RESULT_OK) - return; + if (resultCode != RESULT_OK) + return; if (data == null) { return; } - switch(requestCode) { + switch (requestCode) { case ACTIVITY_REQUEST_PICK_ATTACHMENT: - - addAttachment(data.getData()); - mDraftNeedsSaving = true; - break; + + addAttachment(data.getData()); + mDraftNeedsSaving = true; + break; case ACTIVITY_CHOOSE_IDENTITY: - onIdentityChosen(data); - break; - } + onIdentityChosen(data); + break; + } } - private void onIdentityChosen(Intent intent) - { - Bundle bundle = intent.getExtras();; - switchToIdentity( (Account.Identity)bundle.getSerializable(ChooseIdentity.EXTRA_IDENTITY)); + private void onIdentityChosen(Intent intent) { + Bundle bundle = intent.getExtras();; + switchToIdentity( (Account.Identity)bundle.getSerializable(ChooseIdentity.EXTRA_IDENTITY)); } - - private void switchToIdentity(Account.Identity identity) - { + + private void switchToIdentity(Account.Identity identity) { mIdentity = identity; mIdentityChanged = true; mDraftNeedsSaving = true; updateFrom(); - updateSignature(); + updateSignature(); } - - private void updateFrom() - { - if (mIdentityChanged) - { - mFromView.setVisibility(View.VISIBLE); - } - mFromView.setText(getString(R.string.message_view_from_format, mIdentity.getName(), mIdentity.getEmail())); + + private void updateFrom() { + if (mIdentityChanged) { + mFromView.setVisibility(View.VISIBLE); + } + mFromView.setText(getString(R.string.message_view_from_format, mIdentity.getName(), mIdentity.getEmail())); } - - private void updateSignature() - { - mSignatureView.setText(mIdentity.getSignature()); + + private void updateSignature() { + mSignatureView.setText(mIdentity.getSignature()); } public void onClick(View view) { switch (view.getId()) { - case R.id.attachment_delete: - /* - * The view is the delete button, and we have previously set the tag of - * the delete button to the view that owns it. We don't use parent because the - * view is very complex and could change in the future. - */ - mAttachments.removeView((View) view.getTag()); - mDraftNeedsSaving = true; - break; - case R.id.quoted_text_delete: - mQuotedTextBar.setVisibility(View.GONE); - mQuotedText.setVisibility(View.GONE); - mDraftNeedsSaving = true; - break; + case R.id.attachment_delete: + /* + * The view is the delete button, and we have previously set the tag of + * the delete button to the view that owns it. We don't use parent because the + * view is very complex and could change in the future. + */ + mAttachments.removeView((View) view.getTag()); + mDraftNeedsSaving = true; + break; + case R.id.quoted_text_delete: + mQuotedTextBar.setVisibility(View.GONE); + mQuotedText.setVisibility(View.GONE); + mDraftNeedsSaving = true; + break; } } public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { - case R.id.send: - onSend(); - break; - case R.id.save: - onSave(); - break; - case R.id.discard: - onDiscard(); - break; - case R.id.add_cc_bcc: - onAddCcBcc(); - break; - case R.id.add_attachment: - onAddAttachment(); - break; - case R.id.choose_identity: - onChooseIdentity(); - break; - default: - return super.onOptionsItemSelected(item); + case R.id.send: + onSend(); + break; + case R.id.save: + onSave(); + break; + case R.id.discard: + onDiscard(); + break; + case R.id.add_cc_bcc: + onAddCcBcc(); + break; + case R.id.add_attachment: + onAddAttachment(); + break; + case R.id.choose_identity: + onChooseIdentity(); + break; + default: + return super.onOptionsItemSelected(item); } return true; } - private void onChooseIdentity() - { - if (mAccount.getIdentities().size() > 1) - { - Intent intent = new Intent(this, ChooseIdentity.class); - intent.putExtra(ChooseIdentity.EXTRA_ACCOUNT, mAccount); - startActivityForResult(intent, ACTIVITY_CHOOSE_IDENTITY); - } - else - { + private void onChooseIdentity() { + if (mAccount.getIdentities().size() > 1) { + Intent intent = new Intent(this, ChooseIdentity.class); + intent.putExtra(ChooseIdentity.EXTRA_ACCOUNT, mAccount); + startActivityForResult(intent, ACTIVITY_CHOOSE_IDENTITY); + } else { Toast.makeText(this, getString(R.string.no_identities), - Toast.LENGTH_LONG).show(); + Toast.LENGTH_LONG).show(); } } public boolean onCreateOptionsMenu(Menu menu) { super.onCreateOptionsMenu(menu); getMenuInflater().inflate(R.menu.message_compose_option, menu); - + return true; } @@ -1054,8 +1032,7 @@ public class MessageCompose extends K9Activity implements OnClickListener, OnFoc addAttachment(uri); } }); - } - else { + } else { return false; } } @@ -1074,8 +1051,7 @@ public class MessageCompose extends K9Activity implements OnClickListener, OnFoc try { if (message.getSubject() != null && !message.getSubject().toLowerCase().startsWith("re:")) { mSubjectView.setText("Re: " + message.getSubject()); - } - else { + } else { mSubjectView.setText(message.getSubject()); } /* @@ -1085,47 +1061,43 @@ public class MessageCompose extends K9Activity implements OnClickListener, OnFoc Address[] replyToAddresses; if (message.getReplyTo().length > 0) { addAddresses(mToView, replyToAddresses = message.getReplyTo()); - } - else { + } else { addAddresses(mToView, replyToAddresses = message.getFrom()); } - + if (message.getMessageId() != null && message.getMessageId().length() > 0) { - String messageId = message.getMessageId(); - mInReplyTo = messageId; - + String messageId = message.getMessageId(); + mInReplyTo = messageId; + if (message.getReferences() != null && message.getReferences().length > 0) { - StringBuffer buffy = new StringBuffer(); - for (int i=0; i < message.getReferences().length; i++) - buffy.append(message.getReferences()[i]); - - mReferences = buffy.toString() + " " + mInReplyTo; - } - else { - mReferences = mInReplyTo; + StringBuffer buffy = new StringBuffer(); + for (int i=0; i < message.getReferences().length; i++) + buffy.append(message.getReferences()[i]); + + mReferences = buffy.toString() + " " + mInReplyTo; + } else { + mReferences = mInReplyTo; } - } - else { - Log.d(Email.LOG_TAG, "could not get Message-ID."); + } else { + Log.d(Email.LOG_TAG, "could not get Message-ID."); } - + Part part = MimeUtility.findFirstPartByMimeType(mSourceMessage, - "text/plain"); + "text/plain"); if (part != null) { String quotedText = String.format( - getString(R.string.message_compose_reply_header_fmt), - Address.toString(mSourceMessage.getFrom())); - + getString(R.string.message_compose_reply_header_fmt), + Address.toString(mSourceMessage.getFrom())); + quotedText += MimeUtility.getTextFromPart(part).replaceAll("(?m)^", ">"); mQuotedText.setText(quotedText); mQuotedTextBar.setVisibility(View.VISIBLE); mQuotedText.setVisibility(View.VISIBLE); } - - if (ACTION_REPLY_ALL.equals(action) || ACTION_REPLY.equals(action)) - { + + if (ACTION_REPLY_ALL.equals(action) || ACTION_REPLY.equals(action)) { Account.Identity useIdentity = null; for (Address address : message.getRecipients(RecipientType.TO)) { Account.Identity identity = mAccount.findIdentity(address); @@ -1134,60 +1106,54 @@ public class MessageCompose extends K9Activity implements OnClickListener, OnFoc break; } } - if (useIdentity == null) - { + if (useIdentity == null) { if (message.getRecipients(RecipientType.CC).length > 0) { for (Address address : message.getRecipients(RecipientType.CC)) { Account.Identity identity = mAccount.findIdentity(address); if (identity != null) { useIdentity = identity; break; - } + } } } } - if (useIdentity != null) - { + if (useIdentity != null) { Account.Identity defaultIdentity = mAccount.getIdentity(0); - if (useIdentity != defaultIdentity) - { + if (useIdentity != defaultIdentity) { switchToIdentity(useIdentity); } - } + } } - + if (ACTION_REPLY_ALL.equals(action)) { for (Address address : message.getRecipients(RecipientType.TO)) { Account.Identity identity = mAccount.findIdentity(address); if (!mAccount.isAnIdentity(address)) { addAddress(mToView, address); } - + } if (message.getRecipients(RecipientType.CC).length > 0) { for (Address address : message.getRecipients(RecipientType.CC)) { if (!mAccount.isAnIdentity(address) && !Utility.arrayContains(replyToAddresses, address)) { addAddress(mCcView, address); } - + } mCcView.setVisibility(View.VISIBLE); } } - } - catch (MessagingException me) { + } catch (MessagingException me) { /* * This really should not happen at this point but if it does it's okay. * The user can continue composing their message. */ } - } - else if (ACTION_FORWARD.equals(action)) { + } else if (ACTION_FORWARD.equals(action)) { try { if (message.getSubject() != null && !message.getSubject().toLowerCase().startsWith("fwd:")) { mSubjectView.setText("Fwd: " + message.getSubject()); - } - else { + } else { mSubjectView.setText(message.getSubject()); } Part part = MimeUtility.findFirstPartByMimeType(message, "text/plain"); @@ -1198,14 +1164,14 @@ public class MessageCompose extends K9Activity implements OnClickListener, OnFoc String quotedText = MimeUtility.getTextFromPart(part); if (quotedText != null) { String text = String.format( - getString(R.string.message_compose_fwd_header_fmt), - mSourceMessage.getSubject(), - Address.toString(mSourceMessage.getFrom()), - Address.toString( - mSourceMessage.getRecipients(RecipientType.TO)), - Address.toString( - mSourceMessage.getRecipients(RecipientType.CC))); - + getString(R.string.message_compose_fwd_header_fmt), + mSourceMessage.getSubject(), + Address.toString(mSourceMessage.getFrom()), + Address.toString( + mSourceMessage.getRecipients(RecipientType.TO)), + Address.toString( + mSourceMessage.getRecipients(RecipientType.CC))); + text += quotedText; mQuotedText.setText(text); mQuotedTextBar.setVisibility(View.VISIBLE); @@ -1217,15 +1183,13 @@ public class MessageCompose extends K9Activity implements OnClickListener, OnFoc mHandler.sendEmptyMessage(MSG_SKIPPED_ATTACHMENTS); } } - } - catch (MessagingException me) { + } catch (MessagingException me) { /* * This really should not happen at this point but if it does it's okay. * The user can continue composing their message. */ } - } - else if (ACTION_EDIT_DRAFT.equals(action)) { + } else if (ACTION_EDIT_DRAFT.equals(action)) { try { mSubjectView.setText(message.getSubject()); addAddresses(mToView, message.getRecipients(RecipientType.TO)); @@ -1237,93 +1201,74 @@ public class MessageCompose extends K9Activity implements OnClickListener, OnFoc addAddresses(mBccView, message.getRecipients(RecipientType.BCC)); mBccView.setVisibility(View.VISIBLE); } - + if (!mSourceMessageProcessed) { loadAttachments(message, 0); } Integer bodyLength = null; String[] k9identities = message.getHeader(Email.K9MAIL_IDENTITY); - if (k9identities != null && k9identities.length > 0) - { - String k9identity = k9identities[0]; - - if (k9identity != null) - { - Log.d(Email.LOG_TAG, "Got a saved identity: " + k9identity); - StringTokenizer tokens = new StringTokenizer(k9identity, ":", false); - - String bodyLengthS = null; - String name = null; - String email = null; - String signature = null; - if (tokens.hasMoreTokens()) - { - bodyLengthS = Utility.base64Decode(tokens.nextToken()); - try - { - bodyLength = Integer.parseInt(bodyLengthS); - } - catch (Exception e) - { - Log.e(Email.LOG_TAG, "Unable to parse bodyLength '" + bodyLengthS + "'"); - } + if (k9identities != null && k9identities.length > 0) { + String k9identity = k9identities[0]; + + if (k9identity != null) { + Log.d(Email.LOG_TAG, "Got a saved identity: " + k9identity); + StringTokenizer tokens = new StringTokenizer(k9identity, ":", false); + + String bodyLengthS = null; + String name = null; + String email = null; + String signature = null; + if (tokens.hasMoreTokens()) { + bodyLengthS = Utility.base64Decode(tokens.nextToken()); + try { + bodyLength = Integer.parseInt(bodyLengthS); + } catch (Exception e) { + Log.e(Email.LOG_TAG, "Unable to parse bodyLength '" + bodyLengthS + "'"); + } + } + if (tokens.hasMoreTokens()) { + signature = Utility.base64Decode(tokens.nextToken()); + } + if (tokens.hasMoreTokens()) { + name = Utility.base64Decode(tokens.nextToken()); + } + if (tokens.hasMoreTokens()) { + email = Utility.base64Decode(tokens.nextToken()); + } + + Account.Identity newIdentity= mAccount.new Identity(); + if (signature != null) { + newIdentity.setSignature(signature); + mSignatureChanged = true; + } else { + newIdentity.setSignature(mIdentity.getSignature()); + } + + if (name != null) { + newIdentity.setName(name); + mIdentityChanged = true; + } else { + newIdentity.setName(mIdentity.getName()); + } + + if (email != null) { + newIdentity.setEmail(email); + mIdentityChanged = true; + } else { + newIdentity.setEmail(mIdentity.getEmail()); + } + + mIdentity = newIdentity; + + updateSignature(); + updateFrom(); + } - if (tokens.hasMoreTokens()) - { - signature = Utility.base64Decode(tokens.nextToken()); - } - if (tokens.hasMoreTokens()) - { - name = Utility.base64Decode(tokens.nextToken()); - } - if (tokens.hasMoreTokens()) - { - email = Utility.base64Decode(tokens.nextToken()); - } - - Account.Identity newIdentity= mAccount.new Identity(); - if (signature != null) - { - newIdentity.setSignature(signature); - mSignatureChanged = true; - } - else - { - newIdentity.setSignature(mIdentity.getSignature()); - } - - if (name != null) - { - newIdentity.setName(name); - mIdentityChanged = true; - } - else - { - newIdentity.setName(mIdentity.getName()); - } - - if (email != null) - { - newIdentity.setEmail(email); - mIdentityChanged = true; - } - else - { - newIdentity.setEmail(mIdentity.getEmail()); - } - - mIdentity = newIdentity; - - updateSignature(); - updateFrom(); - - } } Part part = MimeUtility.findFirstPartByMimeType(message, "text/plain"); if (part != null) { String text = MimeUtility.getTextFromPart(part); - if (bodyLength != null && bodyLength + 1 < text.length()) // + 1 to get rid of the newline we added when saving the draft - { + if (bodyLength != null && bodyLength + 1 < text.length()) { // + 1 to get rid of the newline we added when saving the draft String bodyText = text.substring(0, bodyLength); String quotedText = text.substring(bodyLength + 1, text.length()); @@ -1332,14 +1277,11 @@ public class MessageCompose extends K9Activity implements OnClickListener, OnFoc mQuotedTextBar.setVisibility(View.VISIBLE); mQuotedText.setVisibility(View.VISIBLE); + } else { + mMessageContentView.setText(text); } - else - { - mMessageContentView.setText(text); } - } - } - catch (MessagingException me) { + } catch (MessagingException me) { // TODO } } @@ -1351,7 +1293,7 @@ public class MessageCompose extends K9Activity implements OnClickListener, OnFoc @Override public void loadMessageForViewStarted(Account account, String folder, String uid) { if (mSourceMessageUid==null - || !mSourceMessageUid.equals(uid)) { + || !mSourceMessageUid.equals(uid)) { return; } @@ -1361,7 +1303,7 @@ public class MessageCompose extends K9Activity implements OnClickListener, OnFoc @Override public void loadMessageForViewFinished(Account account, String folder, String uid, Message message) { if (mSourceMessageUid==null - || !mSourceMessageUid.equals(uid)) { + || !mSourceMessageUid.equals(uid)) { return; } @@ -1371,7 +1313,7 @@ public class MessageCompose extends K9Activity implements OnClickListener, OnFoc @Override public void loadMessageForViewBodyAvailable(Account account, String folder, String uid, final Message message) { if (mSourceMessageUid==null - || !mSourceMessageUid.equals(uid)) { + || !mSourceMessageUid.equals(uid)) { return; } @@ -1386,7 +1328,7 @@ public class MessageCompose extends K9Activity implements OnClickListener, OnFoc @Override public void loadMessageForViewFailed(Account account, String folder, String uid, Throwable t) { if (mSourceMessageUid==null - || !mSourceMessageUid.equals(uid)) { + || !mSourceMessageUid.equals(uid)) { return; } mHandler.sendEmptyMessage(MSG_PROGRESS_OFF); diff --git a/src/com/android/email/activity/MessageList.java b/src/com/android/email/activity/MessageList.java index 04f12e4e1..1c49ab11c 100644 --- a/src/com/android/email/activity/MessageList.java +++ b/src/com/android/email/activity/MessageList.java @@ -89,28 +89,28 @@ public class MessageList extends K9ListActivity { private static final String STATE_KEY_SELECTION = "com.android.email.activity.messagelist_selection"; private static final int[] colorChipResIds = new int[] { - R.drawable.appointment_indicator_leftside_1, - R.drawable.appointment_indicator_leftside_2, - R.drawable.appointment_indicator_leftside_3, - R.drawable.appointment_indicator_leftside_4, - R.drawable.appointment_indicator_leftside_5, - R.drawable.appointment_indicator_leftside_6, - R.drawable.appointment_indicator_leftside_7, - R.drawable.appointment_indicator_leftside_8, - R.drawable.appointment_indicator_leftside_9, - R.drawable.appointment_indicator_leftside_10, - R.drawable.appointment_indicator_leftside_11, - R.drawable.appointment_indicator_leftside_12, - R.drawable.appointment_indicator_leftside_13, - R.drawable.appointment_indicator_leftside_14, - R.drawable.appointment_indicator_leftside_15, - R.drawable.appointment_indicator_leftside_16, - R.drawable.appointment_indicator_leftside_17, - R.drawable.appointment_indicator_leftside_18, - R.drawable.appointment_indicator_leftside_19, - R.drawable.appointment_indicator_leftside_20, - R.drawable.appointment_indicator_leftside_21, - }; + R.drawable.appointment_indicator_leftside_1, + R.drawable.appointment_indicator_leftside_2, + R.drawable.appointment_indicator_leftside_3, + R.drawable.appointment_indicator_leftside_4, + R.drawable.appointment_indicator_leftside_5, + R.drawable.appointment_indicator_leftside_6, + R.drawable.appointment_indicator_leftside_7, + R.drawable.appointment_indicator_leftside_8, + R.drawable.appointment_indicator_leftside_9, + R.drawable.appointment_indicator_leftside_10, + R.drawable.appointment_indicator_leftside_11, + R.drawable.appointment_indicator_leftside_12, + R.drawable.appointment_indicator_leftside_13, + R.drawable.appointment_indicator_leftside_14, + R.drawable.appointment_indicator_leftside_15, + R.drawable.appointment_indicator_leftside_16, + R.drawable.appointment_indicator_leftside_17, + R.drawable.appointment_indicator_leftside_18, + R.drawable.appointment_indicator_leftside_19, + R.drawable.appointment_indicator_leftside_20, + R.drawable.appointment_indicator_leftside_21, + }; private ListView mListView; @@ -201,35 +201,31 @@ public class MessageList extends K9ListActivity { break; case MSG_SORT_MESSAGES: - - synchronized(mAdapter.messages) - { + + synchronized (mAdapter.messages) { Collections.sort(mAdapter.messages); - } + } mAdapter.notifyDataSetChanged(); break; case MSG_REMOVE_MESSAGE: { List messages = (List)((Object[]) msg.obj)[0]; - for (MessageInfoHolder message : messages) - { + for (MessageInfoHolder message : messages) { mAdapter.messages.remove(message); } mAdapter.notifyDataSetChanged(); break; } - + case MSG_ADD_MESSAGE: { List messages = (List)((Object[]) msg.obj)[0]; - for (MessageInfoHolder message : messages) - { + for (MessageInfoHolder message : messages) { int index = Collections.binarySearch( mAdapter.messages, message); - - if (index < 0) - { + + if (index < 0) { index = (index * -1) - 1; } - + mAdapter.messages.add(index, message); } mAdapter.notifyDataSetChanged(); @@ -250,12 +246,10 @@ public class MessageList extends K9ListActivity { break; } - - case MSG_FOLDER_LOADING: - { + + case MSG_FOLDER_LOADING: { FolderInfoHolder folder = mCurrentFolder; - if (folder != null) - { + if (folder != null) { folder.loading = msg.arg1 != 0; } break; @@ -286,16 +280,15 @@ public class MessageList extends K9ListActivity { msg.obj = new Object[] { messages }; sendMessage(msg); } - + public void addMessages(List messages) { android.os.Message msg = new android.os.Message(); msg.what = MSG_ADD_MESSAGE; msg.obj = new Object[] { messages }; sendMessage(msg); } - - private void sortMessages() - { + + private void sortMessages() { sendEmptyMessage(MSG_SORT_MESSAGES); } @@ -317,8 +310,7 @@ public class MessageList extends K9ListActivity { public void folderSyncing(String folder) { android.os.Message msg = new android.os.Message(); msg.what = MSG_FOLDER_SYNCING; - msg.obj = new String[] - { folder }; + msg.obj = new String[] { folder }; sendMessage(msg); } @@ -348,18 +340,18 @@ public class MessageList extends K9ListActivity { context.startActivity(intent); } - public void onListItemClick(ListView parent, View v, int position, long id) { + public void onListItemClick(ListView parent, View v, int position, long id) { if ((position+1) == (mAdapter.getCount() )) { MessagingController.getInstance(getApplication()).loadMoreMessages( - mAccount, - mFolderName, - mAdapter.mListener); + mAccount, + mFolderName, + mAdapter.mListener); return; } else { MessageInfoHolder message = (MessageInfoHolder) mAdapter.getItem( position); onOpenMessage( message); } - } + } @Override public void onCreate(Bundle savedInstanceState) { @@ -411,7 +403,7 @@ public class MessageList extends K9ListActivity { colorChipResId = colorChipResIds[mAccount.getAccountNumber() % colorChipResIds.length]; mAdapter = new MessageListAdapter(); - + final Object previousData = getLastNonConfigurationInstance(); if (previousData != null) { @@ -428,23 +420,23 @@ public class MessageList extends K9ListActivity { } setTitle( - mAccount.getDescription() - + " - " + - mCurrentFolder.displayName - - ); + mAccount.getDescription() + + " - " + + mCurrentFolder.displayName + + ); } private void onRestoreListState(Bundle savedInstanceState) { - String currentFolder = savedInstanceState.getString(STATE_CURRENT_FOLDER); - int selectedChild = savedInstanceState.getInt( STATE_KEY_SELECTION, -1); + String currentFolder = savedInstanceState.getString(STATE_CURRENT_FOLDER); + int selectedChild = savedInstanceState.getInt( STATE_KEY_SELECTION, -1); - if (selectedChild != 0 ){ - mListView.setSelection(selectedChild); - } - if (currentFolder != null ) { - mCurrentFolder = mAdapter.getFolder(currentFolder); - } + if (selectedChild != 0 ) { + mListView.setSelection(selectedChild); + } + if (currentFolder != null ) { + mCurrentFolder = mAdapter.getFolder(currentFolder); + } mListView.onRestoreInstanceState(savedInstanceState.getParcelable(STATE_KEY_LIST)); @@ -458,7 +450,7 @@ public class MessageList extends K9ListActivity { } /** - * On resume we refresh + * On resume we refresh * messages for any folder that is currently open. This guarantees that things * like unread message count and read status are updated. */ @@ -498,15 +490,27 @@ public class MessageList extends K9ListActivity { //Shortcuts that work no matter what is selected switch (keyCode) { - case KeyEvent.KEYCODE_C: { onCompose(); return true;} + case KeyEvent.KEYCODE_C: { + onCompose(); + return true; + } - case KeyEvent.KEYCODE_Q: - //case KeyEvent.KEYCODE_BACK: - { onShowFolderList(); return true; } + case KeyEvent.KEYCODE_Q: + //case KeyEvent.KEYCODE_BACK: + { + onShowFolderList(); + return true; + } - case KeyEvent.KEYCODE_O: { onCycleSort(); return true; } + case KeyEvent.KEYCODE_O: { + onCycleSort(); + return true; + } - case KeyEvent.KEYCODE_I: { onToggleSortAscending(); return true; } + case KeyEvent.KEYCODE_I: { + onToggleSortAscending(); + return true; + } case KeyEvent.KEYCODE_H: { Toast toast = Toast.makeText(this, R.string.message_list_help_key, Toast.LENGTH_LONG); @@ -517,28 +521,55 @@ public class MessageList extends K9ListActivity { int position = mListView.getSelectedItemPosition(); try { - if (position >= 0 ) { + if (position >= 0 ) { MessageInfoHolder message = (MessageInfoHolder) mAdapter.getItem(position); if (message != null) { switch (keyCode) { - case KeyEvent.KEYCODE_DEL: { onDelete(message, position); return true;} + case KeyEvent.KEYCODE_DEL: { + onDelete(message, position); + return true; + } - case KeyEvent.KEYCODE_D: { onDelete(message, position); return true;} + case KeyEvent.KEYCODE_D: { + onDelete(message, position); + return true; + } - case KeyEvent.KEYCODE_F: { onForward(message); return true;} + case KeyEvent.KEYCODE_F: { + onForward(message); + return true; + } - case KeyEvent.KEYCODE_A: { onReplyAll(message); return true; } + case KeyEvent.KEYCODE_A: { + onReplyAll(message); + return true; + } - case KeyEvent.KEYCODE_R: { onReply(message); return true; } + case KeyEvent.KEYCODE_R: { + onReply(message); + return true; + } - case KeyEvent.KEYCODE_G: { onToggleFlag(message); return true; } + case KeyEvent.KEYCODE_G: { + onToggleFlag(message); + return true; + } - case KeyEvent.KEYCODE_M: { onMove(message); return true; } + case KeyEvent.KEYCODE_M: { + onMove(message); + return true; + } - case KeyEvent.KEYCODE_Y: { onCopy(message); return true; } + case KeyEvent.KEYCODE_Y: { + onCopy(message); + return true; + } - case KeyEvent.KEYCODE_Z: { onToggleRead(message); return true; } + case KeyEvent.KEYCODE_Z: { + onToggleRead(message); + return true; + } } } } @@ -555,7 +586,7 @@ public class MessageList extends K9ListActivity { if (message.folder.name.equals(mAccount.getDraftsFolderName())) { MessageCompose.actionEditDraft(this, mAccount, message.message); } else { - // Need to get the list before the sort starts + // Need to get the list before the sort starts ArrayList messageUids = new ArrayList(); for (MessageInfoHolder holder : mAdapter.messages) { @@ -580,18 +611,17 @@ public class MessageList extends K9ListActivity { } private void onShowFolderList() { - if (mStartup || isTaskRoot()) - { + if (mStartup || isTaskRoot()) { FolderList.actionHandleAccount(this, mAccount, false); } - + finish(); } private void onCompose() { MessageCompose.actionCompose(this, mAccount); } - + private void onEditAccount() { AccountSettings.actionSettings(this, mAccount); } @@ -615,10 +645,10 @@ public class MessageList extends K9ListActivity { } private void onAccounts() { - Accounts.listAccounts(this); + Accounts.listAccounts(this); finish(); } - + private void onCycleSort() { SORT_TYPE[] sorts = SORT_TYPE.values(); int curIndex = 0; @@ -781,7 +811,7 @@ public class MessageList extends K9ListActivity { MessageCompose.actionForward(this, mAccount, holder.message); } - private void onMarkAllAsRead(final Account account, final String folder) { + private void onMarkAllAsRead(final Account account, final String folder) { showDialog(DIALOG_MARK_ALL_AS_READ); } @@ -790,7 +820,7 @@ public class MessageList extends K9ListActivity { switch (id) { case DIALOG_MARK_ALL_AS_READ: return createMarkAllAsReadDialog(); - + } return super.onCreateDialog(id); @@ -814,34 +844,34 @@ public class MessageList extends K9ListActivity { .setTitle(R.string.mark_all_as_read_dlg_title) .setMessage(getString(R.string.mark_all_as_read_dlg_instructions_fmt, mCurrentFolder.displayName)) - .setPositiveButton(R.string.okay_action, new DialogInterface.OnClickListener() { - public void onClick(DialogInterface dialog, int whichButton) { - dismissDialog(DIALOG_MARK_ALL_AS_READ); + .setPositiveButton(R.string.okay_action, new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int whichButton) { + dismissDialog(DIALOG_MARK_ALL_AS_READ); - try { + try { - MessagingController.getInstance(getApplication()).markAllMessagesRead(mAccount, mCurrentFolder.name); + MessagingController.getInstance(getApplication()).markAllMessagesRead(mAccount, mCurrentFolder.name); - for (MessageInfoHolder holder : mAdapter.messages) { - holder.read = true; - } + for (MessageInfoHolder holder : mAdapter.messages) { + holder.read = true; + } - mCurrentFolder.unreadMessageCount = 0; + mCurrentFolder.unreadMessageCount = 0; - mHandler.sortMessages(); + mHandler.sortMessages(); - } catch (Exception e) { - // Ignore - } - } - }) + } catch (Exception e) { + // Ignore + } + } + }) - .setNegativeButton(R.string.cancel_action, new DialogInterface.OnClickListener() { - public void onClick(DialogInterface dialog, int whichButton) { - dismissDialog(DIALOG_MARK_ALL_AS_READ); - } - }) + .setNegativeButton(R.string.cancel_action, new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int whichButton) { + dismissDialog(DIALOG_MARK_ALL_AS_READ); + } + }) .create(); } @@ -870,7 +900,7 @@ public class MessageList extends K9ListActivity { MessagingController.getInstance(getApplication()).synchronizeMailbox(account, folderName, mAdapter.mListener); sendMail(account); } - + private void sendMail(Account account) { MessagingController.getInstance(getApplication()).sendPendingMessages(account, mAdapter.mListener); } @@ -891,10 +921,10 @@ public class MessageList extends K9ListActivity { return true; case R.id.accounts: - onAccounts(); + onAccounts(); + + return true; - return true; - case R.id.set_sort_date: changeSort(SORT_TYPE.SORT_DATE); @@ -932,19 +962,19 @@ public class MessageList extends K9ListActivity { case R.id.list_folders: onShowFolderList(); - + return true; case R.id.mark_all_as_read: onMarkAllAsRead(mAccount, mFolderName); - + return true; case R.id.folder_settings: FolderSettings.actionSettings(this, mAccount, mFolderName); return true; - + case R.id.account_settings: onEditAccount(); @@ -959,13 +989,13 @@ public class MessageList extends K9ListActivity { public boolean onCreateOptionsMenu(Menu menu) { super.onCreateOptionsMenu(menu); getMenuInflater().inflate(R.menu.message_list_option, menu); - + if (mCurrentFolder.outbox) { menu.findItem(R.id.check_mail).setVisible(false); } else { menu.findItem(R.id.send_messages).setVisible(false); } - + return true; } @@ -974,58 +1004,58 @@ public class MessageList extends K9ListActivity { AdapterContextMenuInfo info = (AdapterContextMenuInfo) item .getMenuInfo(); MessageInfoHolder holder = (MessageInfoHolder) mAdapter.getItem(info.position); - switch (item.getItemId()) { - case R.id.open: - onOpenMessage(holder); + switch (item.getItemId()) { + case R.id.open: + onOpenMessage(holder); - break; + break; - case R.id.delete: - onDelete(holder, info.position); + case R.id.delete: + onDelete(holder, info.position); - break; + break; - case R.id.reply: - onReply(holder); + case R.id.reply: + onReply(holder); - break; + break; - case R.id.reply_all: - onReplyAll(holder); + case R.id.reply_all: + onReplyAll(holder); - break; + break; - case R.id.forward: - onForward(holder); + case R.id.forward: + onForward(holder); - break; + break; - case R.id.mark_as_read: - onToggleRead(holder); + case R.id.mark_as_read: + onToggleRead(holder); - break; + break; - case R.id.flag: - onToggleFlag(holder); + case R.id.flag: + onToggleFlag(holder); - break; + break; - case R.id.move: - onMove(holder); + case R.id.move: + onMove(holder); - break; + break; - case R.id.copy: - onCopy(holder); + case R.id.copy: + onCopy(holder); - break; + break; - case R.id.send_alternate: - onSendAlternate(mAccount, holder); + case R.id.send_alternate: + onSendAlternate(mAccount, holder); - break; + break; - } + } return super.onContextItemSelected(item); } @@ -1039,7 +1069,7 @@ public class MessageList extends K9ListActivity { ProgressBar bar = (ProgressBar)mListView.findViewById( R.id.message_list_progress); if (bar == null) { return; - } + } bar.setIndeterminate(true); if (status) { @@ -1052,36 +1082,36 @@ public class MessageList extends K9ListActivity { @Override public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) { super.onCreateContextMenu(menu, v, menuInfo); - - + + AdapterContextMenuInfo info = (AdapterContextMenuInfo) menuInfo; MessageInfoHolder message = (MessageInfoHolder) mAdapter.getItem(info.position ); - + if (message == null) { return; } getMenuInflater().inflate(R.menu.message_list_context, menu); - + menu.setHeaderTitle((CharSequence) message.subject); if (message.read) { menu.findItem(R.id.mark_as_read).setTitle( R.string.mark_as_unread_action); } - + if (message.flagged) { menu.findItem(R.id.flag).setTitle( R.string.unflag_action); } - + if (MessagingController.getInstance(getApplication()).isCopyCapable(mAccount) == false) { menu.findItem(R.id.copy).setVisible(false); } - + if (MessagingController.getInstance(getApplication()).isMoveCapable(mAccount) == false) { menu.findItem(R.id.move).setVisible(false); } } - + private String truncateStatus(String mess) { if (mess != null && mess.length() > 27) { mess = mess.substring(0, 27); @@ -1096,8 +1126,8 @@ public class MessageList extends K9ListActivity { private MessagingListener mListener = new MessagingListener() { @Override - public void synchronizeMailboxStarted(Account account, String folder) { - if (!account.equals(mAccount) || !folder.equals(mFolderName)) { + public void synchronizeMailboxStarted(Account account, String folder) { + if (!account.equals(mAccount) || !folder.equals(mFolderName)) { return; } @@ -1106,12 +1136,12 @@ public class MessageList extends K9ListActivity { mHandler.folderSyncing(folder); } - + @Override public void synchronizeMailboxFinished(Account account, String folder, - int totalMessagesInMailbox, int numNewMessages) { - if (!account.equals(mAccount) || !folder.equals(mFolderName)) { + int totalMessagesInMailbox, int numNewMessages) { + if (!account.equals(mAccount) || !folder.equals(mFolderName)) { return; } @@ -1123,18 +1153,18 @@ public class MessageList extends K9ListActivity { @Override public void synchronizeMailboxFailed(Account account, String folder, String message) { - if (!account.equals(mAccount) || !folder.equals(mFolderName)) { + if (!account.equals(mAccount) || !folder.equals(mFolderName)) { return; } - // Perhaps this can be restored, if done in the mHandler thread - // Toast.makeText(MessageList.this, message, Toast.LENGTH_LONG).show(); + // Perhaps this can be restored, if done in the mHandler thread + // Toast.makeText(MessageList.this, message, Toast.LENGTH_LONG).show(); mHandler.progress(false); mHandler.folderLoading(folder, false); mHandler.folderSyncing(null); mHandler.sortMessages(); } - + @Override public void synchronizeMailboxAddOrUpdateMessage(Account account, String folder, Message message) { if (!account.equals(mAccount) || !folder.equals(mFolderName)) { @@ -1143,15 +1173,15 @@ public class MessageList extends K9ListActivity { addOrUpdateMessage(folder, message); } - + @Override public void synchronizeMailboxRemovedMessage(Account account, String folder,Message message) { removeMessage(getMessage( message.getUid())); } @Override - public void listLocalMessagesStarted(Account account, String folder) { - if (!account.equals(mAccount)) { + public void listLocalMessagesStarted(Account account, String folder) { + if (!account.equals(mAccount)) { return; } mHandler.progress(true); @@ -1159,65 +1189,65 @@ public class MessageList extends K9ListActivity { } @Override - public void listLocalMessagesFailed(Account account, String folder, String message) { - if (!account.equals(mAccount)) { + public void listLocalMessagesFailed(Account account, String folder, String message) { + if (!account.equals(mAccount)) { return; } - - mHandler.sortMessages(); + + mHandler.sortMessages(); mHandler.progress(false); mHandler.folderLoading(folder, false); } @Override - public void listLocalMessagesFinished(Account account, String folder) { - if (!account.equals(mAccount)) { + public void listLocalMessagesFinished(Account account, String folder) { + if (!account.equals(mAccount)) { return; } - mHandler.sortMessages(); + mHandler.sortMessages(); mHandler.progress(false); mHandler.folderLoading(folder, false); } @Override - public void listLocalMessages(Account account, String folder, Message[] messages) { - if (!account.equals(mAccount)) { + public void listLocalMessages(Account account, String folder, Message[] messages) { + if (!account.equals(mAccount)) { return; } - + if (folder != mFolderName) { return; } - + //synchronizeMessages(folder, messages); } @Override public void listLocalMessagesRemoveMessage(Account account, String folder,Message message) { - if (!account.equals(mAccount) || !folder.equals(mFolderName)) { + if (!account.equals(mAccount) || !folder.equals(mFolderName)) { return; } MessageInfoHolder holder = getMessage(message.getUid()); if (holder != null ) { removeMessage(getMessage( message.getUid())); } - } + } @Override - public void listLocalMessagesAddMessages(Account account, String folder, List messages) { - if (!account.equals(mAccount) || !folder.equals(mFolderName)) { + public void listLocalMessagesAddMessages(Account account, String folder, List messages) { + if (!account.equals(mAccount) || !folder.equals(mFolderName)) { return; } addOrUpdateMessages(folder, messages); } - + @Override - public void listLocalMessagesUpdateMessage(Account account, String folder, Message message) { - if (!account.equals(mAccount) || !folder.equals(mFolderName)) { + public void listLocalMessagesUpdateMessage(Account account, String folder, Message message) { + if (!account.equals(mAccount) || !folder.equals(mFolderName)) { return; } @@ -1225,7 +1255,7 @@ public class MessageList extends K9ListActivity { } }; - + private Drawable mAttachmentIcon; private Drawable mAnsweredIcon; private View footerView = null; @@ -1243,13 +1273,13 @@ public class MessageList extends K9ListActivity { mHandler.removeMessage(holders); } - + public void removeMessage(MessageInfoHolder holder) { List messages = new ArrayList(); messages.add(holder); removeMessages(messages); } - + private void addOrUpdateMessage(String folder, Message message) { FolderInfoHolder f = mCurrentFolder; @@ -1259,7 +1289,7 @@ public class MessageList extends K9ListActivity { addOrUpdateMessage(f, message); } - + private void addOrUpdateMessage(FolderInfoHolder folder, Message message) { List messages = new ArrayList(); messages.add(message); @@ -1280,36 +1310,31 @@ public class MessageList extends K9ListActivity { List messagesToAdd = new ArrayList(); List messagesToRemove = new ArrayList(); - for (Message message : messages) - { + for (Message message : messages) { MessageInfoHolder m = getMessage( message.getUid()); - - if (m == null) - { + + if (m == null) { m = new MessageInfoHolder(message, folder); messagesToAdd.add(m); } else { if (message.isSet(Flag.DELETED)) { messagesToRemove.add(m); - + } else { m.populate(message, folder); needsSort = true; - + } } - } + } - if (messagesToRemove.size() > 0) - { + if (messagesToRemove.size() > 0) { removeMessages(messagesToRemove); } - if (messagesToAdd.size() > 0) - { + if (messagesToAdd.size() > 0) { mHandler.addMessages(messagesToAdd); } - if (needsSort) - { + if (needsSort) { mHandler.sortMessages(); } } @@ -1321,20 +1346,20 @@ public class MessageList extends K9ListActivity { int index = mAdapter.messages.indexOf((Object) searchHolder); if (index >= 0) { return (MessageInfoHolder)mAdapter.messages.get( index ); - } + } return null; } public FolderInfoHolder getFolder(String folder) { - try { - LocalStore localStore = (LocalStore)Store.getInstance( mAccount.getLocalStoreUri(), getApplication()); - LocalFolder local_folder = localStore.getFolder(folder); - FolderInfoHolder holder = new FolderInfoHolder ((Folder)local_folder); - return holder; + try { + LocalStore localStore = (LocalStore)Store.getInstance( mAccount.getLocalStoreUri(), getApplication()); + LocalFolder local_folder = localStore.getFolder(folder); + FolderInfoHolder holder = new FolderInfoHolder ((Folder)local_folder); + return holder; } catch (Exception e) { Log.e(Email.LOG_TAG, "getFolder(" + folder + ") goes boom: ",e); return null; - } + } } private static final int NON_MESSAGE_ITEMS = 1; @@ -1347,14 +1372,14 @@ public class MessageList extends K9ListActivity { } public long getItemId(int position) { - try { - MessageInfoHolder messageHolder =(MessageInfoHolder) getItem(position); - if (messageHolder != null) { - return ((LocalStore.LocalMessage) messageHolder.message).getId(); - } - } catch ( Exception e) { - Log.i(Email.LOG_TAG,"getItemId("+position+") ",e); + try { + MessageInfoHolder messageHolder =(MessageInfoHolder) getItem(position); + if (messageHolder != null) { + return ((LocalStore.LocalMessage) messageHolder.message).getId(); } + } catch ( Exception e) { + Log.i(Email.LOG_TAG,"getItemId("+position+") ",e); + } return -1; } @@ -1370,31 +1395,31 @@ public class MessageList extends K9ListActivity { } catch (Exception e) { Log.e(Email.LOG_TAG, "getItem(" + position + "), but folder.messages.size() = " + mAdapter.messages.size(), e); } - return null; + return null; } - public View getView(int position, View convertView, ViewGroup parent) { - + public View getView(int position, View convertView, ViewGroup parent) { + if (position == mAdapter.messages.size() ) { return getFooterView(position, convertView, parent); - } else { - return getItemView(position, convertView, parent); + } else { + return getItemView(position, convertView, parent); } } - - public View getItemView(int position, View convertView, ViewGroup parent) { + + public View getItemView(int position, View convertView, ViewGroup parent) { MessageInfoHolder message = (MessageInfoHolder) getItem(position); View view; - + if ((convertView != null) && (convertView.getId() == R.layout.message_list_item)) { view = convertView; } else { view = mInflater.inflate(R.layout.message_list_item, parent, false); view.setId(R.layout.message_list_item); } - - + + MessageViewHolder holder = (MessageViewHolder) view.getTag(); if (holder == null) { @@ -1403,14 +1428,14 @@ public class MessageList extends K9ListActivity { holder.from = (TextView) view.findViewById(R.id.from); holder.date = (TextView) view.findViewById(R.id.date); holder.chip = view.findViewById(R.id.chip); - holder.flagged = (CheckBox) view.findViewById(R.id.flagged); - holder.flagged.setOnClickListener(new OnClickListener() { - public void onClick(View v) { - // Perform action on clicks - MessageInfoHolder message = (MessageInfoHolder) getItem((Integer)v.getTag()); - onToggleFlag(message); - } - }); + holder.flagged = (CheckBox) view.findViewById(R.id.flagged); + holder.flagged.setOnClickListener(new OnClickListener() { + public void onClick(View v) { + // Perform action on clicks + MessageInfoHolder message = (MessageInfoHolder) getItem((Integer)v.getTag()); + onToggleFlag(message); + } + }); holder.chip.setBackgroundResource(colorChipResId); view.setTag(holder); @@ -1421,15 +1446,15 @@ public class MessageList extends K9ListActivity { holder.chip.getBackground().setAlpha(message.read ? 0 : 255); holder.subject.setTypeface(null, message.read ? Typeface.NORMAL : Typeface.BOLD); - int subjectColor = holder.from.getCurrentTextColor(); // Get from another field that never changes color + int subjectColor = holder.from.getCurrentTextColor(); // Get from another field that never changes color - holder.flagged.setTag((Integer)position); + holder.flagged.setTag((Integer)position); if (message.flagged) { - holder.flagged.setChecked(true); + holder.flagged.setChecked(true); } else { - holder.flagged.setChecked(false); - } + holder.flagged.setChecked(false); + } @@ -1474,9 +1499,9 @@ public class MessageList extends K9ListActivity { holder.main = (TextView)footerView.findViewById(R.id.main_text); footerView.setTag(holder); } - + FooterViewHolder holder = (FooterViewHolder)footerView.getTag(); - + if (mCurrentFolder.loading) { holder.main.setText(getString(R.string.status_loading_more)); holder.progress.setVisibility(ProgressBar.VISIBLE); @@ -1506,263 +1531,263 @@ public class MessageList extends K9ListActivity { } - public class MessageInfoHolder implements Comparable { - public String subject; + public class MessageInfoHolder implements Comparable { + public String subject; - public String date; + public String date; - public Date compareDate; + public Date compareDate; - public String compareSubject; + public String compareSubject; - public String sender; + public String sender; - public String compareCounterparty; + public String compareCounterparty; - public String[] recipients; + public String[] recipients; - public boolean hasAttachments; + public boolean hasAttachments; - public String uid; + public String uid; - public boolean read; + public boolean read; - public boolean answered; + public boolean answered; - public boolean flagged; + public boolean flagged; - public boolean downloaded; + public boolean downloaded; - public boolean partially_downloaded; + public boolean partially_downloaded; - public Message message; + public Message message; - public FolderInfoHolder folder; + public FolderInfoHolder folder; - // Empty constructor for comparison - public MessageInfoHolder() {} + // Empty constructor for comparison + public MessageInfoHolder() {} - public MessageInfoHolder(Message m, FolderInfoHolder folder) { - populate(m, folder); - } + public MessageInfoHolder(Message m, FolderInfoHolder folder) { + populate(m, folder); + } - public void populate(Message m, FolderInfoHolder folder) { + public void populate(Message m, FolderInfoHolder folder) { - try { - LocalMessage message = (LocalMessage) m; - Date date = message.getSentDate(); - this.compareDate = date; - this.folder = folder; + try { + LocalMessage message = (LocalMessage) m; + Date date = message.getSentDate(); + this.compareDate = date; + this.folder = folder; - if (Utility.isDateToday(date)) { - this.date = getTimeFormat().format(date); - } else { - this.date = getDateFormat().format(date); - } - - this.hasAttachments = message.getAttachmentCount() > 0; - - this.read = message.isSet(Flag.SEEN); - this.answered = message.isSet(Flag.ANSWERED); - this.flagged = message.isSet(Flag.FLAGGED); - this.downloaded = message.isSet(Flag.X_DOWNLOADED_FULL); - this.partially_downloaded = message.isSet(Flag.X_DOWNLOADED_PARTIAL); - - Address[] addrs = message.getFrom(); - - if (addrs.length > 0 && mAccount.isAnIdentity(addrs[0])) { - this.compareCounterparty = Address.toFriendly(message .getRecipients(RecipientType.TO)); - this.sender = String.format(getString(R.string.message_list_to_fmt), this.compareCounterparty); - } else { - this.sender = Address.toFriendly(addrs); - this.compareCounterparty = this.sender; - } - - this.subject = message.getSubject(); - - this.uid = message.getUid(); - this.message = m; - - } catch (MessagingException me) { - if (Config.LOGV) { - Log.v(Email.LOG_TAG, "Unable to load message info", me); - } - } - } - - public boolean equals(Object o) { - if (this.uid.equals(((MessageInfoHolder)o).uid)) { - return true; + if (Utility.isDateToday(date)) { + this.date = getTimeFormat().format(date); } else { - return false; - } - } - - - public int compareTo(MessageInfoHolder o) { - int ascender = (sortAscending ? 1 : -1); - int comparison = 0; - - if (sortType == SORT_TYPE.SORT_SUBJECT) { - if (compareSubject == null) { - compareSubject = stripPrefixes(subject).toLowerCase(); - } - - if (o.compareSubject == null) { - o.compareSubject = stripPrefixes(o.subject).toLowerCase(); - } - - comparison = this.compareSubject.compareTo(o.compareSubject); - } else if (sortType == SORT_TYPE.SORT_SENDER) { - comparison = this.compareCounterparty.toLowerCase().compareTo(o.compareCounterparty.toLowerCase()); - } else if (sortType == SORT_TYPE.SORT_FLAGGED) { - comparison = (this.flagged ? 0 : 1) - (o.flagged ? 0 : 1); - - } else if (sortType == SORT_TYPE.SORT_UNREAD) { - comparison = (this.read ? 1 : 0) - (o.read ? 1 : 0); - } else if (sortType == SORT_TYPE.SORT_ATTACHMENT) { - comparison = (this.hasAttachments ? 0 : 1) - (o.hasAttachments ? 0 : 1); - + this.date = getDateFormat().format(date); } - if (comparison != 0) { - return comparison * ascender; - } + this.hasAttachments = message.getAttachmentCount() > 0; - int dateAscender = (sortDateAscending ? 1 : -1); + this.read = message.isSet(Flag.SEEN); + this.answered = message.isSet(Flag.ANSWERED); + this.flagged = message.isSet(Flag.FLAGGED); + this.downloaded = message.isSet(Flag.X_DOWNLOADED_FULL); + this.partially_downloaded = message.isSet(Flag.X_DOWNLOADED_PARTIAL); + Address[] addrs = message.getFrom(); - return this.compareDate.compareTo(o.compareDate) * dateAscender; - } - - Pattern pattern = null; - String patternString = "^ *(re|aw|fw|fwd): *"; - private String stripPrefixes(String in) { - synchronized (patternString) { - if (pattern == null) { - pattern = Pattern.compile(patternString, Pattern.CASE_INSENSITIVE); - } - } - - Matcher matcher = pattern.matcher(in); - - int lastPrefix = -1; - - while (matcher.find()) { - lastPrefix = matcher.end(); - } - - if (lastPrefix > -1 && lastPrefix < in.length() - 1) { - return in.substring(lastPrefix); + if (addrs.length > 0 && mAccount.isAnIdentity(addrs[0])) { + this.compareCounterparty = Address.toFriendly(message .getRecipients(RecipientType.TO)); + this.sender = String.format(getString(R.string.message_list_to_fmt), this.compareCounterparty); } else { - return in; + this.sender = Address.toFriendly(addrs); + this.compareCounterparty = this.sender; + } + + this.subject = message.getSubject(); + + this.uid = message.getUid(); + this.message = m; + + } catch (MessagingException me) { + if (Config.LOGV) { + Log.v(Email.LOG_TAG, "Unable to load message info", me); + } + } + } + + public boolean equals(Object o) { + if (this.uid.equals(((MessageInfoHolder)o).uid)) { + return true; + } else { + return false; + } + } + + + public int compareTo(MessageInfoHolder o) { + int ascender = (sortAscending ? 1 : -1); + int comparison = 0; + + if (sortType == SORT_TYPE.SORT_SUBJECT) { + if (compareSubject == null) { + compareSubject = stripPrefixes(subject).toLowerCase(); + } + + if (o.compareSubject == null) { + o.compareSubject = stripPrefixes(o.subject).toLowerCase(); + } + + comparison = this.compareSubject.compareTo(o.compareSubject); + } else if (sortType == SORT_TYPE.SORT_SENDER) { + comparison = this.compareCounterparty.toLowerCase().compareTo(o.compareCounterparty.toLowerCase()); + } else if (sortType == SORT_TYPE.SORT_FLAGGED) { + comparison = (this.flagged ? 0 : 1) - (o.flagged ? 0 : 1); + + } else if (sortType == SORT_TYPE.SORT_UNREAD) { + comparison = (this.read ? 1 : 0) - (o.read ? 1 : 0); + } else if (sortType == SORT_TYPE.SORT_ATTACHMENT) { + comparison = (this.hasAttachments ? 0 : 1) - (o.hasAttachments ? 0 : 1); + + } + + if (comparison != 0) { + return comparison * ascender; + } + + int dateAscender = (sortDateAscending ? 1 : -1); + + + return this.compareDate.compareTo(o.compareDate) * dateAscender; + } + + Pattern pattern = null; + String patternString = "^ *(re|aw|fw|fwd): *"; + private String stripPrefixes(String in) { + synchronized (patternString) { + if (pattern == null) { + pattern = Pattern.compile(patternString, Pattern.CASE_INSENSITIVE); } } + Matcher matcher = pattern.matcher(in); + + int lastPrefix = -1; + + while (matcher.find()) { + lastPrefix = matcher.end(); + } + + if (lastPrefix > -1 && lastPrefix < in.length() - 1) { + return in.substring(lastPrefix); + } else { + return in; + } } - class MessageViewHolder { - public TextView subject; - public TextView preview; - public TextView from; - public TextView date; - public CheckBox flagged; - public View chip; - } + } - class FooterViewHolder { - public ProgressBar progress; - public TextView main; - } + class MessageViewHolder { + public TextView subject; + public TextView preview; + public TextView from; + public TextView date; + public CheckBox flagged; + public View chip; + } - /* THERE IS NO FUCKING REASON THIS IS CLONED HERE */ + class FooterViewHolder { + public ProgressBar progress; + public TextView main; + } + + /* THERE IS NO FUCKING REASON THIS IS CLONED HERE */ public class FolderInfoHolder implements Comparable { - public String name; + public String name; - public String displayName; + public String displayName; - public long lastChecked; + public long lastChecked; - public int unreadMessageCount; + public int unreadMessageCount; - public boolean loading; + public boolean loading; - public String status; + public String status; - public boolean lastCheckFailed; + public boolean lastCheckFailed; - public boolean needsRefresh = false; + public boolean needsRefresh = false; - /** - * Outbox is handled differently from any other folder. - */ - public boolean outbox; + /** + * Outbox is handled differently from any other folder. + */ + public boolean outbox; - public int compareTo(FolderInfoHolder o) { - String s1 = this.name; - String s2 = o.name; + public int compareTo(FolderInfoHolder o) { + String s1 = this.name; + String s2 = o.name; - if (Email.INBOX.equalsIgnoreCase(s1)) { - return -1; - } else if (Email.INBOX.equalsIgnoreCase(s2)) { - return 1; - } else - return s1.compareToIgnoreCase(s2); - } - - public FolderInfoHolder(Folder folder) { - populate(folder); - } - public void populate (Folder folder) { - int unreadCount = 0; - - try { - folder.open(Folder.OpenMode.READ_WRITE); - unreadCount = folder.getUnreadMessageCount(); - } catch (MessagingException me) { - Log.e(Email.LOG_TAG, "Folder.getUnreadMessageCount() failed", me); - } - - this.name = folder.getName(); - - if (this.name.equalsIgnoreCase(Email.INBOX)) { - this.displayName = getString(R.string.special_mailbox_name_inbox); - } else { - this.displayName = folder.getName(); - } - - if (this.name.equals(mAccount.getOutboxFolderName())) { - this.displayName = String.format( getString(R.string.special_mailbox_name_outbox_fmt), this.name); - this.outbox = true; - } - - if (this.name.equals(mAccount.getDraftsFolderName())) { - this.displayName = String.format( getString(R.string.special_mailbox_name_drafts_fmt), this.name); - } - - if (this.name.equals(mAccount.getTrashFolderName())) { - this.displayName = String.format( getString(R.string.special_mailbox_name_trash_fmt), this.name); - } - - if (this.name.equals(mAccount.getSentFolderName())) { - this.displayName = String.format( getString(R.string.special_mailbox_name_sent_fmt), this.name); - } - - this.lastChecked = folder.getLastChecked(); - - String mess = truncateStatus(folder.getStatus()); - - this.status = mess; - - this.unreadMessageCount = unreadCount; - - try { - folder.close(false); - } catch (MessagingException me) { - Log.e(Email.LOG_TAG, "Folder.close() failed", me); - } - } + if (Email.INBOX.equalsIgnoreCase(s1)) { + return -1; + } else if (Email.INBOX.equalsIgnoreCase(s2)) { + return 1; + } else + return s1.compareToIgnoreCase(s2); } + public FolderInfoHolder(Folder folder) { + populate(folder); + } + public void populate (Folder folder) { + int unreadCount = 0; + + try { + folder.open(Folder.OpenMode.READ_WRITE); + unreadCount = folder.getUnreadMessageCount(); + } catch (MessagingException me) { + Log.e(Email.LOG_TAG, "Folder.getUnreadMessageCount() failed", me); + } + + this.name = folder.getName(); + + if (this.name.equalsIgnoreCase(Email.INBOX)) { + this.displayName = getString(R.string.special_mailbox_name_inbox); + } else { + this.displayName = folder.getName(); + } + + if (this.name.equals(mAccount.getOutboxFolderName())) { + this.displayName = String.format( getString(R.string.special_mailbox_name_outbox_fmt), this.name); + this.outbox = true; + } + + if (this.name.equals(mAccount.getDraftsFolderName())) { + this.displayName = String.format( getString(R.string.special_mailbox_name_drafts_fmt), this.name); + } + + if (this.name.equals(mAccount.getTrashFolderName())) { + this.displayName = String.format( getString(R.string.special_mailbox_name_trash_fmt), this.name); + } + + if (this.name.equals(mAccount.getSentFolderName())) { + this.displayName = String.format( getString(R.string.special_mailbox_name_sent_fmt), this.name); + } + + this.lastChecked = folder.getLastChecked(); + + String mess = truncateStatus(folder.getStatus()); + + this.status = mess; + + this.unreadMessageCount = unreadCount; + + try { + folder.close(false); + } catch (MessagingException me) { + Log.e(Email.LOG_TAG, "Folder.close() failed", me); + } + } + } + } diff --git a/src/com/android/email/activity/ProgressListener.java b/src/com/android/email/activity/ProgressListener.java index 2edf0a9bf..41bd977ec 100644 --- a/src/com/android/email/activity/ProgressListener.java +++ b/src/com/android/email/activity/ProgressListener.java @@ -16,7 +16,7 @@ public interface ProgressListener { * @param indeterminate */ void showProgress(Context context, String title, String message, long currentProgress, - long maxProgress, boolean indeterminate); + long maxProgress, boolean indeterminate); /** * @param context @@ -27,7 +27,7 @@ public interface ProgressListener { * @param indeterminate */ void updateProgress(Context context, String title, String message, long currentProgress, - long maxProgress, boolean indeterminate); + long maxProgress, boolean indeterminate); /** * @param context diff --git a/src/com/android/email/activity/SizeFormatter.java b/src/com/android/email/activity/SizeFormatter.java index 7124d0553..893b12f2a 100644 --- a/src/com/android/email/activity/SizeFormatter.java +++ b/src/com/android/email/activity/SizeFormatter.java @@ -4,23 +4,18 @@ import android.content.Context; import com.android.email.R; -public class SizeFormatter -{ - public static String formatSize(Context context, long size) - { - if (size > 1024000000) - { - return ((float)(size / 102400000) / 10) + context.getString(R.string.abbrev_gigabytes); +public class SizeFormatter { + public static String formatSize(Context context, long size) { + if (size > 1024000000) { + return ((float)(size / 102400000) / 10) + context.getString(R.string.abbrev_gigabytes); + } + if (size > 1024000) { + return ((float)(size / 102400) / 10) + context.getString(R.string.abbrev_megabytes); + } + if (size > 1024) { + return ((float)(size / 102) / 10) + context.getString(R.string.abbrev_kilobytes); + } + return size + context.getString(R.string.abbrev_bytes); } - if (size > 1024000) - { - return ((float)(size / 102400) / 10) + context.getString(R.string.abbrev_megabytes); - } - if (size > 1024) - { - return ((float)(size / 102) / 10) + context.getString(R.string.abbrev_kilobytes); - } - return size + context.getString(R.string.abbrev_bytes); - } - + } diff --git a/src/com/android/email/activity/setup/AccountSettings.java b/src/com/android/email/activity/setup/AccountSettings.java index 10c06ffba..397bcbefe 100644 --- a/src/com/android/email/activity/setup/AccountSettings.java +++ b/src/com/android/email/activity/setup/AccountSettings.java @@ -30,7 +30,7 @@ import com.android.email.mail.Store; public class AccountSettings extends K9PreferenceActivity { private static final String EXTRA_ACCOUNT = "account"; - + private static final int SELECT_AUTO_EXPAND_FOLDER = 1; private static final int ACTIVITY_MANAGE_IDENTITIES = 2; @@ -88,16 +88,13 @@ public class AccountSettings extends K9PreferenceActivity { boolean isPushCapable = false; Store store = null; - try - { + try { store = Store.getInstance(mAccount.getStoreUri(), getApplication()); isPushCapable = store.isPushCapable(); - } - catch (Exception e) - { + } catch (Exception e) { Log.e(Email.LOG_TAG, "Could not get remote store", e); } - + addPreferencesFromResource(R.xml.account_settings_preferences); Preference category = findPreference(PREFERENCE_TOP_CATERGORY); @@ -128,7 +125,7 @@ public class AccountSettings extends K9PreferenceActivity { return false; } }); - + mDisplayMode = (ListPreference) findPreference(PREFERENCE_DISPLAY_MODE); mDisplayMode.setValue(mAccount.getFolderDisplayMode().name()); mDisplayMode.setSummary(mDisplayMode.getEntry()); @@ -141,7 +138,7 @@ public class AccountSettings extends K9PreferenceActivity { return false; } }); - + mSyncMode = (ListPreference) findPreference(PREFERENCE_SYNC_MODE); mSyncMode.setValue(mAccount.getFolderSyncMode().name()); mSyncMode.setSummary(mSyncMode.getEntry()); @@ -154,7 +151,7 @@ public class AccountSettings extends K9PreferenceActivity { return false; } }); - + mPushMode = (ListPreference) findPreference(PREFERENCE_PUSH_MODE); mPushMode.setEnabled(isPushCapable); mPushMode.setValue(mAccount.getFolderPushMode().name()); @@ -168,7 +165,7 @@ public class AccountSettings extends K9PreferenceActivity { return false; } }); - + mTargetMode = (ListPreference) findPreference(PREFERENCE_TARGET_MODE); mTargetMode.setValue(mAccount.getFolderTargetMode().name()); mTargetMode.setSummary(mTargetMode.getEntry()); @@ -181,7 +178,7 @@ public class AccountSettings extends K9PreferenceActivity { return false; } }); - + mDeletePolicy = (ListPreference) findPreference(PREFERENCE_DELETE_POLICY); mDeletePolicy.setValue("" + mAccount.getDeletePolicy()); mDeletePolicy.setSummary(mDeletePolicy.getEntry()); @@ -207,10 +204,10 @@ public class AccountSettings extends K9PreferenceActivity { return false; } }); - + mAccountDefault = (CheckBoxPreference) findPreference(PREFERENCE_DEFAULT); mAccountDefault.setChecked( - mAccount.equals(Preferences.getPreferences(this).getDefaultAccount())); + mAccount.equals(Preferences.getPreferences(this).getDefaultAccount())); mAccountHideButtons = (ListPreference) findPreference(PREFERENCE_HIDE_BUTTONS); mAccountHideButtons.setValue("" + mAccount.getHideMessageViewButtons()); @@ -224,7 +221,7 @@ public class AccountSettings extends K9PreferenceActivity { return false; } }); - + mAccountNotify = (CheckBoxPreference) findPreference(PREFERENCE_NOTIFY); mAccountNotify.setChecked(mAccount.isNotifyNewMail()); @@ -244,46 +241,46 @@ public class AccountSettings extends K9PreferenceActivity { mAutoExpandFolder = (Preference)findPreference(PREFERENCE_AUTO_EXPAND_FOLDER); mAutoExpandFolder.setSummary(translateFolder(mAccount.getAutoExpandFolderName())); - + mAutoExpandFolder.setOnPreferenceClickListener( - new Preference.OnPreferenceClickListener() { - public boolean onPreferenceClick(Preference preference) { + new Preference.OnPreferenceClickListener() { + public boolean onPreferenceClick(Preference preference) { onChooseAutoExpandFolder(); - return false; - } - }); - + return false; + } + }); + findPreference(PREFERENCE_COMPOSITION).setOnPreferenceClickListener( - new Preference.OnPreferenceClickListener() { - public boolean onPreferenceClick(Preference preference) { - onCompositionSettings(); - return true; - } - }); + new Preference.OnPreferenceClickListener() { + public boolean onPreferenceClick(Preference preference) { + onCompositionSettings(); + return true; + } + }); findPreference(PREFERENCE_MANAGE_IDENTITIES).setOnPreferenceClickListener( - new Preference.OnPreferenceClickListener() { - public boolean onPreferenceClick(Preference preference) { - onManageIdentities(); - return true; - } - }); + new Preference.OnPreferenceClickListener() { + public boolean onPreferenceClick(Preference preference) { + onManageIdentities(); + return true; + } + }); findPreference(PREFERENCE_INCOMING).setOnPreferenceClickListener( - new Preference.OnPreferenceClickListener() { - public boolean onPreferenceClick(Preference preference) { - onIncomingSettings(); - return true; - } - }); + new Preference.OnPreferenceClickListener() { + public boolean onPreferenceClick(Preference preference) { + onIncomingSettings(); + return true; + } + }); findPreference(PREFERENCE_OUTGOING).setOnPreferenceClickListener( - new Preference.OnPreferenceClickListener() { - public boolean onPreferenceClick(Preference preference) { - onOutgoingSettings(); - return true; - } - }); + new Preference.OnPreferenceClickListener() { + public boolean onPreferenceClick(Preference preference) { + onOutgoingSettings(); + return true; + } + }); } @Override @@ -315,15 +312,15 @@ public class AccountSettings extends K9PreferenceActivity { Email.setServicesEnabled(this); // TODO: refresh folder list here } - + @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { if (resultCode == RESULT_OK) { - switch (requestCode) { - case SELECT_AUTO_EXPAND_FOLDER: - mAutoExpandFolder.setSummary(translateFolder(data.getStringExtra(ChooseFolder.EXTRA_NEW_FOLDER))); - break; - } + switch (requestCode) { + case SELECT_AUTO_EXPAND_FOLDER: + mAutoExpandFolder.setSummary(translateFolder(data.getStringExtra(ChooseFolder.EXTRA_NEW_FOLDER))); + break; + } } super.onActivityResult(requestCode, resultCode, data); } @@ -341,10 +338,10 @@ public class AccountSettings extends K9PreferenceActivity { } private void onManageIdentities() { - Intent intent = new Intent(this, ManageIdentities.class); - intent.putExtra(ChooseIdentity.EXTRA_ACCOUNT, mAccount); - startActivityForResult(intent, ACTIVITY_MANAGE_IDENTITIES); - } + Intent intent = new Intent(this, ManageIdentities.class); + intent.putExtra(ChooseIdentity.EXTRA_ACCOUNT, mAccount); + startActivityForResult(intent, ACTIVITY_MANAGE_IDENTITIES); + } private void onIncomingSettings() { AccountSetupIncoming.actionEditIncomingSettings(this, mAccount); @@ -354,8 +351,7 @@ public class AccountSettings extends K9PreferenceActivity { AccountSetupOutgoing.actionEditOutgoingSettings(this, mAccount); } - public void onChooseAutoExpandFolder() - { + public void onChooseAutoExpandFolder() { Intent selectIntent = new Intent(this, ChooseFolder.class); selectIntent.putExtra(ChooseFolder.EXTRA_ACCOUNT, mAccount); @@ -363,34 +359,26 @@ public class AccountSettings extends K9PreferenceActivity { selectIntent.putExtra(ChooseFolder.EXTRA_SHOW_CURRENT, "yes"); selectIntent.putExtra(ChooseFolder.EXTRA_SHOW_FOLDER_NONE, "yes"); selectIntent.putExtra(ChooseFolder.EXTRA_SHOW_DISPLAYABLE_ONLY, "yes"); - startActivityForResult(selectIntent, SELECT_AUTO_EXPAND_FOLDER); - - } - - private String translateFolder(String in) - { + startActivityForResult(selectIntent, SELECT_AUTO_EXPAND_FOLDER); - if (Email.INBOX.equalsIgnoreCase(in)) - { - return getString(R.string.special_mailbox_name_inbox); - } - else - { - return in; - } } - - private String reverseTranslateFolder(String in) - { - if (getString(R.string.special_mailbox_name_inbox).equals(in)) - { - return Email.INBOX; - } - else - { - return in; - } + private String translateFolder(String in) { + + if (Email.INBOX.equalsIgnoreCase(in)) { + return getString(R.string.special_mailbox_name_inbox); + } else { + return in; + } + } + + private String reverseTranslateFolder(String in) { + + if (getString(R.string.special_mailbox_name_inbox).equals(in)) { + return Email.INBOX; + } else { + return in; + } } } diff --git a/src/com/android/email/activity/setup/AccountSetupAccountType.java b/src/com/android/email/activity/setup/AccountSetupAccountType.java index 7d0f851d2..9c5ef4b86 100644 --- a/src/com/android/email/activity/setup/AccountSetupAccountType.java +++ b/src/com/android/email/activity/setup/AccountSetupAccountType.java @@ -62,7 +62,7 @@ public class AccountSetupAccountType extends K9Activity implements OnClickListen } catch (Exception use) { failure(use); } - + } private void onImap() { @@ -75,7 +75,7 @@ public class AccountSetupAccountType extends K9Activity implements OnClickListen } catch (Exception use) { failure(use); } - + } private void onWebDav() { @@ -88,27 +88,26 @@ public class AccountSetupAccountType extends K9Activity implements OnClickListen } catch (Exception use) { failure(use); } - + } - + public void onClick(View v) { switch (v.getId()) { - case R.id.pop: - onPop(); - break; - case R.id.imap: - onImap(); - break; - case R.id.webdav: - onWebDav(); - break; + case R.id.pop: + onPop(); + break; + case R.id.imap: + onImap(); + break; + case R.id.webdav: + onWebDav(); + break; } } - private void failure(Exception use) - { + private void failure(Exception use) { Log.e(Email.LOG_TAG, "Failure", use); String toastText = getString(R.string.account_setup_bad_uri, use.getMessage()); - + Toast toast = Toast.makeText(getApplication(), toastText, Toast.LENGTH_LONG); toast.show(); } diff --git a/src/com/android/email/activity/setup/AccountSetupBasics.java b/src/com/android/email/activity/setup/AccountSetupBasics.java index 9d35c37f6..6c63c1cb4 100644 --- a/src/com/android/email/activity/setup/AccountSetupBasics.java +++ b/src/com/android/email/activity/setup/AccountSetupBasics.java @@ -42,7 +42,7 @@ import com.android.email.Utility; * AccountSetupAccountType activity. */ public class AccountSetupBasics extends K9Activity - implements OnClickListener, TextWatcher { + implements OnClickListener, TextWatcher { private final static String EXTRA_ACCOUNT = "com.android.email.AccountSetupBasics.account"; private final static int DIALOG_NOTE = 1; private final static String STATE_KEY_PROVIDER = @@ -122,9 +122,9 @@ public class AccountSetupBasics extends K9Activity private void validateFields() { String email = mEmailView.getText().toString(); boolean valid = Utility.requiredFieldValid(mEmailView) - && Utility.requiredFieldValid(mPasswordView) - && mEmailValidator.isValid(email); - /*&& email.contains("@"); */ // Not sure if this is a good idea or not + && Utility.requiredFieldValid(mPasswordView) + && mEmailValidator.isValid(email); + /*&& email.contains("@"); */ // Not sure if this is a good idea or not mNextButton.setEnabled(valid); mManualSetupButton.setEnabled(valid); /* @@ -137,32 +137,26 @@ public class AccountSetupBasics extends K9Activity private String getOwnerName() { String name = null; - try - { + try { String projection[] = { ContactMethods.NAME }; Cursor c = getContentResolver().query( - // TODO: For Android 2.0, needs to change to ContactsContract.People... - Uri.withAppendedPath(Contacts.People.CONTENT_URI, "owner"), projection, null, null, - null); + // TODO: For Android 2.0, needs to change to ContactsContract.People... + Uri.withAppendedPath(Contacts.People.CONTENT_URI, "owner"), projection, null, null, + null); if (c.getCount() > 0) { c.moveToFirst(); name = c.getString(0); c.close(); } - } - catch (Exception e) - { + } catch (Exception e) { Log.e(Email.LOG_TAG, "Could not get owner name, using default account name", e); } if (name == null || name.length() == 0) { - try - { + try { name = getDefaultAccountName(); - } - catch (Exception e) - { + } catch (Exception e) { Log.e(Email.LOG_TAG, "Could not get default account name", e); } } @@ -171,9 +165,8 @@ public class AccountSetupBasics extends K9Activity } return name; } - - private String getDefaultAccountName() - { + + private String getDefaultAccountName() { String name = null; Account account = Preferences.getPreferences(this).getDefaultAccount(); if (account != null) { @@ -187,18 +180,18 @@ public class AccountSetupBasics extends K9Activity if (id == DIALOG_NOTE) { if (mProvider != null && mProvider.note != null) { return new AlertDialog.Builder(this) - .setMessage(mProvider.note) - .setPositiveButton( - getString(R.string.okay_action), - new DialogInterface.OnClickListener() { - public void onClick(DialogInterface dialog, int which) { - finishAutoSetup(); - } - }) - .setNegativeButton( - getString(R.string.cancel_action), - null) - .create(); + .setMessage(mProvider.note) + .setPositiveButton( + getString(R.string.okay_action), + new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int which) { + finishAutoSetup(); + } + }) + .setNegativeButton( + getString(R.string.cancel_action), + null) + .create(); } } return null; @@ -220,8 +213,8 @@ public class AccountSetupBasics extends K9Activity URI incomingUriTemplate = mProvider.incomingUriTemplate; incomingUri = new URI(incomingUriTemplate.getScheme(), incomingUsername + ":" - + password, incomingUriTemplate.getHost(), incomingUriTemplate.getPort(), null, - null, null); + + password, incomingUriTemplate.getHost(), incomingUriTemplate.getPort(), null, + null, null); String outgoingUsername = mProvider.outgoingUsernameTemplate; outgoingUsername = outgoingUsername.replaceAll("\\$email", email); @@ -230,8 +223,8 @@ public class AccountSetupBasics extends K9Activity URI outgoingUriTemplate = mProvider.outgoingUriTemplate; outgoingUri = new URI(outgoingUriTemplate.getScheme(), outgoingUsername + ":" - + password, outgoingUriTemplate.getHost(), outgoingUriTemplate.getPort(), null, - null, null); + + password, outgoingUriTemplate.getHost(), outgoingUriTemplate.getPort(), null, + null, null); } catch (URISyntaxException use) { /* * If there is some problem with the URI we give up and go on to @@ -271,8 +264,7 @@ public class AccountSetupBasics extends K9Activity if (mProvider.note != null) { showDialog(DIALOG_NOTE); - } - else { + } else { finishAutoSetup(); } } @@ -303,7 +295,7 @@ public class AccountSetupBasics extends K9Activity mAccount.setEmail(email); try { URI uri = new URI("placeholder", user + ":" + password, "mail." + domain, -1, null, - null, null); + null, null); mAccount.setStoreUri(uri.toString()); mAccount.setTransportUri(uri.toString()); } catch (URISyntaxException use) { @@ -323,12 +315,12 @@ public class AccountSetupBasics extends K9Activity public void onClick(View v) { switch (v.getId()) { - case R.id.next: - onNext(); - break; - case R.id.manual_setup: - onManualSetup(); - break; + case R.id.next: + onNext(); + break; + case R.id.manual_setup: + onManualSetup(); + break; } } @@ -343,8 +335,7 @@ public class AccountSetupBasics extends K9Activity int resId = xml.getAttributeResourceValue(null, name, 0); if (resId == 0) { return xml.getAttributeValue(null, name); - } - else { + } else { return getString(resId); } } @@ -363,34 +354,29 @@ public class AccountSetupBasics extends K9Activity provider.label = getXmlAttribute(xml, "label"); provider.domain = getXmlAttribute(xml, "domain"); provider.note = getXmlAttribute(xml, "note"); - } - else if (xmlEventType == XmlResourceParser.START_TAG - && "incoming".equals(xml.getName()) - && provider != null) { + } else if (xmlEventType == XmlResourceParser.START_TAG + && "incoming".equals(xml.getName()) + && provider != null) { provider.incomingUriTemplate = new URI(getXmlAttribute(xml, "uri")); provider.incomingUsernameTemplate = getXmlAttribute(xml, "username"); - } - else if (xmlEventType == XmlResourceParser.START_TAG - && "outgoing".equals(xml.getName()) - && provider != null) { + } else if (xmlEventType == XmlResourceParser.START_TAG + && "outgoing".equals(xml.getName()) + && provider != null) { provider.outgoingUriTemplate = new URI(getXmlAttribute(xml, "uri")); provider.outgoingUsernameTemplate = getXmlAttribute(xml, "username"); - } - else if (xmlEventType == XmlResourceParser.END_TAG - && "provider".equals(xml.getName()) - && provider != null) { + } else if (xmlEventType == XmlResourceParser.END_TAG + && "provider".equals(xml.getName()) + && provider != null) { return provider; } } - } - catch (Exception e) { + } catch (Exception e) { Log.e(Email.LOG_TAG, "Error while trying to load provider settings.", e); } return null; } - - private String[] splitEmail(String email) - { + + private String[] splitEmail(String email) { String[] retParts = new String[2]; String[] emailParts = email.split("@"); retParts[0] = (emailParts.length > 0 ) ? emailParts[0] : ""; diff --git a/src/com/android/email/activity/setup/AccountSetupCheckSettings.java b/src/com/android/email/activity/setup/AccountSetupCheckSettings.java index 15b893e91..8d9132f84 100644 --- a/src/com/android/email/activity/setup/AccountSetupCheckSettings.java +++ b/src/com/android/email/activity/setup/AccountSetupCheckSettings.java @@ -39,9 +39,9 @@ import com.android.email.mail.store.TrustManagerFactory; * it doesn't correctly deal with restarting while its thread is running. */ public class AccountSetupCheckSettings extends K9Activity implements OnClickListener { - - public static final int ACTIVITY_REQUEST_CODE = 1; - + + public static final int ACTIVITY_REQUEST_CODE = 1; + private static final String EXTRA_ACCOUNT = "account"; private static final String EXTRA_CHECK_INCOMING = "checkIncoming"; @@ -65,7 +65,7 @@ public class AccountSetupCheckSettings extends K9Activity implements OnClickList private boolean mDestroyed; public static void actionCheckSettings(Activity context, Account account, - boolean checkIncoming, boolean checkOutgoing) { + boolean checkIncoming, boolean checkOutgoing) { Intent i = new Intent(context, AccountSetupCheckSettings.class); i.putExtra(EXTRA_ACCOUNT, account); i.putExtra(EXTRA_CHECK_INCOMING, checkIncoming); @@ -90,7 +90,7 @@ public class AccountSetupCheckSettings extends K9Activity implements OnClickList new Thread() { public void run() { - Store store = null; + Store store = null; Process.setThreadPriority(Process.THREAD_PRIORITY_BACKGROUND); try { if (mDestroyed) { @@ -101,13 +101,13 @@ public class AccountSetupCheckSettings extends K9Activity implements OnClickList return; } if (mCheckIncoming) { - setMessage(R.string.account_setup_check_settings_check_incoming_msg); - store = Store.getInstance(mAccount.getStoreUri(), getApplication()); - store.checkSettings(); - - MessagingController.getInstance(getApplication()).listFolders(mAccount, true, null); + setMessage(R.string.account_setup_check_settings_check_incoming_msg); + store = Store.getInstance(mAccount.getStoreUri(), getApplication()); + store.checkSettings(); + + MessagingController.getInstance(getApplication()).listFolders(mAccount, true, null); MessagingController.getInstance(getApplication()).synchronizeMailbox( mAccount, Email.INBOX , null); - + } if (mDestroyed) { return; @@ -133,25 +133,26 @@ public class AccountSetupCheckSettings extends K9Activity implements OnClickList setResult(RESULT_OK); finish(); } catch (final AuthenticationFailedException afe) { - Log.e(Email.LOG_TAG, "Error while testing settings", afe); + Log.e(Email.LOG_TAG, "Error while testing settings", afe); showErrorDialog( - R.string.account_setup_failed_dlg_auth_message_fmt, - afe.getMessage() == null ? "" : afe.getMessage()); + R.string.account_setup_failed_dlg_auth_message_fmt, + afe.getMessage() == null ? "" : afe.getMessage()); } catch (final CertificateValidationException cve) { - Log.e(Email.LOG_TAG, "Error while testing settings", cve); - acceptKeyDialog( - R.string.account_setup_failed_dlg_certificate_message_fmt, - cve); + Log.e(Email.LOG_TAG, "Error while testing settings", cve); + acceptKeyDialog( + R.string.account_setup_failed_dlg_certificate_message_fmt, + cve); } catch (final Throwable t) { - Log.e(Email.LOG_TAG, "Error while testing settings", t); + Log.e(Email.LOG_TAG, "Error while testing settings", t); showErrorDialog( - R.string.account_setup_failed_dlg_server_message_fmt, - (t.getMessage() == null ? "" : t.getMessage())); - + R.string.account_setup_failed_dlg_server_message_fmt, + (t.getMessage() == null ? "" : t.getMessage())); + } } - }.start(); + } + .start(); } @Override @@ -180,27 +181,27 @@ public class AccountSetupCheckSettings extends K9Activity implements OnClickList } mProgressBar.setIndeterminate(false); new AlertDialog.Builder(AccountSetupCheckSettings.this) - .setTitle(getString(R.string.account_setup_failed_dlg_title)) - .setMessage(getString(msgResId, args)) - .setCancelable(true) - .setNegativeButton( - getString(R.string.account_setup_failed_dlg_continue_action), + .setTitle(getString(R.string.account_setup_failed_dlg_title)) + .setMessage(getString(msgResId, args)) + .setCancelable(true) + .setNegativeButton( + getString(R.string.account_setup_failed_dlg_continue_action), - new DialogInterface.OnClickListener() { - public void onClick(DialogInterface dialog, int which) { - mCanceled=false; - setResult(RESULT_OK); - finish(); - } - }) - .setPositiveButton( - getString(R.string.account_setup_failed_dlg_edit_details_action), - new DialogInterface.OnClickListener() { - public void onClick(DialogInterface dialog, int which) { - finish(); - } - }) - .show(); + new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int which) { + mCanceled=false; + setResult(RESULT_OK); + finish(); + } + }) + .setPositiveButton( + getString(R.string.account_setup_failed_dlg_edit_details_action), + new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int which) { + finish(); + } + }) + .show(); } }); } @@ -212,78 +213,77 @@ public class AccountSetupCheckSettings extends K9Activity implements OnClickList } final X509Certificate[] chain = TrustManagerFactory.getLastCertChain(); String exMessage = "Unknown Error"; - + Exception ex = ((Exception)args[0]); if (ex != null) { - if (ex.getCause() != null) { - if (ex.getCause().getCause() != null) { - exMessage = ex.getCause().getCause().getMessage(); - - } else { - exMessage = ex.getCause().getMessage(); - } - } else { - exMessage = ex.getMessage(); - } + if (ex.getCause() != null) { + if (ex.getCause().getCause() != null) { + exMessage = ex.getCause().getCause().getMessage(); + + } else { + exMessage = ex.getCause().getMessage(); + } + } else { + exMessage = ex.getMessage(); + } } - + mProgressBar.setIndeterminate(false); StringBuffer chainInfo = new StringBuffer(100); - for (int i = 0; i < chain.length; i++) - { - // display certificate chain information + for (int i = 0; i < chain.length; i++) { + // display certificate chain information chainInfo.append("Certificate chain[" + i + "]:\n"); chainInfo.append("Subject: " + chain[i].getSubjectDN().toString() + "\n"); chainInfo.append("Issuer: " + chain[i].getIssuerDN().toString() + "\n"); } new AlertDialog.Builder(AccountSetupCheckSettings.this) - .setTitle(getString(R.string.account_setup_failed_dlg_invalid_certificate_title)) - //.setMessage(getString(R.string.account_setup_failed_dlg_invalid_certificate) - .setMessage(getString(msgResId,exMessage) - + " " + chainInfo.toString() - ) - .setCancelable(true) - .setPositiveButton( - getString(R.string.account_setup_failed_dlg_invalid_certificate_accept), - new DialogInterface.OnClickListener() { - public void onClick(DialogInterface dialog, int which) { - try { - String alias = mAccount.getUuid(); - if (mCheckIncoming) { - alias = alias + ".incoming"; - } - if (mCheckOutgoing) { - alias = alias + ".outgoing"; - } - TrustManagerFactory.addCertificateChain(alias, chain); - } catch (CertificateException e) { - showErrorDialog( - R.string.account_setup_failed_dlg_certificate_message_fmt, - e.getMessage() == null ? "" : e.getMessage()); - } - AccountSetupCheckSettings.actionCheckSettings(AccountSetupCheckSettings.this, mAccount, - mCheckIncoming, mCheckOutgoing); - } - }) - .setNegativeButton( - getString(R.string.account_setup_failed_dlg_invalid_certificate_reject), - new DialogInterface.OnClickListener() { - public void onClick(DialogInterface dialog, int which) { - finish(); - } - }) - .show(); + .setTitle(getString(R.string.account_setup_failed_dlg_invalid_certificate_title)) + //.setMessage(getString(R.string.account_setup_failed_dlg_invalid_certificate) + .setMessage(getString(msgResId,exMessage) + + " " + chainInfo.toString() + ) + .setCancelable(true) + .setPositiveButton( + getString(R.string.account_setup_failed_dlg_invalid_certificate_accept), + new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int which) { + try { + String alias = mAccount.getUuid(); + if (mCheckIncoming) { + alias = alias + ".incoming"; + } + if (mCheckOutgoing) { + alias = alias + ".outgoing"; + } + TrustManagerFactory.addCertificateChain(alias, chain); + } catch (CertificateException e) { + showErrorDialog( + R.string.account_setup_failed_dlg_certificate_message_fmt, + e.getMessage() == null ? "" : e.getMessage()); + } + AccountSetupCheckSettings.actionCheckSettings(AccountSetupCheckSettings.this, mAccount, + mCheckIncoming, mCheckOutgoing); + } + }) + .setNegativeButton( + getString(R.string.account_setup_failed_dlg_invalid_certificate_reject), + new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int which) { + finish(); + } + }) + .show(); } }); } public void onActivityResult(int reqCode, int resCode, Intent data) { - setResult(resCode); - finish(); + setResult(resCode); + finish(); } - + private void onCancel() { mCanceled = true; setMessage(R.string.account_setup_check_settings_canceling_msg); @@ -291,9 +291,9 @@ public class AccountSetupCheckSettings extends K9Activity implements OnClickList public void onClick(View v) { switch (v.getId()) { - case R.id.cancel: - onCancel(); - break; + case R.id.cancel: + onCancel(); + break; } } } diff --git a/src/com/android/email/activity/setup/AccountSetupComposition.java b/src/com/android/email/activity/setup/AccountSetupComposition.java index e76c4357e..3b8455b3f 100644 --- a/src/com/android/email/activity/setup/AccountSetupComposition.java +++ b/src/com/android/email/activity/setup/AccountSetupComposition.java @@ -25,7 +25,7 @@ public class AccountSetupComposition extends K9Activity { private EditText mAccountName; private RadioButton mAccountSignatureBeforeLocation; private RadioButton mAccountSignatureAfterLocation; - + public static void actionEditCompositionSettings(Activity context, Account account) { Intent i = new Intent(context, AccountSetupComposition.class); @@ -53,7 +53,7 @@ public class AccountSetupComposition extends K9Activity { mAccountName = (EditText)findViewById(R.id.account_name); mAccountName.setText(mAccount.getName()); - + mAccountEmail = (EditText)findViewById(R.id.account_email); mAccountEmail.setText(mAccount.getEmail()); @@ -78,7 +78,7 @@ public class AccountSetupComposition extends K9Activity { private void saveSettings() { mAccount.setEmail(mAccountEmail.getText().toString()); - mAccount.setAlwaysBcc(mAccountAlwaysBcc.getText().toString()); + mAccount.setAlwaysBcc(mAccountAlwaysBcc.getText().toString()); mAccount.setName(mAccountName.getText().toString()); mAccount.setSignature(mAccountSignature.getText().toString()); boolean isSignatureBeforeQuotedText = mAccountSignatureBeforeLocation.isChecked(); @@ -103,7 +103,7 @@ public class AccountSetupComposition extends K9Activity { @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { - mAccount.save(Preferences.getPreferences(this)); - finish(); + mAccount.save(Preferences.getPreferences(this)); + finish(); } } diff --git a/src/com/android/email/activity/setup/AccountSetupIncoming.java b/src/com/android/email/activity/setup/AccountSetupIncoming.java index 94a1872e6..bdff3cbba 100644 --- a/src/com/android/email/activity/setup/AccountSetupIncoming.java +++ b/src/com/android/email/activity/setup/AccountSetupIncoming.java @@ -33,26 +33,26 @@ import com.android.email.activity.ChooseFolder; public class AccountSetupIncoming extends K9Activity implements OnClickListener { private static final String EXTRA_ACCOUNT = "account"; private static final String EXTRA_MAKE_DEFAULT = "makeDefault"; - + private static final int SELECT_DRAFT_FOLDER = 100; private static final int SELECT_SENT_FOLDER = 101; private static final int SELECT_TRASH_FOLDER = 102; private static final int SELECT_OUTBOX_FOLDER = 103; private static final int popPorts[] = { - 110, 995, 995, 110, 110 + 110, 995, 995, 110, 110 }; private static final String popSchemes[] = { - "pop3", "pop3+ssl", "pop3+ssl+", "pop3+tls", "pop3+tls+" + "pop3", "pop3+ssl", "pop3+ssl+", "pop3+tls", "pop3+tls+" }; private static final int imapPorts[] = { - 143, 993, 993, 143, 143 + 143, 993, 993, 143, 143 }; private static final String imapSchemes[] = { - "imap", "imap+ssl", "imap+ssl+", "imap+tls", "imap+tls+" + "imap", "imap+ssl", "imap+ssl+", "imap+tls", "imap+tls+" }; private static final int webdavPorts[] = { - 80, 443, 443, 443, 443 + 80, 443, 443, 443, 443 }; private static final String webdavSchemes[] = { "webdav", "webdav+ssl", "webdav+ssl+", "webdav+tls", "webdav+tls+" @@ -119,13 +119,13 @@ public class AccountSetupIncoming extends K9Activity implements OnClickListener mNextButton.setOnClickListener(this); SpinnerOption securityTypes[] = { - new SpinnerOption(0, getString(R.string.account_setup_incoming_security_none_label)), - new SpinnerOption(1, - getString(R.string.account_setup_incoming_security_ssl_optional_label)), - new SpinnerOption(2, getString(R.string.account_setup_incoming_security_ssl_label)), - new SpinnerOption(3, - getString(R.string.account_setup_incoming_security_tls_optional_label)), - new SpinnerOption(4, getString(R.string.account_setup_incoming_security_tls_label)), + new SpinnerOption(0, getString(R.string.account_setup_incoming_security_none_label)), + new SpinnerOption(1, + getString(R.string.account_setup_incoming_security_ssl_optional_label)), + new SpinnerOption(2, getString(R.string.account_setup_incoming_security_ssl_label)), + new SpinnerOption(3, + getString(R.string.account_setup_incoming_security_tls_optional_label)), + new SpinnerOption(4, getString(R.string.account_setup_incoming_security_tls_label)), }; ArrayAdapter securityTypesAdapter = new ArrayAdapter(this, @@ -201,7 +201,7 @@ public class AccountSetupIncoming extends K9Activity implements OnClickListener if (password != null) { mPasswordView.setText(password); } - + mImapFolderDrafts.setText(mAccount.getDraftsFolderName()); mImapFolderSent.setText(mAccount.getSentFolderName()); mImapFolderTrash.setText(mAccount.getTrashFolderName()); @@ -217,8 +217,8 @@ public class AccountSetupIncoming extends K9Activity implements OnClickListener findViewById(R.id.webdav_path_prefix_section).setVisibility(View.GONE); findViewById(R.id.webdav_path_debug_section).setVisibility(View.GONE); mAccount.setDeletePolicy(Account.DELETE_POLICY_NEVER); - - + + } else if (uri.getScheme().startsWith("imap")) { serverLabelView.setText(R.string.account_setup_incoming_imap_server_label); mAccountPorts = imapPorts; @@ -249,17 +249,17 @@ public class AccountSetupIncoming extends K9Activity implements OnClickListener for (int i = 0, count = pathParts.length; i < count; i++) { if (i == 0) { if (pathParts[0] != null && - pathParts[0].length() > 1) { + pathParts[0].length() > 1) { mWebdavPathPrefixView.setText(pathParts[0].substring(1)); } } else if (i == 1) { if (pathParts[1] != null && - pathParts[1].length() > 1) { + pathParts[1].length() > 1) { mWebdavAuthPathView.setText(pathParts[1]); } } else if (i == 2) { if (pathParts[2] != null && - pathParts[2].length() > 1) { + pathParts[2].length() > 1) { mWebdavMailboxPathView.setText(pathParts[2]); } } @@ -301,16 +301,15 @@ public class AccountSetupIncoming extends K9Activity implements OnClickListener private void validateFields() { mNextButton - .setEnabled(Utility.requiredFieldValid(mUsernameView) - && Utility.requiredFieldValid(mPasswordView) - && Utility.domainFieldValid(mServerView) - && Utility.requiredFieldValid(mPortView)); + .setEnabled(Utility.requiredFieldValid(mUsernameView) + && Utility.requiredFieldValid(mPasswordView) + && Utility.domainFieldValid(mServerView) + && Utility.requiredFieldValid(mPortView)); Utility.setCompoundDrawablesAlpha(mNextButton, mNextButton.isEnabled() ? 255 : 128); } private void updatePortFromSecurityType() { - if (mAccountPorts != null) - { + if (mAccountPorts != null) { int securityType = (Integer)((SpinnerOption)mSecurityTypeView.getSelectedItem()).value; mPortView.setText(Integer.toString(mAccountPorts[securityType])); } @@ -319,20 +318,20 @@ public class AccountSetupIncoming extends K9Activity implements OnClickListener @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { if (resultCode == RESULT_OK) { - switch (requestCode) { - case SELECT_DRAFT_FOLDER: - mImapFolderDrafts.setText(data.getStringExtra(ChooseFolder.EXTRA_NEW_FOLDER)); - return; - case SELECT_SENT_FOLDER: - mImapFolderSent.setText(data.getStringExtra(ChooseFolder.EXTRA_NEW_FOLDER)); - return; - case SELECT_TRASH_FOLDER: - mImapFolderTrash.setText(data.getStringExtra(ChooseFolder.EXTRA_NEW_FOLDER)); - return; - case SELECT_OUTBOX_FOLDER: - mImapFolderOutbox.setText(data.getStringExtra(ChooseFolder.EXTRA_NEW_FOLDER)); - return; - } + switch (requestCode) { + case SELECT_DRAFT_FOLDER: + mImapFolderDrafts.setText(data.getStringExtra(ChooseFolder.EXTRA_NEW_FOLDER)); + return; + case SELECT_SENT_FOLDER: + mImapFolderSent.setText(data.getStringExtra(ChooseFolder.EXTRA_NEW_FOLDER)); + return; + case SELECT_TRASH_FOLDER: + mImapFolderTrash.setText(data.getStringExtra(ChooseFolder.EXTRA_NEW_FOLDER)); + return; + case SELECT_OUTBOX_FOLDER: + mImapFolderOutbox.setText(data.getStringExtra(ChooseFolder.EXTRA_NEW_FOLDER)); + return; + } if (Intent.ACTION_EDIT.equals(getIntent().getAction())) { mAccount.save(Preferences.getPreferences(this)); finish(); @@ -344,13 +343,13 @@ public class AccountSetupIncoming extends K9Activity implements OnClickListener try { URI oldUri = new URI(mAccount.getTransportUri()); URI uri = new URI( - oldUri.getScheme(), - mUsernameView.getText() + ":" + mPasswordView.getText(), - oldUri.getHost(), - oldUri.getPort(), - null, - null, - null); + oldUri.getScheme(), + mUsernameView.getText() + ":" + mPasswordView.getText(), + oldUri.getHost(), + oldUri.getPort(), + null, + null, + null); mAccount.setTransportUri(uri.toString()); } catch (URISyntaxException use) { /* @@ -379,15 +378,15 @@ public class AccountSetupIncoming extends K9Activity implements OnClickListener } URI uri = new URI( - mAccountSchemes[securityType], - mUsernameView.getText() + ":" + mPasswordView.getText(), - mServerView.getText().toString(), - Integer.parseInt(mPortView.getText().toString()), - path, // path - null, // query - null); + mAccountSchemes[securityType], + mUsernameView.getText() + ":" + mPasswordView.getText(), + mServerView.getText().toString(), + Integer.parseInt(mPortView.getText().toString()), + path, // path + null, // query + null); mAccount.setStoreUri(uri.toString()); - + mAccount.setDraftsFolderName(mImapFolderDrafts.getText().toString()); mAccount.setSentFolderName(mImapFolderSent.getText().toString()); @@ -401,64 +400,60 @@ public class AccountSetupIncoming extends K9Activity implements OnClickListener } public void onClick(View v) { - try - { + try { switch (v.getId()) { - case R.id.next: - onNext(); - break; - case R.id.account_imap_folder_drafts: - selectImapFolder(SELECT_DRAFT_FOLDER); - break; - case R.id.account_imap_folder_sent: - selectImapFolder(SELECT_SENT_FOLDER); - break; - case R.id.account_imap_folder_trash: - selectImapFolder(SELECT_TRASH_FOLDER); - break; - case R.id.account_imap_folder_outbox: - selectImapFolder(SELECT_OUTBOX_FOLDER); - break; + case R.id.next: + onNext(); + break; + case R.id.account_imap_folder_drafts: + selectImapFolder(SELECT_DRAFT_FOLDER); + break; + case R.id.account_imap_folder_sent: + selectImapFolder(SELECT_SENT_FOLDER); + break; + case R.id.account_imap_folder_trash: + selectImapFolder(SELECT_TRASH_FOLDER); + break; + case R.id.account_imap_folder_outbox: + selectImapFolder(SELECT_OUTBOX_FOLDER); + break; } - } - catch (Exception e) - { + } catch (Exception e) { failure(e); } } - private void selectImapFolder(int activityCode) { - String curFolder = null; - switch (activityCode) { - case SELECT_DRAFT_FOLDER: - curFolder = mImapFolderDrafts.getText().toString(); - break; - case SELECT_SENT_FOLDER: - curFolder = mImapFolderSent.getText().toString(); - break; - case SELECT_TRASH_FOLDER: - curFolder = mImapFolderTrash.getText().toString(); - break; - case SELECT_OUTBOX_FOLDER: - curFolder = mImapFolderOutbox.getText().toString(); - break; - default: - throw new IllegalArgumentException( - "Cannot select folder for: " + activityCode); - } - - Intent selectIntent = new Intent(this, ChooseFolder.class); - selectIntent.putExtra(ChooseFolder.EXTRA_ACCOUNT, mAccount); - selectIntent.putExtra(ChooseFolder.EXTRA_CUR_FOLDER, curFolder); - selectIntent.putExtra(ChooseFolder.EXTRA_SHOW_CURRENT, "yes"); - startActivityForResult(selectIntent, activityCode); - } - - private void failure(Exception use) - { - Log.e(Email.LOG_TAG, "Failure", use); + private void selectImapFolder(int activityCode) { + String curFolder = null; + switch (activityCode) { + case SELECT_DRAFT_FOLDER: + curFolder = mImapFolderDrafts.getText().toString(); + break; + case SELECT_SENT_FOLDER: + curFolder = mImapFolderSent.getText().toString(); + break; + case SELECT_TRASH_FOLDER: + curFolder = mImapFolderTrash.getText().toString(); + break; + case SELECT_OUTBOX_FOLDER: + curFolder = mImapFolderOutbox.getText().toString(); + break; + default: + throw new IllegalArgumentException( + "Cannot select folder for: " + activityCode); + } + + Intent selectIntent = new Intent(this, ChooseFolder.class); + selectIntent.putExtra(ChooseFolder.EXTRA_ACCOUNT, mAccount); + selectIntent.putExtra(ChooseFolder.EXTRA_CUR_FOLDER, curFolder); + selectIntent.putExtra(ChooseFolder.EXTRA_SHOW_CURRENT, "yes"); + startActivityForResult(selectIntent, activityCode); + } + + private void failure(Exception use) { + Log.e(Email.LOG_TAG, "Failure", use); String toastText = getString(R.string.account_setup_bad_uri, use.getMessage()); - + Toast toast = Toast.makeText(getApplication(), toastText, Toast.LENGTH_LONG); toast.show(); } diff --git a/src/com/android/email/activity/setup/AccountSetupNames.java b/src/com/android/email/activity/setup/AccountSetupNames.java index 00cf92d84..74673e9ea 100644 --- a/src/com/android/email/activity/setup/AccountSetupNames.java +++ b/src/com/android/email/activity/setup/AccountSetupNames.java @@ -59,7 +59,7 @@ public class AccountSetupNames extends K9Activity implements OnClickListener { } }; mName.addTextChangedListener(validationTextWatcher); - + mName.setKeyListener(TextKeyListener.getInstance(false, Capitalize.WORDS)); mAccount = (Account)getIntent().getSerializableExtra(EXTRA_ACCOUNT); @@ -95,9 +95,9 @@ public class AccountSetupNames extends K9Activity implements OnClickListener { public void onClick(View v) { switch (v.getId()) { - case R.id.done: - onNext(); - break; + case R.id.done: + onNext(); + break; } } } diff --git a/src/com/android/email/activity/setup/AccountSetupOptions.java b/src/com/android/email/activity/setup/AccountSetupOptions.java index 4315e99fd..f4064f79e 100644 --- a/src/com/android/email/activity/setup/AccountSetupOptions.java +++ b/src/com/android/email/activity/setup/AccountSetupOptions.java @@ -26,7 +26,7 @@ public class AccountSetupOptions extends K9Activity implements OnClickListener { private Spinner mCheckFrequencyView; private Spinner mDisplayCountView; - + private CheckBox mNotifyView; private CheckBox mNotifySyncView; @@ -55,82 +55,79 @@ public class AccountSetupOptions extends K9Activity implements OnClickListener { findViewById(R.id.next).setOnClickListener(this); SpinnerOption checkFrequencies[] = { - new SpinnerOption(-1, - getString(R.string.account_setup_options_mail_check_frequency_never)), - new SpinnerOption(1, - getString(R.string.account_setup_options_mail_check_frequency_1min)), - new SpinnerOption(5, - getString(R.string.account_setup_options_mail_check_frequency_5min)), - new SpinnerOption(10, - getString(R.string.account_setup_options_mail_check_frequency_10min)), - new SpinnerOption(15, - getString(R.string.account_setup_options_mail_check_frequency_15min)), - new SpinnerOption(30, - getString(R.string.account_setup_options_mail_check_frequency_30min)), - new SpinnerOption(60, - getString(R.string.account_setup_options_mail_check_frequency_1hour)), - new SpinnerOption(120, - getString(R.string.account_setup_options_mail_check_frequency_2hour)), - new SpinnerOption(180, - getString(R.string.account_setup_options_mail_check_frequency_3hour)), - new SpinnerOption(360, - getString(R.string.account_setup_options_mail_check_frequency_6hour)), - new SpinnerOption(720, - getString(R.string.account_setup_options_mail_check_frequency_12hour)), - new SpinnerOption(1440, - getString(R.string.account_setup_options_mail_check_frequency_24hour)), - - }; + new SpinnerOption(-1, + getString(R.string.account_setup_options_mail_check_frequency_never)), + new SpinnerOption(1, + getString(R.string.account_setup_options_mail_check_frequency_1min)), + new SpinnerOption(5, + getString(R.string.account_setup_options_mail_check_frequency_5min)), + new SpinnerOption(10, + getString(R.string.account_setup_options_mail_check_frequency_10min)), + new SpinnerOption(15, + getString(R.string.account_setup_options_mail_check_frequency_15min)), + new SpinnerOption(30, + getString(R.string.account_setup_options_mail_check_frequency_30min)), + new SpinnerOption(60, + getString(R.string.account_setup_options_mail_check_frequency_1hour)), + new SpinnerOption(120, + getString(R.string.account_setup_options_mail_check_frequency_2hour)), + new SpinnerOption(180, + getString(R.string.account_setup_options_mail_check_frequency_3hour)), + new SpinnerOption(360, + getString(R.string.account_setup_options_mail_check_frequency_6hour)), + new SpinnerOption(720, + getString(R.string.account_setup_options_mail_check_frequency_12hour)), + new SpinnerOption(1440, + getString(R.string.account_setup_options_mail_check_frequency_24hour)), + + }; ArrayAdapter checkFrequenciesAdapter = new ArrayAdapter(this, android.R.layout.simple_spinner_item, checkFrequencies); checkFrequenciesAdapter - .setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); + .setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); mCheckFrequencyView.setAdapter(checkFrequenciesAdapter); SpinnerOption displayCounts[] = { new SpinnerOption(10, - getString(R.string.account_setup_options_mail_display_count_10)), + getString(R.string.account_setup_options_mail_display_count_10)), new SpinnerOption(25, - getString(R.string.account_setup_options_mail_display_count_25)), + getString(R.string.account_setup_options_mail_display_count_25)), new SpinnerOption(50, - getString(R.string.account_setup_options_mail_display_count_50)), + getString(R.string.account_setup_options_mail_display_count_50)), new SpinnerOption(100, - getString(R.string.account_setup_options_mail_display_count_100)), + getString(R.string.account_setup_options_mail_display_count_100)), }; ArrayAdapter displayCountsAdapter = new ArrayAdapter(this, android.R.layout.simple_spinner_item, displayCounts); displayCountsAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); mDisplayCountView.setAdapter(displayCountsAdapter); - + mAccount = (Account)getIntent().getSerializableExtra(EXTRA_ACCOUNT); mNotifyView.setChecked(mAccount.isNotifyNewMail()); mNotifySyncView.setChecked(mAccount.isShowOngoing()); SpinnerOption.setSpinnerOptionValue(mCheckFrequencyView, mAccount - .getAutomaticCheckIntervalMinutes()); + .getAutomaticCheckIntervalMinutes()); SpinnerOption.setSpinnerOptionValue(mDisplayCountView, mAccount - .getDisplayCount()); + .getDisplayCount()); boolean isPushCapable = false; - try - { - Store store = Store.getInstance(mAccount.getStoreUri(), getApplication()); + try { + Store store = Store.getInstance(mAccount.getStoreUri(), getApplication()); isPushCapable = store.isPushCapable(); - } - catch (Exception e) - { + } catch (Exception e) { Log.e(Email.LOG_TAG, "Could not get remote store", e); } - if(!isPushCapable) { - mPushEnable.setVisibility(View.GONE); - } else { + if (!isPushCapable) { + mPushEnable.setVisibility(View.GONE); + } else { mPushEnable.setChecked(true); - } + } } @@ -142,17 +139,17 @@ public class AccountSetupOptions extends K9Activity implements OnClickListener { mAccount.setAutomaticCheckIntervalMinutes((Integer)((SpinnerOption)mCheckFrequencyView .getSelectedItem()).value); mAccount.setDisplayCount((Integer)((SpinnerOption)mDisplayCountView - .getSelectedItem()).value); + .getSelectedItem()).value); - if (mPushEnable.isChecked()) { - mAccount.setFolderPushMode(Account.FolderMode.FIRST_CLASS); - } else { - mAccount.setFolderPushMode(Account.FolderMode.NONE); + if (mPushEnable.isChecked()) { + mAccount.setFolderPushMode(Account.FolderMode.FIRST_CLASS); + } else { + mAccount.setFolderPushMode(Account.FolderMode.NONE); } mAccount.save(Preferences.getPreferences(this)); if (mAccount.equals(Preferences.getPreferences(this).getDefaultAccount()) || - getIntent().getBooleanExtra(EXTRA_MAKE_DEFAULT, false) ) { + getIntent().getBooleanExtra(EXTRA_MAKE_DEFAULT, false) ) { Preferences.getPreferences(this).setDefaultAccount(mAccount); } Email.setServicesEnabled(this); @@ -162,9 +159,9 @@ public class AccountSetupOptions extends K9Activity implements OnClickListener { public void onClick(View v) { switch (v.getId()) { - case R.id.next: - onDone(); - break; + case R.id.next: + onDone(); + break; } } } diff --git a/src/com/android/email/activity/setup/AccountSetupOutgoing.java b/src/com/android/email/activity/setup/AccountSetupOutgoing.java index 63537efc6..e133bd512 100644 --- a/src/com/android/email/activity/setup/AccountSetupOutgoing.java +++ b/src/com/android/email/activity/setup/AccountSetupOutgoing.java @@ -32,23 +32,23 @@ import com.android.email.R; import com.android.email.Utility; public class AccountSetupOutgoing extends K9Activity implements OnClickListener, - OnCheckedChangeListener { + OnCheckedChangeListener { private static final String EXTRA_ACCOUNT = "account"; private static final String EXTRA_MAKE_DEFAULT = "makeDefault"; private static final int smtpPorts[] = { - 25, 465, 465, 25, 25 + 25, 465, 465, 25, 25 }; private static final String smtpSchemes[] = { - "smtp", "smtp+ssl", "smtp+ssl+", "smtp+tls", "smtp+tls+" + "smtp", "smtp+ssl", "smtp+ssl+", "smtp+tls", "smtp+tls+" }; private static final int webdavPorts[] = { 80, 443, 443, 443, 443 }; private static final String webdavSchemes[] = { - "webdav", "webdav+ssl", "webdav+ssl+", "webdav+tls", "webdav+tls+" + "webdav", "webdav+ssl", "webdav+ssl+", "webdav+tls", "webdav+tls+" }; private EditText mUsernameView; @@ -82,18 +82,18 @@ public class AccountSetupOutgoing extends K9Activity implements OnClickListener, setContentView(R.layout.account_setup_outgoing); mAccount = (Account)getIntent().getSerializableExtra(EXTRA_ACCOUNT); - - try { - if (new URI(mAccount.getStoreUri()).getScheme().startsWith("webdav")) { - mAccount.setTransportUri(mAccount.getStoreUri()); - AccountSetupCheckSettings.actionCheckSettings(this, mAccount, false, true); - } - } catch (URISyntaxException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - + try { + if (new URI(mAccount.getStoreUri()).getScheme().startsWith("webdav")) { + mAccount.setTransportUri(mAccount.getStoreUri()); + AccountSetupCheckSettings.actionCheckSettings(this, mAccount, false, true); + } + } catch (URISyntaxException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + + mUsernameView = (EditText)findViewById(R.id.account_username); mPasswordView = (EditText)findViewById(R.id.account_password); mServerView = (EditText)findViewById(R.id.account_server); @@ -107,13 +107,13 @@ public class AccountSetupOutgoing extends K9Activity implements OnClickListener, mRequireLoginView.setOnCheckedChangeListener(this); SpinnerOption securityTypes[] = { - new SpinnerOption(0, getString(R.string.account_setup_incoming_security_none_label)), - new SpinnerOption(1, - getString(R.string.account_setup_incoming_security_ssl_optional_label)), - new SpinnerOption(2, getString(R.string.account_setup_incoming_security_ssl_label)), - new SpinnerOption(3, - getString(R.string.account_setup_incoming_security_tls_optional_label)), - new SpinnerOption(4, getString(R.string.account_setup_incoming_security_tls_label)), + new SpinnerOption(0, getString(R.string.account_setup_incoming_security_none_label)), + new SpinnerOption(1, + getString(R.string.account_setup_incoming_security_ssl_optional_label)), + new SpinnerOption(2, getString(R.string.account_setup_incoming_security_ssl_label)), + new SpinnerOption(3, + getString(R.string.account_setup_incoming_security_tls_optional_label)), + new SpinnerOption(4, getString(R.string.account_setup_incoming_security_tls_label)), }; ArrayAdapter securityTypesAdapter = new ArrayAdapter(this, @@ -225,12 +225,12 @@ public class AccountSetupOutgoing extends K9Activity implements OnClickListener, private void validateFields() { mNextButton - .setEnabled( - Utility.domainFieldValid(mServerView) && - Utility.requiredFieldValid(mPortView) && - (!mRequireLoginView.isChecked() || - (Utility.requiredFieldValid(mUsernameView) && - Utility.requiredFieldValid(mPasswordView)))); + .setEnabled( + Utility.domainFieldValid(mServerView) && + Utility.requiredFieldValid(mPortView) && + (!mRequireLoginView.isChecked() || + (Utility.requiredFieldValid(mUsernameView) && + Utility.requiredFieldValid(mPasswordView)))); Utility.setCompoundDrawablesAlpha(mNextButton, mNextButton.isEnabled() ? 255 : 128); } @@ -259,10 +259,10 @@ public class AccountSetupOutgoing extends K9Activity implements OnClickListener, String userInfo = null; if (mRequireLoginView.isChecked()) { userInfo = mUsernameView.getText().toString() + ":" - + mPasswordView.getText().toString(); + + mPasswordView.getText().toString(); } uri = new URI(smtpSchemes[securityType], userInfo, mServerView.getText().toString(), - Integer.parseInt(mPortView.getText().toString()), null, null, null); + Integer.parseInt(mPortView.getText().toString()), null, null, null); mAccount.setTransportUri(uri.toString()); AccountSetupCheckSettings.actionCheckSettings(this, mAccount, false, true); } catch (Exception e) { @@ -272,14 +272,14 @@ public class AccountSetupOutgoing extends K9Activity implements OnClickListener, */ failure(e); } - + } public void onClick(View v) { switch (v.getId()) { - case R.id.next: - onNext(); - break; + case R.id.next: + onNext(); + break; } } @@ -287,11 +287,10 @@ public class AccountSetupOutgoing extends K9Activity implements OnClickListener, mRequireLoginSettingsView.setVisibility(isChecked ? View.VISIBLE : View.GONE); validateFields(); } - private void failure(Exception use) - { + private void failure(Exception use) { Log.e(Email.LOG_TAG, "Failure", use); String toastText = getString(R.string.account_setup_bad_uri, use.getMessage()); - + Toast toast = Toast.makeText(getApplication(), toastText, Toast.LENGTH_LONG); toast.show(); } diff --git a/src/com/android/email/activity/setup/FolderSettings.java b/src/com/android/email/activity/setup/FolderSettings.java index f5394ad7f..bb54bd4fb 100644 --- a/src/com/android/email/activity/setup/FolderSettings.java +++ b/src/com/android/email/activity/setup/FolderSettings.java @@ -25,17 +25,17 @@ import com.android.email.mail.Folder.FolderClass; import com.android.email.mail.store.LocalStore.LocalFolder; public class FolderSettings extends K9PreferenceActivity { - + private static final String EXTRA_FOLDER_NAME = "com.android.email.folderName"; private static final String EXTRA_ACCOUNT = "com.android.email.account"; - + private static final String PREFERENCE_TOP_CATERGORY = "folder_settings"; private static final String PREFERENCE_DISPLAY_CLASS = "folder_settings_folder_display_mode"; private static final String PREFERENCE_SYNC_CLASS = "folder_settings_folder_sync_mode"; private static final String PREFERENCE_PUSH_CLASS = "folder_settings_folder_push_mode"; private LocalFolder mFolder; - + private ListPreference mDisplayClass; private ListPreference mSyncClass; private ListPreference mPushClass; @@ -53,29 +53,23 @@ public class FolderSettings extends K9PreferenceActivity { String folderName = (String)getIntent().getSerializableExtra(EXTRA_FOLDER_NAME); Account mAccount = (Account)getIntent().getSerializableExtra(EXTRA_ACCOUNT); - - try - { - Store localStore = Store.getInstance(mAccount.getLocalStoreUri(), - getApplication()); - mFolder = (LocalFolder) localStore.getFolder(folderName); - mFolder.refresh(Preferences.getPreferences(this)); - } - catch (MessagingException me) - { - Log.e(Email.LOG_TAG, "Unable to edit folder " + folderName + " preferences", me); - return; - } - - boolean isPushCapable = false; + + try { + Store localStore = Store.getInstance(mAccount.getLocalStoreUri(), + getApplication()); + mFolder = (LocalFolder) localStore.getFolder(folderName); + mFolder.refresh(Preferences.getPreferences(this)); + } catch (MessagingException me) { + Log.e(Email.LOG_TAG, "Unable to edit folder " + folderName + " preferences", me); + return; + } + + boolean isPushCapable = false; Store store = null; - try - { + try { store = Store.getInstance(mAccount.getStoreUri(), getApplication()); isPushCapable = store.isPushCapable(); - } - catch (Exception e) - { + } catch (Exception e) { Log.e(Email.LOG_TAG, "Could not get remote store", e); } @@ -83,7 +77,7 @@ public class FolderSettings extends K9PreferenceActivity { Preference category = findPreference(PREFERENCE_TOP_CATERGORY); category.setTitle(folderName); - + mDisplayClass = (ListPreference) findPreference(PREFERENCE_DISPLAY_CLASS); mDisplayClass.setValue(mFolder.getDisplayClass().name()); mDisplayClass.setSummary(mDisplayClass.getEntry()); @@ -109,7 +103,7 @@ public class FolderSettings extends K9PreferenceActivity { return false; } }); - + mPushClass = (ListPreference) findPreference(PREFERENCE_PUSH_CLASS); mPushClass.setEnabled(isPushCapable); mPushClass.setValue(mFolder.getRawPushClass().name()); @@ -128,30 +122,24 @@ public class FolderSettings extends K9PreferenceActivity { @Override public void onResume() { super.onResume(); - try - { - mFolder.refresh(Preferences.getPreferences(this)); - } - catch (MessagingException me) - { - Log.e(Email.LOG_TAG, "Could not refresh folder preferences for folder " + mFolder.getName(), me); + try { + mFolder.refresh(Preferences.getPreferences(this)); + } catch (MessagingException me) { + Log.e(Email.LOG_TAG, "Could not refresh folder preferences for folder " + mFolder.getName(), me); } } private void saveSettings() { - mFolder.setDisplayClass(FolderClass.valueOf(mDisplayClass.getValue())); - mFolder.setSyncClass(FolderClass.valueOf(mSyncClass.getValue())); - mFolder.setPushClass(FolderClass.valueOf(mPushClass.getValue())); - - try - { - mFolder.save(Preferences.getPreferences(this)); - Email.setServicesEnabled(this); - } - catch (MessagingException me) - { - Log.e(Email.LOG_TAG, "Could not refresh folder preferences for folder " + mFolder.getName(), me); - } + mFolder.setDisplayClass(FolderClass.valueOf(mDisplayClass.getValue())); + mFolder.setSyncClass(FolderClass.valueOf(mSyncClass.getValue())); + mFolder.setPushClass(FolderClass.valueOf(mPushClass.getValue())); + + try { + mFolder.save(Preferences.getPreferences(this)); + Email.setServicesEnabled(this); + } catch (MessagingException me) { + Log.e(Email.LOG_TAG, "Could not refresh folder preferences for folder " + mFolder.getName(), me); + } } @Override @@ -162,5 +150,5 @@ public class FolderSettings extends K9PreferenceActivity { return super.onKeyDown(keyCode, event); } - + } diff --git a/src/com/android/email/activity/setup/Prefs.java b/src/com/android/email/activity/setup/Prefs.java index 25d5f1d60..b1d8b032a 100644 --- a/src/com/android/email/activity/setup/Prefs.java +++ b/src/com/android/email/activity/setup/Prefs.java @@ -36,9 +36,9 @@ public class Prefs extends K9PreferenceActivity { private ListPreference mBackgroundOps; private CheckBoxPreference mDebugLogging; private CheckBoxPreference mSensitiveLogging; - + private String initBackgroundOps; - + public static void actionPrefs(Context context) { Intent i = new Intent(context, Prefs.class); @@ -64,7 +64,7 @@ public class Prefs extends K9PreferenceActivity { return false; } }); - + mBackgroundOps = (ListPreference) findPreference(PREFERENCE_BACKGROUND_OPS); initBackgroundOps = Email.getBackgroundOps().toString(); mBackgroundOps.setValue(initBackgroundOps); @@ -78,13 +78,13 @@ public class Prefs extends K9PreferenceActivity { return false; } }); - + mDebugLogging = (CheckBoxPreference)findPreference(PREFERENCE_DEBUG_LOGGING); mSensitiveLogging = (CheckBoxPreference)findPreference(PREFERENCE_SENSITIVE_LOGGING); mDebugLogging.setChecked(Email.DEBUG); mSensitiveLogging.setChecked(Email.DEBUG_SENSITIVE); - + } @Override @@ -100,12 +100,11 @@ public class Prefs extends K9PreferenceActivity { String newBackgroundOps = mBackgroundOps.getValue(); Email.setBackgroundOps(newBackgroundOps); Email.save(preferences); - if (newBackgroundOps.equals(initBackgroundOps) == false) - { + if (newBackgroundOps.equals(initBackgroundOps) == false) { MailService.backgroundDataChanged(this); } } - + @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { diff --git a/src/com/android/email/activity/setup/SpinnerOption.java b/src/com/android/email/activity/setup/SpinnerOption.java index 14067b8f8..c1fcd1ef5 100644 --- a/src/com/android/email/activity/setup/SpinnerOption.java +++ b/src/com/android/email/activity/setup/SpinnerOption.java @@ -1,5 +1,5 @@ /** - * + * */ package com.android.email.activity.setup;