/** * 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.activity; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.support.v7.widget.Toolbar; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; import com.xabber.android.R; import com.xabber.android.data.entity.AccountJid; import com.xabber.android.data.entity.UserJid; import com.xabber.android.data.intent.EntityIntentBuilder; import com.xabber.android.ui.color.BarPainter; import com.xabber.android.ui.fragment.ContactAddFragment; import com.xabber.android.ui.helper.ContactAdder; import com.xabber.android.ui.helper.ToolbarHelper; public class ContactAddActivity extends ManagedActivity implements ContactAddFragment.Listener { BarPainter barPainter; public static Intent createIntent(Context context) { return createIntent(context, null); } public static Intent createIntent(Context context, AccountJid account) { return createIntent(context, account, null); } public static Intent createIntent(Context context, AccountJid account, UserJid user) { return new EntityIntentBuilder(context, ContactAddActivity.class).setAccount(account).setUser(user).build(); } private static AccountJid getAccount(Intent intent) { return EntityIntentBuilder.getAccount(intent); } private static UserJid getUser(Intent intent) { return EntityIntentBuilder.getUser(intent); } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_with_toolbar_and_container); Toolbar toolbar = ToolbarHelper.setUpDefaultToolbar(this, null, R.drawable.ic_clear_white_24dp); toolbar.inflateMenu(R.menu.toolbar_add_contact); toolbar.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() { @Override public boolean onMenuItemClick(MenuItem item) { return onOptionsItemSelected(item); } }); barPainter = new BarPainter(this, toolbar); barPainter.setDefaultColor(); Intent intent = getIntent(); if (savedInstanceState == null) { getFragmentManager() .beginTransaction() .add(R.id.fragment_container, ContactAddFragment.newInstance(getAccount(intent), getUser(intent))) .commit(); } } private void addContact() { ((ContactAdder) getFragmentManager().findFragmentById(R.id.fragment_container)).addContact(); } @Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater=getMenuInflater(); inflater.inflate(R.menu.toolbar_add_contact, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.action_add_contact: addContact(); return true; default: return super.onOptionsItemSelected(item); } } @Override public void onAccountSelected(AccountJid account) { barPainter.updateWithAccountName(account); } }