From eb1a4442f4a680aed0211654c58f88761c6c3519 Mon Sep 17 00:00:00 2001 From: dkanada Date: Mon, 17 Aug 2020 04:29:09 +0900 Subject: [PATCH] use view binding for three more activities --- .../ui/activities/PlaylistDetailActivity.java | 47 +++++++------------ .../ui/activities/SearchActivity.java | 34 +++++--------- .../ui/activities/SplashActivity.java | 3 -- 3 files changed, 31 insertions(+), 53 deletions(-) diff --git a/app/src/main/java/com/dkanada/gramophone/ui/activities/PlaylistDetailActivity.java b/app/src/main/java/com/dkanada/gramophone/ui/activities/PlaylistDetailActivity.java index 93d5c560..2bb7e248 100644 --- a/app/src/main/java/com/dkanada/gramophone/ui/activities/PlaylistDetailActivity.java +++ b/app/src/main/java/com/dkanada/gramophone/ui/activities/PlaylistDetailActivity.java @@ -4,14 +4,13 @@ import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.view.View; -import android.widget.TextView; import androidx.annotation.NonNull; -import androidx.appcompat.widget.Toolbar; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; import com.afollestad.materialcab.MaterialCab; +import com.dkanada.gramophone.databinding.ActivityPlaylistDetailBinding; import com.h6ah4i.android.widget.advrecyclerview.animator.GeneralItemAnimator; import com.h6ah4i.android.widget.advrecyclerview.animator.RefactoredDefaultItemAnimator; import com.h6ah4i.android.widget.advrecyclerview.draggable.RecyclerViewDragDropManager; @@ -38,20 +37,10 @@ import org.jellyfin.apiclient.model.playlists.PlaylistItemQuery; import java.util.ArrayList; import java.util.List; -import butterknife.BindView; -import butterknife.ButterKnife; - public class PlaylistDetailActivity extends AbsSlidingMusicPanelActivity implements CabHolder { - - @NonNull public static String EXTRA_PLAYLIST = "extra_playlist"; - @BindView(R.id.recycler_view) - RecyclerView recyclerView; - @BindView(R.id.toolbar) - Toolbar toolbar; - @BindView(android.R.id.empty) - TextView empty; + ActivityPlaylistDetailBinding binding; private Playlist playlist; @@ -64,10 +53,13 @@ public class PlaylistDetailActivity extends AbsSlidingMusicPanelActivity impleme @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - setDrawUnderStatusbar(); - ButterKnife.bind(this); + binding = ActivityPlaylistDetailBinding.inflate(getLayoutInflater()); + setContentView(binding.getRoot()); + + setDrawUnderStatusbar(); setStatusbarColorAuto(); + setNavigationbarColorAuto(); setTaskDescriptionColorAuto(); @@ -93,8 +85,8 @@ public class PlaylistDetailActivity extends AbsSlidingMusicPanelActivity impleme } private void setUpRecyclerView() { - ViewUtil.setUpFastScrollRecyclerViewColor(this, ((FastScrollRecyclerView) recyclerView), ThemeStore.accentColor(this)); - recyclerView.setLayoutManager(new LinearLayoutManager(this)); + ViewUtil.setUpFastScrollRecyclerViewColor(this, ((FastScrollRecyclerView) binding.recyclerView), ThemeStore.accentColor(this)); + binding.recyclerView.setLayoutManager(new LinearLayoutManager(this)); recyclerViewDragDropManager = new RecyclerViewDragDropManager(); final GeneralItemAnimator animator = new RefactoredDefaultItemAnimator(); @@ -107,10 +99,10 @@ public class PlaylistDetailActivity extends AbsSlidingMusicPanelActivity impleme wrappedAdapter = recyclerViewDragDropManager.createWrappedAdapter(adapter); - recyclerView.setAdapter(wrappedAdapter); - recyclerView.setItemAnimator(animator); + binding.recyclerView.setAdapter(wrappedAdapter); + binding.recyclerView.setItemAnimator(animator); - recyclerViewDragDropManager.attachRecyclerView(recyclerView); + recyclerViewDragDropManager.attachRecyclerView(binding.recyclerView); adapter.registerAdapterDataObserver(new RecyclerView.AdapterDataObserver() { @Override @@ -122,8 +114,8 @@ public class PlaylistDetailActivity extends AbsSlidingMusicPanelActivity impleme } private void setUpToolbar() { - toolbar.setBackgroundColor(ThemeStore.primaryColor(this)); - setSupportActionBar(toolbar); + binding.toolbar.setBackgroundColor(ThemeStore.primaryColor(this)); + setSupportActionBar(binding.toolbar); //noinspection ConstantConditions getSupportActionBar().setDisplayHomeAsUpEnabled(true); setToolbarTitle(playlist.name); @@ -172,13 +164,13 @@ public class PlaylistDetailActivity extends AbsSlidingMusicPanelActivity impleme if (cab != null && cab.isActive()) { cab.finish(); } else { - recyclerView.stopScroll(); + binding.recyclerView.stopScroll(); super.onBackPressed(); } } private void checkIsEmpty() { - empty.setVisibility(adapter.getItemCount() == 0 ? View.VISIBLE : View.GONE); + binding.empty.setVisibility(adapter.getItemCount() == 0 ? View.VISIBLE : View.GONE); } @Override @@ -197,11 +189,8 @@ public class PlaylistDetailActivity extends AbsSlidingMusicPanelActivity impleme recyclerViewDragDropManager = null; } - if (recyclerView != null) { - recyclerView.setItemAnimator(null); - recyclerView.setAdapter(null); - recyclerView = null; - } + binding.recyclerView.setItemAnimator(null); + binding.recyclerView.setAdapter(null); if (wrappedAdapter != null) { WrapperAdapterUtils.releaseAll(wrappedAdapter); diff --git a/app/src/main/java/com/dkanada/gramophone/ui/activities/SearchActivity.java b/app/src/main/java/com/dkanada/gramophone/ui/activities/SearchActivity.java index 8b3ca27d..2bd3760f 100644 --- a/app/src/main/java/com/dkanada/gramophone/ui/activities/SearchActivity.java +++ b/app/src/main/java/com/dkanada/gramophone/ui/activities/SearchActivity.java @@ -15,6 +15,7 @@ import androidx.recyclerview.widget.RecyclerView; import com.dkanada.gramophone.R; import com.dkanada.gramophone.adapter.SearchAdapter; +import com.dkanada.gramophone.databinding.ActivitySearchBinding; import com.dkanada.gramophone.interfaces.MediaCallback; import com.dkanada.gramophone.model.Album; import com.dkanada.gramophone.model.Artist; @@ -33,21 +34,10 @@ import java.util.HashMap; import java.util.List; import java.util.Map; -import butterknife.BindView; -import butterknife.ButterKnife; - public class SearchActivity extends AbsMusicServiceActivity implements SearchView.OnQueryTextListener { - public static final String QUERY = "query"; - @BindView(R.id.recycler_view) - RecyclerView recyclerView; - - @BindView(R.id.toolbar) - Toolbar toolbar; - - @BindView(android.R.id.empty) - TextView empty; + ActivitySearchBinding binding; SearchView searchView; @@ -59,26 +49,28 @@ public class SearchActivity extends AbsMusicServiceActivity implements SearchVie @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - setContentView(R.layout.activity_search); - setDrawUnderStatusbar(); - ButterKnife.bind(this); + binding = ActivitySearchBinding.inflate(getLayoutInflater()); + setContentView(binding.getRoot()); + + setDrawUnderStatusbar(); setStatusbarColorAuto(); + setNavigationbarColorAuto(); setTaskDescriptionColorAuto(); - recyclerView.setLayoutManager(new LinearLayoutManager(this)); + binding.recyclerView.setLayoutManager(new LinearLayoutManager(this)); adapter = new SearchAdapter(this, Collections.emptyList()); adapter.registerAdapterDataObserver(new RecyclerView.AdapterDataObserver() { @Override public void onChanged() { super.onChanged(); - empty.setVisibility(adapter.getItemCount() < 1 ? View.VISIBLE : View.GONE); + binding.empty.setVisibility(adapter.getItemCount() < 1 ? View.VISIBLE : View.GONE); } }); - recyclerView.setAdapter(adapter); - recyclerView.setOnTouchListener((v, event) -> { + binding.recyclerView.setAdapter(adapter); + binding.recyclerView.setOnTouchListener((v, event) -> { hideSoftKeyboard(); return false; }); @@ -99,8 +91,8 @@ public class SearchActivity extends AbsMusicServiceActivity implements SearchVie } private void setUpToolBar() { - toolbar.setBackgroundColor(ThemeStore.primaryColor(this)); - setSupportActionBar(toolbar); + binding.toolbar.setBackgroundColor(ThemeStore.primaryColor(this)); + setSupportActionBar(binding.toolbar); // noinspection ConstantConditions getSupportActionBar().setDisplayHomeAsUpEnabled(true); } diff --git a/app/src/main/java/com/dkanada/gramophone/ui/activities/SplashActivity.java b/app/src/main/java/com/dkanada/gramophone/ui/activities/SplashActivity.java index 5472cb93..7e728be6 100644 --- a/app/src/main/java/com/dkanada/gramophone/ui/activities/SplashActivity.java +++ b/app/src/main/java/com/dkanada/gramophone/ui/activities/SplashActivity.java @@ -26,8 +26,6 @@ import org.jellyfin.apiclient.model.logging.ILogger; import org.jellyfin.apiclient.model.serialization.GsonJsonSerializer; import org.jellyfin.apiclient.model.serialization.IJsonSerializer; -import butterknife.ButterKnife; - public class SplashActivity extends AbsBaseActivity { public static final String TAG = SplashActivity.class.getSimpleName(); @@ -39,7 +37,6 @@ public class SplashActivity extends AbsBaseActivity { super.onCreate(savedInstanceState); setContentView(R.layout.activity_splash); setDrawUnderStatusbar(); - ButterKnife.bind(this); setStatusbarColorAuto(); setNavigationbarColorAuto();