Commit cb412ce2 authored by Grigory Fedorov's avatar Grigory Fedorov

Merge branch 'release/1.0.6'

parents 37a5ad52 4e4de7f5
...@@ -7,8 +7,8 @@ android { ...@@ -7,8 +7,8 @@ android {
defaultConfig { defaultConfig {
minSdkVersion 14 minSdkVersion 14
targetSdkVersion 22 targetSdkVersion 22
versionCode 177 versionCode 178
versionName '1.0.5' versionName '1.0.6'
} }
compileOptions { compileOptions {
......
...@@ -19,13 +19,6 @@ ...@@ -19,13 +19,6 @@
<uses-feature android:name="android.hardware.location" android:required="false" /> <uses-feature android:name="android.hardware.location" android:required="false" />
<uses-feature android:name="android.hardware.location.gps" android:required="false" /> <uses-feature android:name="android.hardware.location.gps" android:required="false" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
<uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" />
<uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.READ_SYNC_SETTINGS" />
<uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.VIBRATE" /> <uses-permission android:name="android.permission.VIBRATE" />
...@@ -174,7 +167,7 @@ ...@@ -174,7 +167,7 @@
android:label="@string/account_oauth" android:label="@string/account_oauth"
/> />
<activity <activity
android:name="com.xabber.android.ui.MUCEditor" android:name=".ui.ConferenceAdd"
android:label="@string/muc_add" android:label="@string/muc_add"
android:parentActivityName="com.xabber.android.ui.ContactList" android:parentActivityName="com.xabber.android.ui.ContactList"
> >
......
...@@ -20,7 +20,7 @@ import com.xabber.android.R; ...@@ -20,7 +20,7 @@ import com.xabber.android.R;
import com.xabber.android.data.Application; import com.xabber.android.data.Application;
import com.xabber.android.data.entity.BaseEntity; import com.xabber.android.data.entity.BaseEntity;
import com.xabber.android.data.notification.EntityNotificationItem; import com.xabber.android.data.notification.EntityNotificationItem;
import com.xabber.android.ui.MUCEditor; import com.xabber.android.ui.ConferenceAdd;
public class RoomAuthorizationError extends BaseEntity implements public class RoomAuthorizationError extends BaseEntity implements
EntityNotificationItem { EntityNotificationItem {
...@@ -31,7 +31,7 @@ public class RoomAuthorizationError extends BaseEntity implements ...@@ -31,7 +31,7 @@ public class RoomAuthorizationError extends BaseEntity implements
@Override @Override
public Intent getIntent() { public Intent getIntent() {
return MUCEditor.createIntent(Application.getInstance(), return ConferenceAdd.createIntent(Application.getInstance(),
account, user); account, user);
} }
......
...@@ -43,10 +43,10 @@ public class AccountAdd extends ManagedActivity { ...@@ -43,10 +43,10 @@ public class AccountAdd extends ManagedActivity {
if (isFinishing()) if (isFinishing())
return; return;
setContentView(R.layout.account_add); setContentView(R.layout.activity_with_toolbar_and_container);
if (savedInstanceState == null) { if (savedInstanceState == null) {
getSupportFragmentManager().beginTransaction().add(R.id.container, AccountAddFragment.newInstance()).commit(); getSupportFragmentManager().beginTransaction().add(R.id.fragment_container, AccountAddFragment.newInstance()).commit();
} }
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar_default); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar_default);
...@@ -73,7 +73,7 @@ public class AccountAdd extends ManagedActivity { ...@@ -73,7 +73,7 @@ public class AccountAdd extends ManagedActivity {
public boolean onOptionsItemSelected(MenuItem item) { public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) { switch (item.getItemId()) {
case R.id.action_add_account: case R.id.action_add_account:
((AccountAddFragment)getSupportFragmentManager().findFragmentById(R.id.container)).addAccount(); ((AccountAddFragment) getSupportFragmentManager().findFragmentById(R.id.fragment_container)).addAccount();
return true; return true;
......
...@@ -12,11 +12,9 @@ import android.support.v7.widget.RecyclerView; ...@@ -12,11 +12,9 @@ import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.Toolbar; import android.support.v7.widget.Toolbar;
import android.text.Editable; import android.text.Editable;
import android.text.TextWatcher; import android.text.TextWatcher;
import android.view.ContextMenu;
import android.view.KeyEvent; import android.view.KeyEvent;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.Menu; import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem; import android.view.MenuItem;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
...@@ -73,11 +71,11 @@ public class ChatViewerFragment extends Fragment implements PopupMenu.OnMenuItem ...@@ -73,11 +71,11 @@ public class ChatViewerFragment extends Fragment implements PopupMenu.OnMenuItem
private ChatViewerFragmentListener listener; private ChatViewerFragmentListener listener;
private Animation shakeAnimation = null; private Animation shakeAnimation = null;
private int contextMenuItemPosition;
private RecyclerView recyclerView; private RecyclerView recyclerView;
private View contactTitleView; private View contactTitleView;
private AbstractContact abstractContact; private AbstractContact abstractContact;
private LinearLayoutManager layoutManager; private LinearLayoutManager layoutManager;
private MessageItem clickedMessageItem;
public static ChatViewerFragment newInstance(String account, String user) { public static ChatViewerFragment newInstance(String account, String user) {
ChatViewerFragment fragment = new ChatViewerFragment(); ChatViewerFragment fragment = new ChatViewerFragment();
...@@ -361,52 +359,6 @@ public class ChatViewerFragment extends Fragment implements PopupMenu.OnMenuItem ...@@ -361,52 +359,6 @@ public class ChatViewerFragment extends Fragment implements PopupMenu.OnMenuItem
} }
} }
@Override
public void onCreateContextMenu(ContextMenu menu, View view, ContextMenu.ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, view, menuInfo);
int itemViewType = chatMessageAdapter.getItemViewType(contextMenuItemPosition);
if (itemViewType == ChatMessageAdapter.VIEW_TYPE_INCOMING_MESSAGE
|| itemViewType == ChatMessageAdapter.VIEW_TYPE_OUTGOING_MESSAGE) {
MenuInflater inflater = getActivity().getMenuInflater();
inflater.inflate(R.menu.chat_context_menu, menu);
if (chatMessageAdapter.getMessageItem(contextMenuItemPosition).isError()) {
menu.findItem(R.id.action_message_repeat).setVisible(true);
}
}
}
@Override
public boolean onContextItemSelected(MenuItem item) {
final MessageItem message = chatMessageAdapter.getMessageItem(contextMenuItemPosition);
switch (item.getItemId()) {
case R.id.action_message_repeat:
sendMessage(message.getText());
return true;
case R.id.action_message_copy:
((ClipboardManager) getActivity().getSystemService(Context.CLIPBOARD_SERVICE))
.setPrimaryClip(ClipData.newPlainText(message.getSpannable(), message.getSpannable()));
return true;
case R.id.action_message_quote:
setInputText("> " + message.getText() + "\n");
return true;
case R.id.action_message_remove:
MessageManager.getInstance().removeMessage(message);
updateChat();
return true;
default:
return super.onContextItemSelected(item);
}
}
public void updateChat() { public void updateChat() {
ContactTitleInflater.updateTitle(contactTitleView, getActivity(), abstractContact); ContactTitleInflater.updateTitle(contactTitleView, getActivity(), abstractContact);
int itemCountBeforeUpdate = recyclerView.getAdapter().getItemCount(); int itemCountBeforeUpdate = recyclerView.getAdapter().getItemCount();
...@@ -496,7 +448,7 @@ public class ChatViewerFragment extends Fragment implements PopupMenu.OnMenuItem ...@@ -496,7 +448,7 @@ public class ChatViewerFragment extends Fragment implements PopupMenu.OnMenuItem
return true; return true;
case R.id.action_authorization_settings: case R.id.action_authorization_settings:
startActivity(MUCEditor.createIntent(getActivity(), account, user)); startActivity(ConferenceAdd.createIntent(getActivity(), account, user));
return true; return true;
case R.id.action_close_chat: case R.id.action_close_chat:
...@@ -533,6 +485,25 @@ public class ChatViewerFragment extends Fragment implements PopupMenu.OnMenuItem ...@@ -533,6 +485,25 @@ public class ChatViewerFragment extends Fragment implements PopupMenu.OnMenuItem
startActivity(OccupantList.createIntent(getActivity(), account, user)); startActivity(OccupantList.createIntent(getActivity(), account, user));
return true; return true;
/* message popup menu */
case R.id.action_message_repeat:
sendMessage(clickedMessageItem.getText());
return true;
case R.id.action_message_copy:
((ClipboardManager) getActivity().getSystemService(Context.CLIPBOARD_SERVICE))
.setPrimaryClip(ClipData.newPlainText(clickedMessageItem.getSpannable(), clickedMessageItem.getSpannable()));
return true;
case R.id.action_message_quote:
setInputText("> " + clickedMessageItem.getText() + "\n");
return true;
case R.id.action_message_remove:
MessageManager.getInstance().removeMessage(clickedMessageItem);
updateChat();
return true;
default: default:
return false; return false;
...@@ -608,11 +579,23 @@ public class ChatViewerFragment extends Fragment implements PopupMenu.OnMenuItem ...@@ -608,11 +579,23 @@ public class ChatViewerFragment extends Fragment implements PopupMenu.OnMenuItem
@Override @Override
public void onMessageClick(View caller, int position) { public void onMessageClick(View caller, int position) {
registerForContextMenu(caller); int itemViewType = chatMessageAdapter.getItemViewType(position);
this.contextMenuItemPosition = position;
caller.setOnCreateContextMenuListener(this); if (itemViewType == ChatMessageAdapter.VIEW_TYPE_INCOMING_MESSAGE
caller.showContextMenu(); || itemViewType == ChatMessageAdapter.VIEW_TYPE_OUTGOING_MESSAGE) {
unregisterForContextMenu(caller);
clickedMessageItem = chatMessageAdapter.getMessageItem(position);
PopupMenu popup = new PopupMenu(getActivity(), caller);
popup.inflate(R.menu.chat_context_menu);
popup.setOnMenuItemClickListener(this);
if (chatMessageAdapter.getMessageItem(position).isError()) {
popup.getMenu().findItem(R.id.action_message_repeat).setVisible(true);
}
popup.show();
}
} }
public void playIncomingAnimation() { public void playIncomingAnimation() {
......
/**
* Copyright (c) 2013, Redsolution LTD. All rights reserved.
*
* This file is part of Xabber project; you can redistribute it and/or
* modify it under the terms of the GNU General Public License, Version 3.
*
* Xabber is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License,
* along with this program. If not, see http://www.gnu.org/licenses/.
*/
package com.xabber.android.ui;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.widget.Toolbar;
import com.xabber.android.R;
import com.xabber.android.data.account.AccountManager;
import com.xabber.android.data.intent.AccountIntentBuilder;
import com.xabber.android.data.intent.EntityIntentBuilder;
import com.xabber.android.ui.helper.BarPainter;
import com.xabber.android.ui.helper.ManagedActivity;
import java.util.Collection;
public class ConferenceAdd extends ManagedActivity implements ConferenceAddFragment.Listener {
private static final String SAVED_ACCOUNT = "com.xabber.android.ui.MUCEditor.SAVED_ACCOUNT";
private static final String SAVED_ROOM = "com.xabber.android.ui.MUCEditor.SAVED_ROOM";
private BarPainter barPainter;
private String account;
private String room;
public static Intent createIntent(Context context) {
return ConferenceAdd.createIntent(context, null, null);
}
public static Intent createIntent(Context context, String account,
String room) {
return new EntityIntentBuilder(context, ConferenceAdd.class).setAccount(account).setUser(room).build();
}
private static String getAccount(Intent intent) {
return AccountIntentBuilder.getAccount(intent);
}
private static String getUser(Intent intent) {
return EntityIntentBuilder.getUser(intent);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (isFinishing()) {
return;
}
setContentView(R.layout.activity_with_toolbar_and_container);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar_default);
toolbar.setNavigationIcon(R.drawable.ic_clear_white_24dp);
setTitle(null);
setSupportActionBar(toolbar);
barPainter = new BarPainter(this, toolbar);
barPainter.setDefaultColor();
Intent intent = getIntent();
account = null;
room = null;
if (savedInstanceState != null) {
account = savedInstanceState.getString(SAVED_ACCOUNT);
room = savedInstanceState.getString(SAVED_ROOM);
} else {
account = getAccount(intent);
room = getUser(intent);
}
if (account == null) {
Collection<String> accounts = AccountManager.getInstance().getAccounts();
if (accounts.size() == 1) {
account = accounts.iterator().next();
}
}
if (account != null) {
barPainter.updateWithAccountName(account);
}
if (savedInstanceState == null) {
getFragmentManager()
.beginTransaction()
.add(R.id.fragment_container, ConferenceAddFragment.newInstance(account, room))
.commit();
}
}
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putString(SAVED_ACCOUNT, account);
outState.putString(SAVED_ROOM, room);
}
@Override
public void onAccountSelected(String account) {
barPainter.updateWithAccountName(account);
this.account = account;
}
}
...@@ -55,7 +55,7 @@ public class ContactAdd extends ManagedActivity implements ContactAddFragment.Li ...@@ -55,7 +55,7 @@ public class ContactAdd extends ManagedActivity implements ContactAddFragment.Li
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
setContentView(R.layout.contact_add); setContentView(R.layout.activity_with_toolbar_and_container);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar_default); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar_default);
toolbar.setNavigationIcon(R.drawable.ic_clear_white_24dp); toolbar.setNavigationIcon(R.drawable.ic_clear_white_24dp);
setTitle(null); setTitle(null);
...@@ -70,14 +70,14 @@ public class ContactAdd extends ManagedActivity implements ContactAddFragment.Li ...@@ -70,14 +70,14 @@ public class ContactAdd extends ManagedActivity implements ContactAddFragment.Li
if (savedInstanceState == null) { if (savedInstanceState == null) {
getSupportFragmentManager() getSupportFragmentManager()
.beginTransaction() .beginTransaction()
.add(R.id.container, ContactAddFragment.newInstance(getAccount(intent), getUser(intent))) .add(R.id.fragment_container, ContactAddFragment.newInstance(getAccount(intent), getUser(intent)))
.commit(); .commit();
} }
} }
private void addContact() { private void addContact() {
((ContactAddFragment)getSupportFragmentManager().findFragmentById(R.id.container)).addContact(); ((ContactAddFragment) getSupportFragmentManager().findFragmentById(R.id.fragment_container)).addContact();
} }
@Override @Override
......
...@@ -414,7 +414,7 @@ public class ContactList extends ManagedActivity implements OnAccountChangedList ...@@ -414,7 +414,7 @@ public class ContactList extends ManagedActivity implements OnAccountChangedList
closeAllChats(); closeAllChats();
return true; return true;
case R.id.action_join_conference: case R.id.action_join_conference:
startActivity(MUCEditor.createIntent(this)); startActivity(ConferenceAdd.createIntent(this));
return true; return true;
case R.id.action_chat_list: case R.id.action_chat_list:
startActivity(ChatViewer.createRecentChatsIntent(this)); startActivity(ChatViewer.createRecentChatsIntent(this));
......
...@@ -59,7 +59,7 @@ public class GroupEditor extends ManagedActivity implements OnContactChangedList ...@@ -59,7 +59,7 @@ public class GroupEditor extends ManagedActivity implements OnContactChangedList
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
setContentView(R.layout.group_editor); setContentView(R.layout.activity_with_toolbar_and_container);
contactTitleActionBarInflater = new ContactTitleActionBarInflater(this, (Toolbar) findViewById(R.id.toolbar_default)); contactTitleActionBarInflater = new ContactTitleActionBarInflater(this, (Toolbar) findViewById(R.id.toolbar_default));
contactTitleActionBarInflater.setUpActionBarView(); contactTitleActionBarInflater.setUpActionBarView();
...@@ -75,7 +75,7 @@ public class GroupEditor extends ManagedActivity implements OnContactChangedList ...@@ -75,7 +75,7 @@ public class GroupEditor extends ManagedActivity implements OnContactChangedList
if (savedInstanceState == null) { if (savedInstanceState == null) {
getSupportFragmentManager().beginTransaction() getSupportFragmentManager().beginTransaction()
.add(R.id.container, GroupEditorFragment.newInstance(account, user)).commit(); .add(R.id.fragment_container, GroupEditorFragment.newInstance(account, user)).commit();
} }
} }
......
...@@ -67,7 +67,7 @@ public class MUCInvite extends ManagedDialog { ...@@ -67,7 +67,7 @@ public class MUCInvite extends ManagedDialog {
@Override @Override
public void onAccept() { public void onAccept() {
super.onAccept(); super.onAccept();
startActivity(MUCEditor.createIntent(this, account, room)); startActivity(ConferenceAdd.createIntent(this, account, room));
finish(); finish();
} }
......
...@@ -318,7 +318,7 @@ public class ChatMessageAdapter extends RecyclerView.Adapter<RecyclerView.ViewHo ...@@ -318,7 +318,7 @@ public class ChatMessageAdapter extends RecyclerView.Adapter<RecyclerView.ViewHo
@Override @Override
public void onClick(View v) { public void onClick(View v) {
onClickListener.onMessageClick(v, getPosition()); onClickListener.onMessageClick(messageBalloon, getPosition());
} }
public interface MessageClickListener { public interface MessageClickListener {
......
...@@ -14,6 +14,7 @@ ...@@ -14,6 +14,7 @@
*/ */
package com.xabber.android.ui.dialog; package com.xabber.android.ui.dialog;
import android.app.Activity;
import android.app.AlertDialog; import android.app.AlertDialog;
import android.app.AlertDialog.Builder; import android.app.AlertDialog.Builder;
import android.app.DialogFragment; import android.app.DialogFragment;
...@@ -42,29 +43,26 @@ public class ChatExportDialogFragment extends ConfirmDialogFragment { ...@@ -42,29 +43,26 @@ public class ChatExportDialogFragment extends ConfirmDialogFragment {
private String user; private String user;
private EditText nameView; private EditText nameView;
private CheckBox sendView; private CheckBox sendView;
private Activity activity;
/**
* @param account
* @param user
* @return
*/
public static DialogFragment newInstance(String account, String user) { public static DialogFragment newInstance(String account, String user) {
return new ChatExportDialogFragment().putAgrument(ACCOUNT, account).putAgrument(USER, user); return new ChatExportDialogFragment().putAgrument(ACCOUNT, account).putAgrument(USER, user);
} }
@Override @Override
protected Builder getBuilder() { protected Builder getBuilder() {
activity = getActivity();
account = getArguments().getString(ACCOUNT); account = getArguments().getString(ACCOUNT);
user = getArguments().getString(USER); user = getArguments().getString(USER);
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); AlertDialog.Builder builder = new AlertDialog.Builder(activity);
builder.setTitle(R.string.export_chat_title); builder.setTitle(R.string.export_chat_title);
View layout = getActivity().getLayoutInflater().inflate( View layout = activity.getLayoutInflater().inflate(R.layout.export_chat, null);
R.layout.export_chat, null);
nameView = (EditText) layout.findViewById(R.id.name); nameView = (EditText) layout.findViewById(R.id.name);
sendView = (CheckBox) layout.findViewById(R.id.send); sendView = (CheckBox) layout.findViewById(R.id.send);
nameView.setText(getString(R.string.export_chat_mask, AccountManager nameView.setText(getString(R.string.export_chat_mask,
.getInstance().getVerboseName(account), RosterManager AccountManager.getInstance().getVerboseName(account),
.getInstance().getName(account, user))); RosterManager.getInstance().getName(account, user)));
builder.setView(layout); builder.setView(layout);
return builder; return builder;
} }
...@@ -72,10 +70,10 @@ public class ChatExportDialogFragment extends ConfirmDialogFragment { ...@@ -72,10 +70,10 @@ public class ChatExportDialogFragment extends ConfirmDialogFragment {
@Override @Override
protected boolean onPositiveClick() { protected boolean onPositiveClick() {
String name = nameView.getText().toString(); String name = nameView.getText().toString();
if ("".equals(name)) if ("".equals(name)) {
return false; return false;
new ChatExportAsyncTask(account, user, name, sendView.isChecked()) }
.execute(); new ChatExportAsyncTask(account, user, name, sendView.isChecked()).execute();
return true; return true;
} }
...@@ -86,8 +84,7 @@ public class ChatExportDialogFragment extends ConfirmDialogFragment { ...@@ -86,8 +84,7 @@ public class ChatExportDialogFragment extends ConfirmDialogFragment {
private final String name; private final String name;
private final boolean send; private final boolean send;
public ChatExportAsyncTask(String account, String user, String name, public ChatExportAsyncTask(String account, String user, String name, boolean send) {
boolean send) {
this.account = account; this.account = account;
this.user = user; this.user = user;
this.name = name; this.name = name;
...@@ -97,8 +94,7 @@ public class ChatExportDialogFragment extends ConfirmDialogFragment { ...@@ -97,8 +94,7 @@ public class ChatExportDialogFragment extends ConfirmDialogFragment {
@Override @Override
protected File doInBackground(Void... params) { protected File doInBackground(Void... params) {
try { try {
return MessageManager.getInstance().exportChat(account, user, return MessageManager.getInstance().exportChat(account, user, name);
name);
} catch (NetworkException e) { } catch (NetworkException e) {
Application.getInstance().onError(e); Application.getInstance().onError(e);
return null; return null;
...@@ -107,19 +103,19 @@ public class ChatExportDialogFragment extends ConfirmDialogFragment { ...@@ -107,19 +103,19 @@ public class ChatExportDialogFragment extends ConfirmDialogFragment {
@Override @Override
public void onPostExecute(File result) { public void onPostExecute(File result) {
if (result == null) if (result == null || activity == null) {
return; return;
}
// TODO: Use notification bar to notify about success. // TODO: Use notification bar to notify about success.
if (send) { if (send) {
Intent intent = new Intent(android.content.Intent.ACTION_SEND); Intent intent = new Intent(android.content.Intent.ACTION_SEND);
intent.setType("text/plain"); intent.setType("text/plain");
Uri uri = Uri.fromFile(result); Uri uri = Uri.fromFile(result);
intent.putExtra(android.content.Intent.EXTRA_STREAM, uri); intent.putExtra(android.content.Intent.EXTRA_STREAM, uri);
startActivity(Intent.createChooser(intent, activity.startActivity(Intent.createChooser(intent, activity.getString(R.string.export_chat)));
getString(R.string.export_chat)));
} else { } else {
Toast.makeText(getActivity(), R.string.export_chat_done, Toast.makeText(activity, R.string.export_chat_done, Toast.LENGTH_LONG).show();
Toast.LENGTH_LONG).show();
} }
} }
......
...@@ -38,11 +38,11 @@ import com.xabber.android.data.roster.GroupManager; ...@@ -38,11 +38,11 @@ import com.xabber.android.data.roster.GroupManager;
import com.xabber.android.data.roster.PresenceManager; import com.xabber.android.data.roster.PresenceManager;
import com.xabber.android.data.roster.ShowOfflineMode; import com.xabber.android.data.roster.ShowOfflineMode;
import com.xabber.android.ui.ChatViewer; import com.xabber.android.ui.ChatViewer;
import com.xabber.android.ui.ConferenceAdd;
import com.xabber.android.ui.ContactAdd; import com.xabber.android.ui.ContactAdd;
import com.xabber.android.ui.ContactEditor; import com.xabber.android.ui.ContactEditor;
import com.xabber.android.ui.ContactViewer; import com.xabber.android.ui.ContactViewer;
import com.xabber.android.ui.GroupEditor; import com.xabber.android.ui.GroupEditor;
import com.xabber.android.ui.MUCEditor;
import com.xabber.android.ui.StatusEditor; import com.xabber.android.ui.StatusEditor;
import com.xabber.android.ui.adapter.UpdatableAdapter; import com.xabber.android.ui.adapter.UpdatableAdapter;
import com.xabber.android.ui.dialog.ContactDeleteDialogFragment; import com.xabber.android.ui.dialog.ContactDeleteDialogFragment;
...@@ -81,7 +81,7 @@ public class ContextMenuHelper { ...@@ -81,7 +81,7 @@ public class ContextMenuHelper {
if (MUCManager.getInstance().hasRoom(account, user)) { if (MUCManager.getInstance().hasRoom(account, user)) {
if (!MUCManager.getInstance().inUse(account, user)) if (!MUCManager.getInstance().inUse(account, user))
menu.add(R.string.muc_edit).setIntent( menu.add(R.string.muc_edit).setIntent(
MUCEditor.createIntent(activity, account, user)); ConferenceAdd.createIntent(activity, account, user));
menu.add(R.string.muc_delete).setOnMenuItemClickListener( menu.add(R.string.muc_delete).setOnMenuItemClickListener(
new MenuItem.OnMenuItemClickListener() { new MenuItem.OnMenuItemClickListener() {
@Override @Override
......
...@@ -71,12 +71,12 @@ public class AccountEditor extends ManagedActivity implements ...@@ -71,12 +71,12 @@ public class AccountEditor extends ManagedActivity implements
token = accountItem.getConnectionSettings().getPassword(); token = accountItem.getConnectionSettings().getPassword();
getFragmentManager().beginTransaction() getFragmentManager().beginTransaction()
.add(R.id.preferences_activity_container, new AccountEditorFragment()).commit(); .add(R.id.fragment_container, new AccountEditorFragment()).commit();
} else { } else {
token = savedInstanceState.getString(SAVED_TOKEN); token = savedInstanceState.getString(SAVED_TOKEN);
} }
setContentView(R.layout.activity_preferences); setContentView(R.layout.activity_with_toolbar_and_container);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar_default); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar_default);
setSupportActionBar(toolbar); setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true); getSupportActionBar().setDisplayHomeAsUpEnabled(true);
...@@ -109,7 +109,7 @@ public class AccountEditor extends ManagedActivity implements ...@@ -109,7 +109,7 @@ public class AccountEditor extends ManagedActivity implements
} }
((AccountEditorFragment) getFragmentManager().findFragmentById( ((AccountEditorFragment) getFragmentManager().findFragmentById(
R.id.preferences_activity_container)).onOAuthChange(); R.id.fragment_container)).onOAuthChange();
} }
} }
} }
......
...@@ -18,7 +18,7 @@ public abstract class BasePhrasePreferences extends ManagedActivity ...@@ -18,7 +18,7 @@ public abstract class BasePhrasePreferences extends ManagedActivity
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
setContentView(R.layout.activity_preferences); setContentView(R.layout.activity_with_toolbar_and_container);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar_default); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar_default);
...@@ -30,7 +30,7 @@ public abstract class BasePhrasePreferences extends ManagedActivity ...@@ -30,7 +30,7 @@ public abstract class BasePhrasePreferences extends ManagedActivity
if (savedInstanceState == null) { if (savedInstanceState == null) {
getFragmentManager().beginTransaction() getFragmentManager().beginTransaction()
.add(R.id.preferences_activity_container, new PhraseEditorFragment()).commit(); .add(R.id.fragment_container, new PhraseEditorFragment()).commit();
} }
} }
......
...@@ -62,7 +62,7 @@ public class ChatEditor extends ManagedActivity ...@@ -62,7 +62,7 @@ public class ChatEditor extends ManagedActivity
return; return;
} }
setContentView(R.layout.activity_preferences); setContentView(R.layout.activity_with_toolbar_and_container);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar_default); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar_default);
setSupportActionBar(toolbar); setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true); getSupportActionBar().setDisplayHomeAsUpEnabled(true);
...@@ -72,7 +72,7 @@ public class ChatEditor extends ManagedActivity ...@@ -72,7 +72,7 @@ public class ChatEditor extends ManagedActivity
if (savedInstanceState == null) { if (savedInstanceState == null) {
getFragmentManager().beginTransaction() getFragmentManager().beginTransaction()
.add(R.id.preferences_activity_container, new ChatEditorFragment()).commit(); .add(R.id.fragment_container, new ChatEditorFragment()).commit();
} }
} }
......
...@@ -16,7 +16,7 @@ public class ChatSettings extends ManagedActivity { ...@@ -16,7 +16,7 @@ public class ChatSettings extends ManagedActivity {
if (isFinishing()) if (isFinishing())
return; return;
setContentView(R.layout.activity_preferences); setContentView(R.layout.activity_with_toolbar_and_container);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar_default); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar_default);
...@@ -31,7 +31,7 @@ public class ChatSettings extends ManagedActivity { ...@@ -31,7 +31,7 @@ public class ChatSettings extends ManagedActivity {
if (savedInstanceState == null) { if (savedInstanceState == null) {
getFragmentManager().beginTransaction() getFragmentManager().beginTransaction()
.add(R.id.preferences_activity_container, new ChatSettingsFragment()).commit(); .add(R.id.fragment_container, new ChatSettingsFragment()).commit();
} }
} }
} }
...@@ -16,7 +16,7 @@ public class ConnectionSettings extends ManagedActivity { ...@@ -16,7 +16,7 @@ public class ConnectionSettings extends ManagedActivity {
if (isFinishing()) if (isFinishing())
return; return;
setContentView(R.layout.activity_preferences); setContentView(R.layout.activity_with_toolbar_and_container);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar_default); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar_default);
...@@ -31,7 +31,7 @@ public class ConnectionSettings extends ManagedActivity { ...@@ -31,7 +31,7 @@ public class ConnectionSettings extends ManagedActivity {
if (savedInstanceState == null) { if (savedInstanceState == null) {
getFragmentManager().beginTransaction() getFragmentManager().beginTransaction()
.add(R.id.preferences_activity_container, new ConnectionSettingsFragment()).commit(); .add(R.id.fragment_container, new ConnectionSettingsFragment()).commit();
} }
} }
} }
...@@ -15,7 +15,7 @@ public class ContactListSettings extends ManagedActivity { ...@@ -15,7 +15,7 @@ public class ContactListSettings extends ManagedActivity {
if (isFinishing()) if (isFinishing())
return; return;
setContentView(R.layout.activity_preferences); setContentView(R.layout.activity_with_toolbar_and_container);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar_default); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar_default);
...@@ -30,7 +30,7 @@ public class ContactListSettings extends ManagedActivity { ...@@ -30,7 +30,7 @@ public class ContactListSettings extends ManagedActivity {
if (savedInstanceState == null) { if (savedInstanceState == null) {
getFragmentManager().beginTransaction() getFragmentManager().beginTransaction()
.add(R.id.preferences_activity_container, new ContactListSettingsFragment()).commit(); .add(R.id.fragment_container, new ContactListSettingsFragment()).commit();
} }
} }
} }
...@@ -16,7 +16,7 @@ public class DebugSettings extends ManagedActivity { ...@@ -16,7 +16,7 @@ public class DebugSettings extends ManagedActivity {
if (isFinishing()) if (isFinishing())
return; return;
setContentView(R.layout.activity_preferences); setContentView(R.layout.activity_with_toolbar_and_container);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar_default); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar_default);
...@@ -31,7 +31,7 @@ public class DebugSettings extends ManagedActivity { ...@@ -31,7 +31,7 @@ public class DebugSettings extends ManagedActivity {
if (savedInstanceState == null) { if (savedInstanceState == null) {
getFragmentManager().beginTransaction() getFragmentManager().beginTransaction()
.add(R.id.preferences_activity_container, new DebugSettingsFragment()).commit(); .add(R.id.fragment_container, new DebugSettingsFragment()).commit();
} }
} }
} }
...@@ -17,7 +17,7 @@ public class NotificationsSettings extends ManagedActivity { ...@@ -17,7 +17,7 @@ public class NotificationsSettings extends ManagedActivity {
if (isFinishing()) if (isFinishing())
return; return;
setContentView(R.layout.activity_preferences); setContentView(R.layout.activity_with_toolbar_and_container);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar_default); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar_default);
...@@ -32,7 +32,7 @@ public class NotificationsSettings extends ManagedActivity { ...@@ -32,7 +32,7 @@ public class NotificationsSettings extends ManagedActivity {
if (savedInstanceState == null) { if (savedInstanceState == null) {
getFragmentManager().beginTransaction() getFragmentManager().beginTransaction()
.add(R.id.preferences_activity_container, new NotificationsSettingsFragment()).commit(); .add(R.id.fragment_container, new NotificationsSettingsFragment()).commit();
} }
} }
} }
...@@ -36,7 +36,7 @@ public class PhraseAdder extends BasePhrasePreferences { ...@@ -36,7 +36,7 @@ public class PhraseAdder extends BasePhrasePreferences {
case R.id.action_save: case R.id.action_save:
boolean success = ((PhraseEditorFragment) getFragmentManager() boolean success = ((PhraseEditorFragment) getFragmentManager()
.findFragmentById(R.id.preferences_activity_container)).saveChanges(); .findFragmentById(R.id.fragment_container)).saveChanges();
if (success) { if (success) {
finish(); finish();
......
...@@ -67,7 +67,7 @@ public class PhraseEditor extends BasePhrasePreferences { ...@@ -67,7 +67,7 @@ public class PhraseEditor extends BasePhrasePreferences {
super.onPause(); super.onPause();
((PhraseEditorFragment) getFragmentManager() ((PhraseEditorFragment) getFragmentManager()
.findFragmentById(R.id.preferences_activity_container)).saveChanges(); .findFragmentById(R.id.fragment_container)).saveChanges();
} }
private Integer getPhraseIndex(Intent intent) { private Integer getPhraseIndex(Intent intent) {
......
...@@ -40,7 +40,7 @@ public class PreferenceEditor extends ManagedActivity ...@@ -40,7 +40,7 @@ public class PreferenceEditor extends ManagedActivity
if (isFinishing()) if (isFinishing())
return; return;
setContentView(R.layout.activity_preferences); setContentView(R.layout.activity_with_toolbar_and_container);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar_default); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar_default);
setSupportActionBar(toolbar); setSupportActionBar(toolbar);
barPainter = new BarPainter(this, toolbar); barPainter = new BarPainter(this, toolbar);
...@@ -48,7 +48,7 @@ public class PreferenceEditor extends ManagedActivity ...@@ -48,7 +48,7 @@ public class PreferenceEditor extends ManagedActivity
if (savedInstanceState == null) { if (savedInstanceState == null) {
getFragmentManager().beginTransaction() getFragmentManager().beginTransaction()
.add(R.id.preferences_activity_container, new PreferencesFragment()).commit(); .add(R.id.fragment_container, new PreferencesFragment()).commit();
} }
getSupportActionBar().setDisplayHomeAsUpEnabled(true); getSupportActionBar().setDisplayHomeAsUpEnabled(true);
......
...@@ -16,7 +16,7 @@ public class SecuritySettings extends ManagedActivity { ...@@ -16,7 +16,7 @@ public class SecuritySettings extends ManagedActivity {
if (isFinishing()) if (isFinishing())
return; return;
setContentView(R.layout.activity_preferences); setContentView(R.layout.activity_with_toolbar_and_container);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar_default); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar_default);
...@@ -31,7 +31,7 @@ public class SecuritySettings extends ManagedActivity { ...@@ -31,7 +31,7 @@ public class SecuritySettings extends ManagedActivity {
if (savedInstanceState == null) { if (savedInstanceState == null) {
getFragmentManager().beginTransaction() getFragmentManager().beginTransaction()
.add(R.id.preferences_activity_container, new SecuritySettingsFragment()).commit(); .add(R.id.fragment_container, new SecuritySettingsFragment()).commit();
} }
} }
} }
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<include layout="@layout/toolbar_default"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:layout_alignParentTop="true"
android:id="@+id/toolbar_default"
/>
<FrameLayout
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/toolbar_default"
>
</FrameLayout>
</RelativeLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" <LinearLayout 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"
android:orientation="vertical" android:orientation="vertical">
>
<include layout="@layout/toolbar_default"/> <include layout="@layout/toolbar_default" />
<RelativeLayout <RelativeLayout
android:id="@+id/fragment_container"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent" />
android:id="@+id/preferences_activity_container"
/>
</LinearLayout> </LinearLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (c) 2013, Redsolution LTD. All rights reserved.
This file is part of Xabber project; you can redistribute it and/or <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
modify it under the terms of the GNU General Public License, Version 3.
Xabber is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License,
along with this program. If not, see http://www.gnu.org/licenses/.
-->
<LinearLayout
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">
android:orientation="vertical"
>
<include layout="@layout/toolbar_default"/>
<LinearLayout <LinearLayout
android:orientation="vertical"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:padding="16dp" android:layout_below="@+id/toolbar_default"
> android:orientation="vertical"
android:padding="16dp">
<TextView <TextView
android:text="@string/contact_account"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
/> android:text="@string/contact_account" />
<com.xabber.android.ui.widget.NoDefaultSpinner <com.xabber.android.ui.widget.NoDefaultSpinner
android:id="@+id/contact_account" android:id="@+id/contact_account"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:prompt="@string/choose_account" android:prompt="@string/choose_account" />
/>
<TextView <TextView
android:text="@string/muc_server"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
/> android:text="@string/muc_server" />
<EditText <EditText
android:id="@+id/muc_server" android:id="@+id/muc_server"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:hint="@string/muc_server_hint" android:hint="@string/muc_server_hint"
android:singleLine="true"
android:inputType="textEmailAddress" android:inputType="textEmailAddress"
/> android:singleLine="true" />
<TextView <TextView
android:text="@string/muc_room"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
/> android:text="@string/muc_room" />
<EditText <EditText
android:id="@+id/muc_room" android:id="@+id/muc_room"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:singleLine="true" android:singleLine="true" />
/>
<TextView <TextView
android:text="@string/muc_nick"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
/> android:text="@string/muc_nick" />
<EditText <EditText
android:id="@+id/muc_nick" android:id="@+id/muc_nick"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:singleLine="true"
android:hint="@string/muc_nick_hint" android:hint="@string/muc_nick_hint"
/> android:singleLine="true" />
<TextView <TextView
android:text="@string/muc_password"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
/> android:text="@string/muc_password" />
<EditText <EditText
android:id="@+id/muc_password" android:id="@+id/muc_password"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:password="true"
android:singleLine="true"
android:hint="@string/muc_password_hint" android:hint="@string/muc_password_hint"
/> android:inputType="textPassword"
android:singleLine="true" />
<CheckBox <CheckBox
android:id="@+id/muc_join" android:id="@+id/muc_join"
android:checked="true"
android:text="@string/muc_join"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
/> android:checked="true"
android:text="@string/muc_join" />
</LinearLayout> </LinearLayout>
</LinearLayout>
</ScrollView>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (c) 2013, Redsolution LTD. All rights reserved.
This file is part of Xabber project; you can redistribute it and/or
modify it under the terms of the GNU General Public License, Version 3.
Xabber is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License,
along with this program. If not, see http://www.gnu.org/licenses/.
-->
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<include layout="@layout/toolbar_default"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:layout_alignParentTop="true"
android:id="@+id/toolbar_default"
/>
<FrameLayout
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/toolbar_default"
>
</FrameLayout>
</RelativeLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (c) 2013, Redsolution LTD. All rights reserved.
This file is part of Xabber project; you can redistribute it and/or
modify it under the terms of the GNU General Public License, Version 3.
Xabber is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License,
along with this program. If not, see http://www.gnu.org/licenses/.
-->
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<include layout="@layout/toolbar_default"
android:id="@+id/toolbar_default"
/>
<FrameLayout
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/toolbar_default"
>
</FrameLayout>
</RelativeLayout>
\ No newline at end of file
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