Playlist empty text will invalidate when playlist data is changed, create/rename dialogs have input hints and capitalize words, etc.
This commit is contained in:
parent
7055b443fb
commit
a09c891f31
7 changed files with 96 additions and 73 deletions
|
|
@ -12,8 +12,10 @@ import com.kabouzeid.gramophone.R;
|
|||
* @author Karim Abou Zeid (kabouzeid)
|
||||
*/
|
||||
public abstract class AbsMainActivityRecyclerViewFragment extends AbsMainActivityFragment {
|
||||
|
||||
public static final String TAG = AbsMainActivityRecyclerViewFragment.class.getSimpleName();
|
||||
private RecyclerView recyclerView;
|
||||
private RecyclerView.Adapter mAdapter;
|
||||
|
||||
@Override
|
||||
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
|
||||
|
|
@ -30,7 +32,12 @@ public abstract class AbsMainActivityRecyclerViewFragment extends AbsMainActivit
|
|||
private void setUpRecyclerView() {
|
||||
recyclerView.setLayoutManager(createLayoutManager());
|
||||
recyclerView.setPadding(0, getTopPadding(), 0, getBottomPadding());
|
||||
recyclerView.setAdapter(createAdapter());
|
||||
mAdapter = createAdapter();
|
||||
recyclerView.setAdapter(mAdapter);
|
||||
}
|
||||
|
||||
public RecyclerView.Adapter getAdapter() {
|
||||
return mAdapter;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -1,13 +1,17 @@
|
|||
package com.kabouzeid.gramophone.ui.fragments.mainactivityfragments;
|
||||
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.support.v7.app.ActionBarActivity;
|
||||
import android.support.v7.widget.GridLayoutManager;
|
||||
import android.support.v7.widget.RecyclerView;
|
||||
import android.view.View;
|
||||
|
||||
import com.kabouzeid.gramophone.App;
|
||||
import com.kabouzeid.gramophone.R;
|
||||
import com.kabouzeid.gramophone.adapter.PlaylistAdapter;
|
||||
import com.kabouzeid.gramophone.model.DataBaseChangedEvent;
|
||||
import com.squareup.otto.Subscribe;
|
||||
|
||||
public class PlaylistViewFragment extends AbsMainActivityRecyclerViewFragment {
|
||||
|
||||
|
|
@ -23,6 +27,18 @@ public class PlaylistViewFragment extends AbsMainActivityRecyclerViewFragment {
|
|||
return new GridLayoutManager(getActivity(), 1);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
App.bus.register(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDestroy() {
|
||||
super.onDestroy();
|
||||
App.bus.unregister(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected RecyclerView.Adapter createAdapter() {
|
||||
PlaylistAdapter adapter = new PlaylistAdapter((ActionBarActivity) getActivity());
|
||||
|
|
@ -33,4 +49,21 @@ public class PlaylistViewFragment extends AbsMainActivityRecyclerViewFragment {
|
|||
}
|
||||
return adapter;
|
||||
}
|
||||
|
||||
@Subscribe
|
||||
public void onDataBaseEvent(DataBaseChangedEvent event) {
|
||||
switch (event.getAction()) {
|
||||
case DataBaseChangedEvent.PLAYLISTS_CHANGED:
|
||||
case DataBaseChangedEvent.DATABASE_CHANGED:
|
||||
PlaylistAdapter adapter = (PlaylistAdapter) getAdapter();
|
||||
adapter.loadDataSet();
|
||||
adapter.notifyDataSetChanged();
|
||||
View v = getView();
|
||||
if (v != null) {
|
||||
v.findViewById(android.R.id.empty).setVisibility(
|
||||
adapter.getItemCount() == 0 ? View.VISIBLE : View.GONE);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue