Add titles to the non main activities.

This commit is contained in:
Casey Langen 2017-02-17 10:07:17 -08:00
parent 3f8c34865e
commit 1403a92772
6 changed files with 69 additions and 7 deletions

View File

@ -17,6 +17,7 @@ import org.json.JSONObject;
import static io.casey.musikcube.remote.Messages.Key;
public class AlbumBrowseActivity extends WebSocketActivityBase implements Filterable {
public static final String EXTRA_TITLE = "extra_title";
private static final String EXTRA_CATEGORY_NAME = "extra_category_name";
private static final String EXTRA_CATEGORY_ID = "extra_category_id";
@ -46,6 +47,12 @@ public class AlbumBrowseActivity extends WebSocketActivityBase implements Filter
this.categoryId = getIntent().getLongExtra(EXTRA_CATEGORY_ID, categoryId);
setContentView(R.layout.recycler_view_activity);
setTitle(R.string.albums_title);
final String title = getIntent().getStringExtra(EXTRA_TITLE);
if (Strings.notEmpty(title)) {
setTitle(title);
}
this.wss = getWebSocketService();
this.adapter = new Adapter();
@ -116,11 +123,19 @@ public class AlbumBrowseActivity extends WebSocketActivityBase implements Filter
};
private View.OnClickListener onItemClickListener = (View view) -> {
long id = (Long) view.getTag();
JSONObject album = (JSONObject) view.getTag();
long id = album.optLong(Key.ID);
String title = album.optString(Key.TITLE, "");
final Intent intent = TrackListActivity.getStartIntent(
AlbumBrowseActivity.this, Messages.Category.ALBUM, id);
if (Strings.notEmpty(title)) {
intent.putExtra(
TrackListActivity.EXTRA_TITLE,
getString(R.string.songs_from_category, title));
}
startActivityForResult(intent, Navigation.RequestCode.ALBUM_TRACKS_ACTIVITY);
};
@ -152,7 +167,7 @@ public class AlbumBrowseActivity extends WebSocketActivityBase implements Filter
subtitle.setText(entry.optString(Key.ALBUM_ARTIST, "-"));
subtitle.setTextColor(getResources().getColor(subtitleColor));
itemView.setTag(entryId);
itemView.setTag(entry);
}
}

View File

@ -21,12 +21,18 @@ public class CategoryBrowseActivity extends WebSocketActivityBase implements Fil
private static final String EXTRA_CATEGORY = "extra_category";
private static final Map<String, String> CATEGORY_NAME_TO_ID = new HashMap<>();
private static final Map<String, Integer> CATEGORY_NAME_TO_TITLE = new HashMap<>();
static {
CATEGORY_NAME_TO_ID.put(Messages.Key.ALBUM_ARTIST, Messages.Key.ALBUM_ARTIST_ID);
CATEGORY_NAME_TO_ID.put(Messages.Key.GENRE, Messages.Key.GENRE_ID);
CATEGORY_NAME_TO_ID.put(Messages.Key.ARTIST, Messages.Key.ARTIST_ID);
CATEGORY_NAME_TO_ID.put(Messages.Key.ALBUM, Messages.Key.ALBUM_ID);
CATEGORY_NAME_TO_TITLE.put(Messages.Key.ALBUM_ARTIST, R.string.artists_title);
CATEGORY_NAME_TO_TITLE.put(Messages.Key.GENRE, R.string.genres_title);
CATEGORY_NAME_TO_TITLE.put(Messages.Key.ARTIST, R.string.artists_title);
CATEGORY_NAME_TO_TITLE.put(Messages.Key.ALBUM, R.string.albums_title);
}
public static Intent getStartIntent(final Context context, final String category) {
@ -48,6 +54,10 @@ public class CategoryBrowseActivity extends WebSocketActivityBase implements Fil
setContentView(R.layout.recycler_view_activity);
if (CATEGORY_NAME_TO_TITLE.containsKey(category)) {
setTitle(CATEGORY_NAME_TO_TITLE.get(category));
}
final RecyclerView recyclerView = (RecyclerView) findViewById(R.id.recycler_view);
Views.setupDefaultRecyclerView(this, recyclerView, this.adapter);
@ -116,14 +126,34 @@ public class CategoryBrowseActivity extends WebSocketActivityBase implements Fil
};
private View.OnClickListener onItemClickListener = (View view) -> {
final long categoryId = (Long) view.getTag();
final JSONObject entry = (JSONObject) view.getTag();
final long categoryId = entry.optLong(Messages.Key.ID);
final String value = entry.optString(Messages.Key.VALUE);
final Intent intent = AlbumBrowseActivity.getStartIntent(this, category, categoryId);
if (Strings.notEmpty(value)) {
intent.putExtra(
AlbumBrowseActivity.EXTRA_TITLE,
getString(R.string.albums_by_title, value));
}
startActivityForResult(intent, Navigation.RequestCode.ALBUM_BROWSE_ACTIVITY);
};
private View.OnLongClickListener onItemLongClickListener = (View view) -> {
final long categoryId = (Long) view.getTag();
final JSONObject entry = (JSONObject) view.getTag();
final long categoryId = entry.optLong(Messages.Key.ID);
final String value = entry.optString(Messages.Key.VALUE);
final Intent intent = TrackListActivity.getStartIntent(this, category, categoryId);
if (Strings.notEmpty(value)) {
intent.putExtra(
TrackListActivity.EXTRA_TITLE,
getString(R.string.songs_from_category, value));
}
startActivityForResult(intent, Navigation.RequestCode.CATEGORY_TRACKS_ACTIVITY);
return true;
@ -155,7 +185,7 @@ public class CategoryBrowseActivity extends WebSocketActivityBase implements Fil
title.setText(entry.optString(Messages.Key.VALUE, "-"));
title.setTextColor(getResources().getColor(titleColor));
itemView.setTag(entryId);
itemView.setTag(entry);
}
}

View File

@ -32,6 +32,7 @@ public class PlayQueueActivity extends WebSocketActivityBase {
this.wss = getWebSocketService();
setContentView(R.layout.recycler_view_activity);
setTitle(R.string.play_queue_title);
this.adapter = new Adapter();
final RecyclerView recyclerView = (RecyclerView) findViewById(R.id.recycler_view);

View File

@ -26,6 +26,7 @@ public class SettingsActivity extends AppCompatActivity {
super.onCreate(savedInstanceState);
prefs = this.getSharedPreferences("prefs", MODE_PRIVATE);
setContentView(R.layout.activity_settings);
setTitle(R.string.settings_title);
bindEventListeners();
rebindUi();
}

View File

@ -16,6 +16,7 @@ import org.json.JSONObject;
import static io.casey.musikcube.remote.TrackListScrollCache.QueryFactory;
public class TrackListActivity extends WebSocketActivityBase implements Filterable {
public static String EXTRA_TITLE = "extra_title";
private static String EXTRA_CATEGORY_TYPE = "extra_category_type";
private static String EXTRA_SELECTED_ID = "extra_selected_id";
@ -39,11 +40,17 @@ public class TrackListActivity extends WebSocketActivityBase implements Filterab
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.recycler_view_activity);
categoryType = getIntent().getStringExtra(EXTRA_CATEGORY_TYPE);
categoryId = getIntent().getLongExtra(EXTRA_SELECTED_ID, 0);
setContentView(R.layout.recycler_view_activity);
setTitle(R.string.songs_title);
final String title = getIntent().getStringExtra(EXTRA_TITLE);
if (Strings.notEmpty(title)) {
setTitle(title);
}
final QueryFactory queryFactory =
createCategoryQueryFactory(categoryType, categoryId);

View File

@ -1,5 +1,13 @@
<resources>
<string name="app_name">musikdroid</string>
<string name="settings_title">settings</string>
<string name="play_queue_title">play queue</string>
<string name="albums_title">albums</string>
<string name="albums_by_title">albums from \'%1$s\'</string>
<string name="songs_title">songs</string>
<string name="songs_from_category">songs from \'%1$s\'</string>
<string name="genres_title">genres</string>
<string name="artists_title">artists</string>
<string name="button_pause">pause</string>
<string name="button_play">play</string>
<string name="button_prev">prev</string>