Commit 0ef0a862 authored by Grigory Fedorov's avatar Grigory Fedorov

#456 Fix: hardware button menu fix: ContactList and ContactEditor uses...

#456 Fix: hardware button menu fix: ContactList and ContactEditor  uses toolbar menu (setSupportActionBar removed).
parent c79dd668
......@@ -4,9 +4,13 @@ import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.NavUtils;
import android.support.v7.widget.Toolbar;
import android.text.InputType;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.EditText;
import com.xabber.android.R;
......@@ -17,13 +21,35 @@ import com.xabber.android.data.roster.RosterContact;
import com.xabber.android.data.roster.RosterManager;
import com.xabber.android.ui.dialog.ContactDeleteDialogFragment;
public class ContactEditor extends ContactViewer {
public class ContactEditor extends ContactViewer implements Toolbar.OnMenuItemClickListener {
public static Intent createIntent(Context context, String account, String user) {
return new EntityIntentBuilder(context, ContactEditor.class)
.setAccount(account).setUser(user).build();
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Toolbar toolbar = contactTitleExpandableToolbarInflater.getToolbar();
RosterContact rosterContact = RosterManager.getInstance().getRosterContact(getAccount(), getBareAddress());
if (rosterContact != null) {
toolbar.inflateMenu(R.menu.contact_viewer);
toolbar.setOnMenuItemClickListener(this);
}
toolbar.setNavigationIcon(R.drawable.ic_arrow_left_white_24dp);
toolbar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
NavUtils.navigateUpFromSameTask(ContactEditor.this);
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
RosterContact rosterContact = RosterManager.getInstance().getRosterContact(getAccount(), getBareAddress());
......@@ -34,6 +60,11 @@ public class ContactEditor extends ContactViewer {
return true;
}
@Override
public boolean onMenuItemClick(MenuItem item) {
return onOptionsItemSelected(item);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
......
......@@ -43,7 +43,6 @@ import android.widget.Toast;
import com.xabber.android.R;
import com.xabber.android.data.ActivityManager;
import com.xabber.android.data.Application;
import com.xabber.android.data.LogManager;
import com.xabber.android.data.NetworkException;
import com.xabber.android.data.SettingsManager;
import com.xabber.android.data.account.AccountManager;
......@@ -80,7 +79,7 @@ import java.util.Collection;
* @author alexander.ivanov
*/
public class ContactList extends ManagedActivity implements OnAccountChangedListener,
View.OnClickListener, OnChoosedListener, OnContactClickListener, ContactListDrawerFragment.ContactListDrawerListener {
View.OnClickListener, OnChoosedListener, OnContactClickListener, ContactListDrawerFragment.ContactListDrawerListener, Toolbar.OnMenuItemClickListener {
/**
* Select contact to be invited to the room was requested.
......@@ -155,19 +154,19 @@ public class ContactList extends ManagedActivity implements OnAccountChangedList
setContentView(R.layout.contact_list);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar_default);
toolbar.setOnClickListener(this);
setSupportActionBar(toolbar);
drawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
drawerToggle = new ActionBarDrawerToggle(this, drawerLayout, toolbar, R.string.application_title_short, R.string.application_title_short);
drawerLayout.setDrawerListener(drawerToggle);
getSupportActionBar().setHomeButtonEnabled(true);
toolbar.inflateMenu(R.menu.contact_list);
setUpSearchView(toolbar.getMenu());
toolbar.setOnMenuItemClickListener(this);
barPainter = new BarPainter(this, toolbar);
barPainter.setDefaultColor();
setTitle(getString(R.string.application_title_full));
toolbar.setTitle(R.string.application_title_full);
if (savedInstanceState != null) {
sendText = savedInstanceState.getString(SAVED_SEND_TEXT);
......@@ -344,13 +343,13 @@ public class ContactList extends ManagedActivity implements OnAccountChangedList
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
getMenuInflater().inflate(R.menu.contact_list, menu);
setUpSearchView(menu);
menu.findItem(R.id.action_search).setVisible(false);
return true;
}
private void setUpSearchView(final Menu menu) {
searchView = (SearchView) menu.findItem(R.id.action_search).getActionView();
searchView.setQueryHint("Search contact");
searchView.setQueryHint(getString(R.string.contact_search_hint));
searchView.setOnCloseListener(new SearchView.OnCloseListener() {
@Override
......@@ -371,14 +370,12 @@ public class ContactList extends ManagedActivity implements OnAccountChangedList
@Override
public boolean onMenuItemActionCollapse(MenuItem item) {
LogManager.i(this, "onMenuItemActionCollapse");
searchView.setQuery("", true);
searchView.clearFocus();
return true;
}
});
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
......@@ -394,6 +391,11 @@ public class ContactList extends ManagedActivity implements OnAccountChangedList
});
}
@Override
public boolean onMenuItemClick(MenuItem item) {
return onOptionsItemSelected(item);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (drawerToggle.onOptionsItemSelected(item)) {
......
......@@ -43,10 +43,9 @@ import java.util.List;
public class ContactViewer extends ManagedActivity implements
OnContactChangedListener, OnAccountChangedListener {
protected ContactTitleExpandableToolbarInflater contactTitleExpandableToolbarInflater;
private String account;
private String bareAddress;
private ContactTitleExpandableToolbarInflater contactTitleExpandableToolbarInflater;
private TextView contactNameView;
public static Intent createIntent(Context context, String account, String user) {
......
......@@ -42,6 +42,7 @@ public class ContactTitleExpandableToolbarInflater implements ObservableScrollVi
private int avatarRadius;
private int contactTitlePaddingBottomBig;
private int contactTitlePaddingBottomSmall;
private Toolbar toolbar;
public ContactTitleExpandableToolbarInflater(AppCompatActivity activity) {
this.activity = activity;
......@@ -49,9 +50,7 @@ public class ContactTitleExpandableToolbarInflater implements ObservableScrollVi
public void onCreate(AbstractContact abstractContact) {
activity.setContentView(R.layout.expandable_contact_title_activity);
activity.setSupportActionBar((Toolbar) activity.findViewById(R.id.toolbar_overlay));
activity.getSupportActionBar().setDisplayHomeAsUpEnabled(true);
activity.getSupportActionBar().setDisplayShowTitleEnabled(false);
toolbar = (Toolbar) activity.findViewById(R.id.toolbar_overlay);
avatarView = activity.findViewById(R.id.avatar);
contactNamePanel = activity.findViewById(R.id.contact_name_panel);
......@@ -182,9 +181,9 @@ public class ContactTitleExpandableToolbarInflater implements ObservableScrollVi
}
titleView.setPadding(paddingLeft, 0, paddingLeft, 0);
}
public Toolbar getToolbar() {
return toolbar;
}
}
......@@ -19,9 +19,6 @@
<!--for text selection toolbar to be above usual toolbar -->
<item name="windowActionModeOverlay">true</item>
<!--&lt;!&ndash; for hardware button menu &ndash;&gt;-->
<!--<item name="panelBackground">?attr/colorPrimary</item>-->
</style>
<style name="ToolbarTitle" parent="@style/TextAppearance.Widget.AppCompat.Toolbar.Title">
......
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