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 @@ - + android:layout_width="match_parent" + android:id="@+id/coordinator"> + + + + + + diff --git a/app/src/main/res/menu/menu_main.xml b/app/src/main/res/menu/menu_main.xml index 9c2f47d..be79245 100644 --- a/app/src/main/res/menu/menu_main.xml +++ b/app/src/main/res/menu/menu_main.xml @@ -16,10 +16,4 @@ android:orderInCategory="100" android:title="@string/action_settings" app:showAsAction="never" /> - - diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 41d10a0..6f0899d 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -126,4 +126,5 @@ Bookmarks %1$s writes: + Add Account diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml index 67af119..86757f4 100644 --- a/app/src/main/res/values/themes.xml +++ b/app/src/main/res/values/themes.xml @@ -9,6 +9,7 @@ @color/primaryRed @color/secondaryBlue @color/white + @color/white @style/Widget.MaterialComponents.Toolbar.Primary @style/Widget.MaterialComponents.BottomNavigationView.PrimarySurface