Commit e8b5e274 authored by Grigory Fedorov's avatar Grigory Fedorov

ContactList: accounts panel returned. Refactoring made.

Unused drawable resources (accounts panel background and icon) removed.
parent 82b57286
...@@ -32,7 +32,10 @@ import android.view.Menu; ...@@ -32,7 +32,10 @@ import android.view.Menu;
import android.view.MenuItem; import android.view.MenuItem;
import android.view.View; import android.view.View;
import android.view.inputmethod.InputMethodManager; import android.view.inputmethod.InputMethodManager;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.SearchView; import android.widget.SearchView;
import android.widget.TextView;
import android.widget.Toast; import android.widget.Toast;
import com.xabber.android.data.ActivityManager; import com.xabber.android.data.ActivityManager;
...@@ -41,6 +44,8 @@ import com.xabber.android.data.LogManager; ...@@ -41,6 +44,8 @@ import com.xabber.android.data.LogManager;
import com.xabber.android.data.NetworkException; import com.xabber.android.data.NetworkException;
import com.xabber.android.data.SettingsManager; import com.xabber.android.data.SettingsManager;
import com.xabber.android.data.account.AccountManager; import com.xabber.android.data.account.AccountManager;
import com.xabber.android.data.account.OnAccountChangedListener;
import com.xabber.android.data.account.StatusMode;
import com.xabber.android.data.entity.BaseEntity; import com.xabber.android.data.entity.BaseEntity;
import com.xabber.android.data.extension.avatar.AvatarManager; import com.xabber.android.data.extension.avatar.AvatarManager;
import com.xabber.android.data.extension.muc.MUCManager; import com.xabber.android.data.extension.muc.MUCManager;
...@@ -52,6 +57,7 @@ import com.xabber.android.data.roster.AbstractContact; ...@@ -52,6 +57,7 @@ import com.xabber.android.data.roster.AbstractContact;
import com.xabber.android.data.roster.RosterContact; import com.xabber.android.data.roster.RosterContact;
import com.xabber.android.data.roster.RosterManager; import com.xabber.android.data.roster.RosterManager;
import com.xabber.android.ui.ContactListFragment.OnContactClickListener; import com.xabber.android.ui.ContactListFragment.OnContactClickListener;
import com.xabber.android.ui.adapter.AccountToggleAdapter;
import com.xabber.android.ui.dialog.AccountChooseDialogFragment; import com.xabber.android.ui.dialog.AccountChooseDialogFragment;
import com.xabber.android.ui.dialog.AccountChooseDialogFragment.OnChoosedListener; import com.xabber.android.ui.dialog.AccountChooseDialogFragment.OnChoosedListener;
import com.xabber.android.ui.dialog.ContactIntegrationDialogFragment; import com.xabber.android.ui.dialog.ContactIntegrationDialogFragment;
...@@ -70,7 +76,9 @@ import java.util.Collection; ...@@ -70,7 +76,9 @@ import java.util.Collection;
* *
* @author alexander.ivanov * @author alexander.ivanov
*/ */
public class ContactList extends ManagedActivity implements OnChoosedListener, OnContactClickListener { public class ContactList extends ManagedActivity implements
OnAccountChangedListener, View.OnClickListener, View.OnLongClickListener,
OnChoosedListener, OnContactClickListener {
/** /**
* Select contact to be invited to the room was requested. * Select contact to be invited to the room was requested.
...@@ -86,6 +94,11 @@ public class ContactList extends ManagedActivity implements OnChoosedListener, O ...@@ -86,6 +94,11 @@ public class ContactList extends ManagedActivity implements OnChoosedListener, O
private static final String CONTACT_LIST_TAG = "CONTACT_LIST"; private static final String CONTACT_LIST_TAG = "CONTACT_LIST";
/**
* Adapter for account list.
*/
private AccountToggleAdapter accountToggleAdapter;
/** /**
* Current action. * Current action.
*/ */
...@@ -95,22 +108,35 @@ public class ContactList extends ManagedActivity implements OnChoosedListener, O ...@@ -95,22 +108,35 @@ public class ContactList extends ManagedActivity implements OnChoosedListener, O
* Dialog related values. * Dialog related values.
*/ */
private String sendText; private String sendText;
private SearchView searchView; private SearchView searchView;
private View titleView;
@Override @Override
public void onCreate(Bundle savedInstanceState) { public void onCreate(Bundle savedInstanceState) {
if (Intent.ACTION_VIEW.equals(getIntent().getAction()) if (Intent.ACTION_VIEW.equals(getIntent().getAction())
|| Intent.ACTION_SEND.equals(getIntent().getAction()) || Intent.ACTION_SEND.equals(getIntent().getAction())
|| Intent.ACTION_SENDTO.equals(getIntent().getAction()) || Intent.ACTION_SENDTO.equals(getIntent().getAction())
|| Intent.ACTION_CREATE_SHORTCUT || Intent.ACTION_CREATE_SHORTCUT.equals(getIntent().getAction())) {
.equals(getIntent().getAction()))
ActivityManager.getInstance().startNewTask(this); ActivityManager.getInstance().startNewTask(this);
}
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
if (isFinishing()) if (isFinishing()) {
return; return;
}
setContentView(R.layout.contact_list); setContentView(R.layout.contact_list);
titleView = findViewById(android.R.id.title);
accountToggleAdapter = new AccountToggleAdapter(this, this,
(LinearLayout) findViewById(R.id.account_list));
View commonStatusText = findViewById(R.id.common_status_text);
View commonStatusMode = findViewById(R.id.common_status_mode);
commonStatusText.setOnLongClickListener(this);
commonStatusMode.setOnClickListener(this);
commonStatusText.setOnClickListener(this);
titleView.setOnClickListener(this);
if (savedInstanceState != null) { if (savedInstanceState != null) {
sendText = savedInstanceState.getString(SAVED_SEND_TEXT); sendText = savedInstanceState.getString(SAVED_SEND_TEXT);
...@@ -150,29 +176,33 @@ public class ContactList extends ManagedActivity implements OnChoosedListener, O ...@@ -150,29 +176,33 @@ public class ContactList extends ManagedActivity implements OnChoosedListener, O
*/ */
private void openChat(String user, String text) { private void openChat(String user, String text) {
String bareAddress = Jid.getBareAddress(user); String bareAddress = Jid.getBareAddress(user);
ArrayList<BaseEntity> entities = new ArrayList<BaseEntity>(); ArrayList<BaseEntity> entities = new ArrayList<>();
for (AbstractChat check : MessageManager.getInstance().getChats()) for (AbstractChat check : MessageManager.getInstance().getChats()) {
if (check.isActive() && check.getUser().equals(bareAddress)) if (check.isActive() && check.getUser().equals(bareAddress)) {
entities.add(check); entities.add(check);
}
}
if (entities.size() == 1) { if (entities.size() == 1) {
openChat(entities.get(0), text); openChat(entities.get(0), text);
return; return;
} }
entities.clear(); entities.clear();
for (RosterContact check : RosterManager.getInstance().getContacts()) for (RosterContact check : RosterManager.getInstance().getContacts()) {
if (check.isEnabled() && check.getUser().equals(bareAddress)) if (check.isEnabled() && check.getUser().equals(bareAddress)) {
entities.add(check); entities.add(check);
}
}
if (entities.size() == 1) { if (entities.size() == 1) {
openChat(entities.get(0), text); openChat(entities.get(0), text);
return; return;
} }
Collection<String> accounts = AccountManager.getInstance() Collection<String> accounts = AccountManager.getInstance()
.getAccounts(); .getAccounts();
if (accounts.isEmpty()) if (accounts.isEmpty()) {
return; return;
}
if (accounts.size() == 1) { if (accounts.size() == 1) {
openChat(new BaseEntity(accounts.iterator().next(), bareAddress), openChat(new BaseEntity(accounts.iterator().next(), bareAddress), text);
text);
return; return;
} }
AccountChooseDialogFragment.newInstance(bareAddress, text) AccountChooseDialogFragment.newInstance(bareAddress, text)
...@@ -186,27 +216,32 @@ public class ContactList extends ManagedActivity implements OnChoosedListener, O ...@@ -186,27 +216,32 @@ public class ContactList extends ManagedActivity implements OnChoosedListener, O
* @param text can be <code>null</code>. * @param text can be <code>null</code>.
*/ */
private void openChat(BaseEntity baseEntity, String text) { private void openChat(BaseEntity baseEntity, String text) {
if (text == null) if (text == null) {
startActivity(ChatViewer.createSendIntent(this, startActivity(ChatViewer.createSendIntent(this,
baseEntity.getAccount(), baseEntity.getUser(), null)); baseEntity.getAccount(), baseEntity.getUser(), null));
else } else {
startActivity(ChatViewer.createSendIntent(this, startActivity(ChatViewer.createSendIntent(this,
baseEntity.getAccount(), baseEntity.getUser(), text)); baseEntity.getAccount(), baseEntity.getUser(), text));
}
finish(); finish();
} }
@Override @Override
protected void onResume() { protected void onResume() {
super.onResume(); super.onResume();
updateStatusBar();
rebuildAccountToggle();
Application.getInstance().addUIListener(OnAccountChangedListener.class, this);
if (action != null) { if (action != null) {
switch (action) { switch (action) {
case ContactList.ACTION_ROOM_INVITE: case ContactList.ACTION_ROOM_INVITE:
case Intent.ACTION_SEND: case Intent.ACTION_SEND:
case Intent.ACTION_CREATE_SHORTCUT: case Intent.ACTION_CREATE_SHORTCUT:
if (Intent.ACTION_SEND.equals(action)) if (Intent.ACTION_SEND.equals(action)) {
sendText = getIntent().getStringExtra(Intent.EXTRA_TEXT); sendText = getIntent().getStringExtra(Intent.EXTRA_TEXT);
Toast.makeText(this, getString(R.string.select_contact), }
Toast.LENGTH_LONG).show(); Toast.makeText(this, getString(R.string.select_contact), Toast.LENGTH_LONG).show();
break; break;
case Intent.ACTION_VIEW: { case Intent.ACTION_VIEW: {
action = null; action = null;
...@@ -221,8 +256,9 @@ public class ContactList extends ManagedActivity implements OnChoosedListener, O ...@@ -221,8 +256,9 @@ public class ContactList extends ManagedActivity implements OnChoosedListener, O
if (xmppUri != null && "message".equals(xmppUri.getQueryType())) { if (xmppUri != null && "message".equals(xmppUri.getQueryType())) {
ArrayList<String> texts = xmppUri.getValues("body"); ArrayList<String> texts = xmppUri.getValues("body");
String text = null; String text = null;
if (texts != null && !texts.isEmpty()) if (texts != null && !texts.isEmpty()) {
text = texts.get(0); text = texts.get(0);
}
openChat(xmppUri.getPath(), text); openChat(xmppUri.getPath(), text);
} }
} }
...@@ -233,8 +269,9 @@ public class ContactList extends ManagedActivity implements OnChoosedListener, O ...@@ -233,8 +269,9 @@ public class ContactList extends ManagedActivity implements OnChoosedListener, O
Uri data = getIntent().getData(); Uri data = getIntent().getData();
if (data != null) { if (data != null) {
String path = data.getPath(); String path = data.getPath();
if (path != null && path.startsWith("/")) if (path != null && path.startsWith("/")) {
openChat(path.substring(1), null); openChat(path.substring(1), null);
}
} }
break; break;
} }
...@@ -243,15 +280,17 @@ public class ContactList extends ManagedActivity implements OnChoosedListener, O ...@@ -243,15 +280,17 @@ public class ContactList extends ManagedActivity implements OnChoosedListener, O
if (Application.getInstance().doNotify()) { if (Application.getInstance().doNotify()) {
if (SettingsManager.bootCount() > 2 if (SettingsManager.bootCount() > 2
&& !SettingsManager.connectionStartAtBoot() && !SettingsManager.connectionStartAtBoot()
&& !SettingsManager.startAtBootSuggested()) && !SettingsManager.startAtBootSuggested()) {
StartAtBootDialogFragment.newInstance().show(getFragmentManager(), "START_AT_BOOT"); StartAtBootDialogFragment.newInstance().show(getFragmentManager(), "START_AT_BOOT");
}
if (!SettingsManager.contactIntegrationSuggested() if (!SettingsManager.contactIntegrationSuggested()
&& Application.getInstance().isContactsSupported()) { && Application.getInstance().isContactsSupported()) {
if (AccountManager.getInstance().getAllAccounts().isEmpty()) if (AccountManager.getInstance().getAllAccounts().isEmpty()) {
SettingsManager.setContactIntegrationSuggested(); SettingsManager.setContactIntegrationSuggested();
else } else {
ContactIntegrationDialogFragment.newInstance().show( ContactIntegrationDialogFragment.newInstance()
getFragmentManager(), "CONTACT_INTEGRATION"); .show(getFragmentManager(), "CONTACT_INTEGRATION");
}
} }
} }
} }
...@@ -260,6 +299,7 @@ public class ContactList extends ManagedActivity implements OnChoosedListener, O ...@@ -260,6 +299,7 @@ public class ContactList extends ManagedActivity implements OnChoosedListener, O
protected void onPause() { protected void onPause() {
super.onPause(); super.onPause();
hideKeyboard(); hideKeyboard();
Application.getInstance().removeUIListener(OnAccountChangedListener.class, this);
} }
private void hideKeyboard() { private void hideKeyboard() {
...@@ -326,11 +366,8 @@ public class ContactList extends ManagedActivity implements OnChoosedListener, O ...@@ -326,11 +366,8 @@ public class ContactList extends ManagedActivity implements OnChoosedListener, O
public boolean onOptionsItemSelected(MenuItem item) { public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) { switch (item.getItemId()) {
case R.id.action_search: case R.id.action_search:
searchView.setIconified(false); searchView.setIconified(false);
return true; return true;
case R.id.action_change_status: case R.id.action_change_status:
startActivity(StatusEditor.createIntent(this)); startActivity(StatusEditor.createIntent(this));
return true; return true;
...@@ -371,12 +408,10 @@ public class ContactList extends ManagedActivity implements OnChoosedListener, O ...@@ -371,12 +408,10 @@ public class ContactList extends ManagedActivity implements OnChoosedListener, O
} }
private void closeAllChats() { private void closeAllChats() {
for (AbstractChat chat : MessageManager.getInstance() for (AbstractChat chat : MessageManager.getInstance().getActiveChats()) {
.getActiveChats()) { MessageManager.getInstance().closeChat(chat.getAccount(), chat.getUser());
MessageManager.getInstance().closeChat(chat.getAccount(), NotificationManager.getInstance().
chat.getUser()); removeMessageNotification(chat.getAccount(), chat.getUser());
NotificationManager.getInstance().removeMessageNotification(
chat.getAccount(), chat.getUser());
} }
getContactListFragment().getAdapter().onChange(); getContactListFragment().getAdapter().onChange();
} }
...@@ -386,8 +421,7 @@ public class ContactList extends ManagedActivity implements OnChoosedListener, O ...@@ -386,8 +421,7 @@ public class ContactList extends ManagedActivity implements OnChoosedListener, O
} }
@Override @Override
public void onCreateContextMenu(ContextMenu menu, View view, public void onCreateContextMenu(ContextMenu menu, View view, ContextMenuInfo menuInfo) {
ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, view, menuInfo); super.onCreateContextMenu(menu, view, menuInfo);
} }
...@@ -397,8 +431,7 @@ public class ContactList extends ManagedActivity implements OnChoosedListener, O ...@@ -397,8 +431,7 @@ public class ContactList extends ManagedActivity implements OnChoosedListener, O
switch (id) { switch (id) {
case DIALOG_CLOSE_APPLICATION_ID: case DIALOG_CLOSE_APPLICATION_ID:
ProgressDialog progressDialog = new ProgressDialog(this); ProgressDialog progressDialog = new ProgressDialog(this);
progressDialog progressDialog.setMessage(getString(R.string.application_state_closing));
.setMessage(getString(R.string.application_state_closing));
progressDialog.setOnCancelListener(new OnCancelListener() { progressDialog.setOnCancelListener(new OnCancelListener() {
@Override @Override
public void onCancel(DialogInterface dialog) { public void onCancel(DialogInterface dialog) {
...@@ -412,65 +445,132 @@ public class ContactList extends ManagedActivity implements OnChoosedListener, O ...@@ -412,65 +445,132 @@ public class ContactList extends ManagedActivity implements OnChoosedListener, O
} }
} }
@Override
public void onClick(View view) {
switch (view.getId()) {
case R.id.common_status_mode:
startActivity(StatusEditor.createIntent(this));
break;
case R.id.common_status_text:
case android.R.id.title:
getContactListFragment().scrollUp();
break;
default:
String account = accountToggleAdapter.getItemForView(view);
if (account == null) // Check for tap on account in the title
break;
if (!SettingsManager.contactsShowAccounts()) {
if (AccountManager.getInstance().getAccounts().size() < 2) {
getContactListFragment().scrollUp();
} else {
getContactListFragment().setSelectedAccount(account);
rebuildAccountToggle();
}
} else {
getContactListFragment().scrollTo(account);
}
break;
}
}
@Override
public boolean onLongClick(View view) {
switch (view.getId()) {
case R.id.common_status_text:
startActivity(StatusEditor.createIntent(this));
return true;
}
return false;
}
@Override @Override
public void onContactClick(AbstractContact abstractContact) { public void onContactClick(AbstractContact abstractContact) {
if (ACTION_ROOM_INVITE.equals(action)) { switch (action) {
action = null; case ACTION_ROOM_INVITE: {
Intent intent = getIntent(); action = null;
String account = getRoomInviteAccount(intent); Intent intent = getIntent();
String user = getRoomInviteUser(intent); String account = getRoomInviteAccount(intent);
if (account != null && user != null) String user = getRoomInviteUser(intent);
try { if (account != null && user != null) {
MUCManager.getInstance().invite(account, user, try {
abstractContact.getUser()); MUCManager.getInstance().invite(account, user, abstractContact.getUser());
} catch (NetworkException e) { } catch (NetworkException e) {
Application.getInstance().onError(e); Application.getInstance().onError(e);
}
} }
finish(); finish();
} else if (Intent.ACTION_SEND.equals(action)) { break;
action = null; }
startActivity(ChatViewer.createSendIntent(this, case Intent.ACTION_SEND:
abstractContact.getAccount(), abstractContact.getUser(), action = null;
sendText)); startActivity(ChatViewer.createSendIntent(this,
finish(); abstractContact.getAccount(), abstractContact.getUser(), sendText));
} else if (Intent.ACTION_CREATE_SHORTCUT.equals(action)) { finish();
Intent intent = new Intent(); break;
intent.putExtra( case Intent.ACTION_CREATE_SHORTCUT: {
Intent.EXTRA_SHORTCUT_INTENT, createShortcut(abstractContact);
ChatViewer.createClearTopIntent(this, finish();
abstractContact.getAccount(), break;
abstractContact.getUser())); }
intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, default:
abstractContact.getName()); startActivity(ChatViewer.createIntent(this,
Bitmap bitmap; abstractContact.getAccount(), abstractContact.getUser()));
if (MUCManager.getInstance().hasRoom(abstractContact.getAccount(), break;
abstractContact.getUser())) }
bitmap = AvatarManager.getInstance().getRoomBitmap( }
abstractContact.getUser());
else private void createShortcut(AbstractContact abstractContact) {
bitmap = AvatarManager.getInstance().getUserBitmap( Intent intent = new Intent();
abstractContact.getUser()); intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, ChatViewer.createClearTopIntent(this,
intent.putExtra(Intent.EXTRA_SHORTCUT_ICON, AvatarManager abstractContact.getAccount(), abstractContact.getUser()));
.getInstance().createShortcutBitmap(bitmap)); intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, abstractContact.getName());
setResult(RESULT_OK, intent); Bitmap bitmap;
finish(); if (MUCManager.getInstance().hasRoom(abstractContact.getAccount(),
abstractContact.getUser())) {
bitmap = AvatarManager.getInstance().getRoomBitmap(abstractContact.getUser());
} else { } else {
startActivity(ChatViewer.createIntent(this, bitmap = AvatarManager.getInstance().getUserBitmap(abstractContact.getUser());
abstractContact.getAccount(), abstractContact.getUser()));
} }
intent.putExtra(Intent.EXTRA_SHORTCUT_ICON,
AvatarManager.getInstance().createShortcutBitmap(bitmap));
setResult(RESULT_OK, intent);
}
@Override
public void onAccountsChanged(Collection<String> accounts) {
accountToggleAdapter.onChange();
} }
@Override @Override
public void onChoosed(String account, String user, String text) { public void onChoose(String account, String user, String text) {
openChat(new BaseEntity(account, user), text); openChat(new BaseEntity(account, user), text);
} }
private void rebuildAccountToggle() {
updateStatusBar();
accountToggleAdapter.rebuild();
if (SettingsManager.contactsShowPanel() && accountToggleAdapter.getCount() > 0) {
titleView.setVisibility(View.VISIBLE);
} else {
titleView.setVisibility(View.GONE);
}
}
private void updateStatusBar() {
String statusText = SettingsManager.statusText();
StatusMode statusMode = SettingsManager.statusMode();
if ("".equals(statusText)) {
statusText = getString(statusMode.getStringID());
}
((TextView) findViewById(R.id.common_status_text)).setText(statusText);
((ImageView) findViewById(R.id.common_status_mode)).setImageLevel(statusMode.getStatusLevel());
}
public static Intent createPersistentIntent(Context context) { public static Intent createPersistentIntent(Context context) {
Intent intent = new Intent(context, ContactList.class); Intent intent = new Intent(context, ContactList.class);
intent.setAction("android.intent.action.MAIN"); intent.setAction("android.intent.action.MAIN");
intent.addCategory("android.intent.category.LAUNCHER"); intent.addCategory("android.intent.category.LAUNCHER");
intent.setFlags(Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED intent.setFlags(Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED | Intent.FLAG_ACTIVITY_NEW_TASK);
| Intent.FLAG_ACTIVITY_NEW_TASK);
return intent; return intent;
} }
......
...@@ -14,9 +14,6 @@ ...@@ -14,9 +14,6 @@
*/ */
package com.xabber.android.ui.adapter; package com.xabber.android.ui.adapter;
import java.util.ArrayList;
import java.util.Collections;
import android.app.Activity; import android.app.Activity;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.View; import android.view.View;
...@@ -30,6 +27,9 @@ import com.xabber.android.data.account.StatusMode; ...@@ -30,6 +27,9 @@ import com.xabber.android.data.account.StatusMode;
import com.xabber.android.data.extension.avatar.AvatarManager; import com.xabber.android.data.extension.avatar.AvatarManager;
import com.xabber.androiddev.R; import com.xabber.androiddev.R;
import java.util.ArrayList;
import java.util.Collections;
/** /**
* Adapter for the list of accounts in the title of contact list. * Adapter for the list of accounts in the title of contact list.
* *
...@@ -60,7 +60,7 @@ public class AccountToggleAdapter implements UpdatableAdapter { ...@@ -60,7 +60,7 @@ public class AccountToggleAdapter implements UpdatableAdapter {
this.activity = activity; this.activity = activity;
this.onClickListener = onClickListener; this.onClickListener = onClickListener;
this.linearLayout = linearLayout; this.linearLayout = linearLayout;
accounts = new ArrayList<String>(); accounts = new ArrayList<>();
} }
/** /**
...@@ -105,11 +105,9 @@ public class AccountToggleAdapter implements UpdatableAdapter { ...@@ -105,11 +105,9 @@ public class AccountToggleAdapter implements UpdatableAdapter {
.getColorLevel(account); .getColorLevel(account);
view.getBackground().setLevel(colorLevel); view.getBackground().setLevel(colorLevel);
if (contactsShowAccounts) if (contactsShowAccounts)
accountViewHolder.statusMode accountViewHolder.statusMode.setBackgroundResource(R.drawable.account_border);
.setBackgroundResource(R.drawable.account_border);
else else
accountViewHolder.statusMode accountViewHolder.statusMode.setBackgroundResource(R.drawable.account_border_persistent);
.setBackgroundResource(R.drawable.account_border_persistent);
if (selected == null || account.equals(selected)) if (selected == null || account.equals(selected))
accountViewHolder.disabled.setVisibility(View.GONE); accountViewHolder.disabled.setVisibility(View.GONE);
else else
......
...@@ -43,7 +43,7 @@ public class AccountChooseDialogFragment extends AbstractDialogFragment { ...@@ -43,7 +43,7 @@ public class AccountChooseDialogFragment extends AbstractDialogFragment {
public void onClick(DialogInterface dialog, int which) { public void onClick(DialogInterface dialog, int which) {
String account = (String) adapter.getItem(which); String account = (String) adapter.getItem(which);
OnChoosedListener listener = (OnChoosedListener) getActivity(); OnChoosedListener listener = (OnChoosedListener) getActivity();
listener.onChoosed(account, user, text); listener.onChoose(account, user, text);
} }
}); });
return builder; return builder;
...@@ -73,7 +73,7 @@ public class AccountChooseDialogFragment extends AbstractDialogFragment { ...@@ -73,7 +73,7 @@ public class AccountChooseDialogFragment extends AbstractDialogFragment {
public interface OnChoosedListener { public interface OnChoosedListener {
void onChoosed(String account, String user, String text); void onChoose(String account, String user, String text);
} }
......
...@@ -15,7 +15,63 @@ ...@@ -15,7 +15,63 @@
--> -->
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" > android:layout_height="match_parent">
<RelativeLayout
android:id="@android:id/title"
android:layout_width="match_parent"
android:layout_height="@dimen/title_height"
android:layout_alignParentTop="true"
>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_marginRight="@dimen/contact_list_status_mode_width"
android:orientation="horizontal" >
<HorizontalScrollView
android:id="@+id/account_bar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="72dip" >
<LinearLayout
android:id="@+id/account_list"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal" >
</LinearLayout>
</HorizontalScrollView>
<TextView
android:id="@+id/common_status_text"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="left"
android:layout_marginLeft="-72dip"
android:gravity="left|center_vertical"
android:padding="2dip"
android:singleLine="true"
android:text="online"
android:textColor="?android:attr/textColorPrimary" />
</LinearLayout>
<ImageButton
android:id="@+id/common_status_mode"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignParentRight="true"
android:background="@drawable/btn_status_mode"
android:paddingLeft="@dimen/active_chat_padding_right"
android:paddingRight="@dimen/active_chat_padding_right"
android:src="@drawable/ic_status" />
</RelativeLayout>
<RelativeLayout <RelativeLayout
android:id="@+id/container" android:id="@+id/container"
......
...@@ -19,7 +19,6 @@ ...@@ -19,7 +19,6 @@
<item name="expanderAccountColor">?android:attr/textColorPrimaryInverse</item> <item name="expanderAccountColor">?android:attr/textColorPrimaryInverse</item>
<item name="accountBackground">@drawable/account_background</item> <item name="accountBackground">@drawable/account_background</item>
<item name="expanderIndicator">@drawable/expander_indicator_dark</item> <item name="expanderIndicator">@drawable/expander_indicator_dark</item>
<item name="titleMainBackground">@drawable/title_main_background_dark</item>
<item name="titleAccountBackground">@drawable/title_account_background_dark</item> <item name="titleAccountBackground">@drawable/title_account_background_dark</item>
<item name="textColorPrimaryNoSelected">@color/bright_foreground_dark</item> <item name="textColorPrimaryNoSelected">@color/bright_foreground_dark</item>
</style> </style>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment