mirror of
https://github.com/moparisthebest/k-9
synced 2025-02-17 07:30:16 -05:00
Accounts actionbar split. Now contains unread number for consistency and shows status as subtitle if available. Allowed separate method to get the current operation in ActivityListener.
This commit is contained in:
parent
bc9bc29097
commit
ed03f19ea5
@ -68,6 +68,7 @@
|
||||
android:name="com.fsck.k9.activity.Accounts"
|
||||
android:launchMode="singleTask"
|
||||
android:configChanges="locale"
|
||||
android:uiOptions="splitActionBarWhenNarrow"
|
||||
android:label="@string/app_name">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN" />
|
||||
|
@ -29,6 +29,8 @@ import android.util.Log;
|
||||
import android.util.SparseBooleanArray;
|
||||
import android.util.TypedValue;
|
||||
import android.view.ContextMenu;
|
||||
|
||||
import com.actionbarsherlock.app.ActionBar;
|
||||
import com.actionbarsherlock.view.Menu;
|
||||
import com.actionbarsherlock.view.MenuItem;
|
||||
import android.view.View;
|
||||
@ -129,6 +131,12 @@ public class Accounts extends K9ListActivity implements OnItemClickListener {
|
||||
private FontSizes mFontSizes = K9.getFontSizes();
|
||||
|
||||
private MenuItem mRefreshMenuItem;
|
||||
private ActionBar mActionBar;
|
||||
|
||||
private TextView mActionBarTitle;
|
||||
private TextView mActionBarSubTitle;
|
||||
private TextView mActionBarUnread;
|
||||
|
||||
/**
|
||||
* Contains information about objects that need to be retained on configuration changes.
|
||||
*
|
||||
@ -141,9 +149,17 @@ public class Accounts extends K9ListActivity implements OnItemClickListener {
|
||||
|
||||
class AccountsHandler extends Handler {
|
||||
private void setViewTitle() {
|
||||
String dispString = mListener.formatHeader(Accounts.this, getString(R.string.accounts_title), mUnreadMessageCount, getTimeFormat());
|
||||
mActionBarTitle.setText(" "+getString(R.string.accounts_title));
|
||||
mActionBarUnread.setText(String.valueOf(mUnreadMessageCount));
|
||||
|
||||
setTitle(dispString);
|
||||
String operation = mListener.getOperation(Accounts.this, getTimeFormat());
|
||||
operation.trim();
|
||||
if (operation.length() < 1) {
|
||||
mActionBarSubTitle.setVisibility(View.GONE);
|
||||
} else {
|
||||
mActionBarSubTitle.setVisibility(View.VISIBLE);
|
||||
mActionBarSubTitle.setText(operation);
|
||||
}
|
||||
}
|
||||
public void refreshTitle() {
|
||||
runOnUiThread(new Runnable() {
|
||||
@ -373,7 +389,8 @@ public class Accounts extends K9ListActivity implements OnItemClickListener {
|
||||
}
|
||||
|
||||
requestWindowFeature(Window.FEATURE_PROGRESS);
|
||||
getSupportActionBar().setHomeButtonEnabled(false);
|
||||
mActionBar = getSupportActionBar();
|
||||
initializeActionBar();
|
||||
setContentView(R.layout.accounts);
|
||||
ListView listView = getListView();
|
||||
listView.setOnItemClickListener(this);
|
||||
@ -395,6 +412,18 @@ public class Accounts extends K9ListActivity implements OnItemClickListener {
|
||||
}
|
||||
}
|
||||
|
||||
private void initializeActionBar() {
|
||||
mActionBar.setDisplayShowCustomEnabled(true);
|
||||
mActionBar.setCustomView(R.layout.actionbar_custom);
|
||||
|
||||
View customView = mActionBar.getCustomView();
|
||||
mActionBarTitle = (TextView) customView.findViewById(R.id.actionbar_title_first);
|
||||
mActionBarSubTitle = (TextView) customView.findViewById(R.id.actionbar_title_sub);
|
||||
mActionBarUnread = (TextView) customView.findViewById(R.id.actionbar_unread_count);
|
||||
|
||||
mActionBar.setDisplayHomeAsUpEnabled(true);
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates and initializes the special accounts ('Unified Inbox' and 'All Messages')
|
||||
*/
|
||||
|
@ -23,6 +23,13 @@ public class ActivityListener extends MessagingListener {
|
||||
|
||||
|
||||
public String formatHeader(Context context, String activityPrefix, int unreadMessageCount, DateFormat timeFormat) {
|
||||
String operation = getOperation(context, timeFormat);
|
||||
return context.getString(R.string.activity_header_format, activityPrefix,
|
||||
(unreadMessageCount > 0 ? context.getString(R.string.activity_unread_count, unreadMessageCount) : ""),
|
||||
operation);
|
||||
}
|
||||
|
||||
public String getOperation(Context context, DateFormat timeFormat){
|
||||
String operation = null;
|
||||
String progress = null;
|
||||
if (mLoadingAccountDescription != null
|
||||
@ -66,11 +73,7 @@ public class ActivityListener extends MessagingListener {
|
||||
}
|
||||
}
|
||||
|
||||
return context.getString(R.string.activity_header_format, activityPrefix,
|
||||
(unreadMessageCount > 0 ? context.getString(R.string.activity_unread_count, unreadMessageCount) : ""),
|
||||
operation);
|
||||
|
||||
|
||||
return operation;
|
||||
}
|
||||
|
||||
public void informUserOfStatus() {
|
||||
|
Loading…
Reference in New Issue
Block a user