diff --git a/app/src/main/java/org/mercury_im/messenger/ui/MainActivity.java b/app/src/main/java/org/mercury_im/messenger/ui/MainActivity.java index e917016..456853e 100644 --- a/app/src/main/java/org/mercury_im/messenger/ui/MainActivity.java +++ b/app/src/main/java/org/mercury_im/messenger/ui/MainActivity.java @@ -72,10 +72,6 @@ public class MainActivity extends AppCompatActivity case R.id.action_settings: startActivity(new Intent(getApplicationContext(), SettingsActivity.class)); return true; - - case R.id.action_login: - startActivity(new Intent(getApplicationContext(), LoginActivity.class)); - return true; } return super.onOptionsItemSelected(item); diff --git a/app/src/main/java/org/mercury_im/messenger/ui/login/AccountsFragment.java b/app/src/main/java/org/mercury_im/messenger/ui/login/AccountsFragment.java index fac53aa..d61b4ad 100644 --- a/app/src/main/java/org/mercury_im/messenger/ui/login/AccountsFragment.java +++ b/app/src/main/java/org/mercury_im/messenger/ui/login/AccountsFragment.java @@ -1,6 +1,7 @@ package org.mercury_im.messenger.ui.login; import android.content.Context; +import android.content.Intent; import android.os.Bundle; import android.util.Log; import android.view.LayoutInflater; @@ -8,14 +9,20 @@ import android.view.View; import android.view.ViewGroup; import androidx.fragment.app.Fragment; +import androidx.lifecycle.ViewModelProvider; import androidx.lifecycle.ViewModelProviders; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; +import com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton; + import org.mercury_im.messenger.MercuryImApplication; import org.mercury_im.messenger.R; import org.mercury_im.messenger.persistence.model.AccountModel; +import butterknife.BindView; +import butterknife.ButterKnife; + /** * A fragment representing a list of Items. *
@@ -30,7 +37,11 @@ public class AccountsFragment extends Fragment { private AccountsRecyclerViewAdapter adapter; - private RecyclerView recyclerView; + @BindView(R.id.list) + RecyclerView recyclerView; + + @BindView(R.id.fab) + ExtendedFloatingActionButton fab; /** * Mandatory empty constructor for the fragment manager to instantiate the @@ -55,17 +66,17 @@ public class AccountsFragment extends Fragment { Bundle savedInstanceState) { Log.d(MercuryImApplication.TAG, "AccountsFragment.onCreateView"); View view = inflater.inflate(R.layout.fragment_account_list, container, false); - viewModel = ViewModelProviders.of(this).get(AccountsViewModel.class); + ButterKnife.bind(this, view); + viewModel = new ViewModelProvider(this).get(AccountsViewModel.class); // Set the adapter - if (view instanceof RecyclerView) { - recyclerView = (RecyclerView) view; - Context context = view.getContext(); - recyclerView.setLayoutManager(new LinearLayoutManager(context)); - this.adapter = new AccountsRecyclerViewAdapter(viewModel, accountClickListener); - viewModel.getAccounts().observe(this, roomAccountModels -> adapter.setValues(roomAccountModels)); - recyclerView.setAdapter(adapter); - } + Context context = view.getContext(); + + fab.setOnClickListener(v -> startActivity(new Intent(context, LoginActivity.class))); + recyclerView.setLayoutManager(new LinearLayoutManager(context)); + this.adapter = new AccountsRecyclerViewAdapter(viewModel, accountClickListener); + viewModel.getAccounts().observe(this, roomAccountModels -> adapter.setValues(roomAccountModels)); + recyclerView.setAdapter(adapter); return view; } diff --git a/app/src/main/res/layout/fragment_account_list.xml b/app/src/main/res/layout/fragment_account_list.xml index 8e3edf6..b758385 100644 --- a/app/src/main/res/layout/fragment_account_list.xml +++ b/app/src/main/res/layout/fragment_account_list.xml @@ -1,13 +1,30 @@ -