Merge pull request #1 from SyncedSynapse/master

Merge changes
This commit is contained in:
jonas2515 2015-02-02 15:37:39 +01:00
commit 18604104b5
12 changed files with 267 additions and 99 deletions

View File

@ -34,7 +34,7 @@ Credits
**Translations**
- French - Kowalski
- Bulgarian - NEOhidra
- German - jonas2515
Links
-----

View File

@ -8,8 +8,8 @@ android {
applicationId "com.syncedsynapse.kore2"
minSdkVersion 15
targetSdkVersion 21
versionCode 4
versionName "0.9.2"
versionCode 5
versionName "1.0.0"
buildConfigField("String", "IAP_KEY", "\"${rootProject.property("IAP_KEY")}\"")
}
@ -39,6 +39,11 @@ android {
}
}
lintOptions {
// Too much trouble keeping all translations in sync
disable 'MissingTranslation'
}
packagingOptions {
exclude 'META-INF/DEPENDENCIES'
exclude 'META-INF/NOTICE'

View File

@ -33,24 +33,22 @@ public class Settings {
* The update interval for the records in the DB. If the last update is older than this value
* a refresh will be triggered. Aplicable to TV Shows and Movies.
*/
public static final long DB_UPDATE_INTERVAL = 12 * DateUtils.HOUR_IN_MILLIS;
// public static final long DB_UPDATE_INTERVAL = DateUtils.MINUTE_IN_MILLIS;
// public static final long DB_UPDATE_INTERVAL = 12 * DateUtils.HOUR_IN_MILLIS;
public static final long DB_UPDATE_INTERVAL = 5 * DateUtils.MINUTE_IN_MILLIS;
// Constants for Shared Preferences
private static final String SETTINGS_KEY = "SETTINGS_SHARED_PREFS";
// Tags to save the values
private static final String CURRENT_HOST_ID = "CURRENT_HOST_ID";
private static final String MAX_CAST_PICTURES = "MAX_CAST_PICTURES";
private static final String MOVIES_FILTER_HIDE_WATCHED = "MOVIES_FILTER_HIDE_WATCHED";
private static final String TVSHOWS_FILTER_HIDE_WATCHED = "TVSHOWS_FILTER_HIDE_WATCHED";
private static final String TVSHOW_EPISODES_FILTER_HIDE_WATCHED = "TVSHOW_EPISODES_FILTER_HIDE_WATCHED";
private static final String SHOW_THANKS_FOR_COFFEE_MESSAGE = "SHOW_THANKS_FOR_COFFEE_MESSAGE";
private static final String HAS_BOUGHT_COFFEE = "HAS_BOUGHT_COFFEE";
// Default values
private static final int DEFAULT_MAX_CAST_PICTURES = 12;
// Maximum pictures to show on cast list (-1 to show all)
public static final int DEFAULT_MAX_CAST_PICTURES = 12;
/**
* Default Shared Preferences keys.
@ -63,8 +61,36 @@ public class Settings {
public static final String KEY_PREF_ABOUT = "pref_about";
public static final String KEY_PREF_COFFEE = "pref_coffee";
// Filter watched movies on movie list
public static final String KEY_PREF_MOVIES_FILTER_HIDE_WATCHED = "movies_filter_hide_watched";
// Sort order on movies
public static final String KEY_PREF_MOVIES_SORT_ORDER = "movies_sort_order";
// Ignore articles on movie sorting
public static final String KEY_PREF_MOVIES_IGNORE_PREFIXES = "movies_ignore_prefixes";
// Filter watched tv shows on tvshow list
public static final String KEY_PREF_TVSHOWS_FILTER_HIDE_WATCHED = "tvshows_filter_hide_watched";
public static final String KEY_PREF_TVSHOW_EPISODES_FILTER_HIDE_WATCHED = "tvshow_episodes_filter_hide_watched";
// Sort order on tv shows
public static final String KEY_PREF_TVSHOWS_SORT_ORDER = "tvshows_sort_order";
// Ignore articles on tv show sorting
public static final String KEY_PREF_TVSHOWS_IGNORE_PREFIXES = "tvshows_ignore_prefixes";
// Defaults for the preferences
public static final String DEFAULT_PREF_THEME = "0";
public static final boolean DEFAULT_PREF_SWITCH_TO_REMOTE_AFTER_MEDIA_START = true;
public static final boolean DEFAULT_PREF_MOVIES_FILTER_HIDE_WATCHED = false;
public static final boolean DEFAULT_PREF_TVSHOWS_FILTER_HIDE_WATCHED = false;
public static final boolean DEFAULT_PREF_TVSHOW_EPISODES_FILTER_HIDE_WATCHED = false;
// Sort orders
public static final int SORT_BY_NAME = 0,
SORT_BY_DATE_ADDED = 1;
public static final int DEFAULT_PREF_MOVIES_SORT_ORDER = SORT_BY_NAME;
public static final int DEFAULT_PREF_TVSHOWS_SORT_ORDER = SORT_BY_NAME;
public static final boolean DEFAULT_PREF_MOVIES_IGNORE_PREFIXES = false;
public static final boolean DEFAULT_PREF_TVSHOWS_IGNORE_PREFIXES = false;
// Singleton instance
@ -75,22 +101,6 @@ public class Settings {
* Current saved host id
*/
public int currentHostId;
/**
* Maximum pictures to show on cast list (-1 to show all)
*/
public int maxCastPictures;
/**
* Filter watched movies on movie list
*/
public boolean moviesFilterHideWatched;
/**
* Filter watched tv shows on list (all episodes)
*/
public boolean tvshowsFilterHideWatched;
/**
* Filter watched episodes of a tv shows on list
*/
public boolean tvshowEpisodesFilterHideWatched;
/**
* Show the thanks for coffee message
@ -112,11 +122,6 @@ public class Settings {
SharedPreferences preferences = context.getSharedPreferences(SETTINGS_KEY, Context.MODE_PRIVATE);
currentHostId = preferences.getInt(CURRENT_HOST_ID, -1);
maxCastPictures = preferences.getInt(MAX_CAST_PICTURES, DEFAULT_MAX_CAST_PICTURES);
// maxCastPictures = 12;
moviesFilterHideWatched = preferences.getBoolean(MOVIES_FILTER_HIDE_WATCHED, false);
tvshowsFilterHideWatched = preferences.getBoolean(TVSHOWS_FILTER_HIDE_WATCHED, false);
tvshowEpisodesFilterHideWatched = preferences.getBoolean(TVSHOW_EPISODES_FILTER_HIDE_WATCHED, false);
showThanksForCofeeMessage = preferences.getBoolean(SHOW_THANKS_FOR_COFFEE_MESSAGE, true);
hasBoughtCoffee = preferences.getBoolean(HAS_BOUGHT_COFFEE, false);
}
@ -140,10 +145,6 @@ public class Settings {
SharedPreferences.Editor editor = preferences.edit();
editor.putInt(CURRENT_HOST_ID, currentHostId);
editor.putInt(MAX_CAST_PICTURES, maxCastPictures);
editor.putBoolean(MOVIES_FILTER_HIDE_WATCHED, moviesFilterHideWatched);
editor.putBoolean(TVSHOWS_FILTER_HIDE_WATCHED, tvshowsFilterHideWatched);
editor.putBoolean(TVSHOW_EPISODES_FILTER_HIDE_WATCHED, tvshowEpisodesFilterHideWatched);
editor.putBoolean(SHOW_THANKS_FOR_COFFEE_MESSAGE, showThanksForCofeeMessage);
editor.putBoolean(HAS_BOUGHT_COFFEE, hasBoughtCoffee);
editor.apply();

View File

@ -18,10 +18,12 @@ package com.syncedsynapse.kore2.ui;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.res.Resources;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.provider.BaseColumns;
import android.support.v4.app.Fragment;
import android.support.v4.app.LoaderManager;
@ -180,24 +182,58 @@ public class MovieListFragment extends Fragment
searchView.setQueryHint(getString(R.string.action_search_movies));
// Setup filters
MenuItem hideWatched = menu.findItem(R.id.action_hide_watched);
Settings settings = Settings.getInstance(getActivity());
hideWatched.setChecked(settings.moviesFilterHideWatched);
MenuItem hideWatched = menu.findItem(R.id.action_hide_watched),
ignoreArticles = menu.findItem(R.id.action_ignore_prefixes),
sortByName = menu.findItem(R.id.action_sort_by_name),
sortByDateAdded = menu.findItem(R.id.action_sort_by_date_added);
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(getActivity());
hideWatched.setChecked(preferences.getBoolean(Settings.KEY_PREF_MOVIES_FILTER_HIDE_WATCHED, Settings.DEFAULT_PREF_MOVIES_FILTER_HIDE_WATCHED));
ignoreArticles.setChecked(preferences.getBoolean(Settings.KEY_PREF_MOVIES_IGNORE_PREFIXES, Settings.DEFAULT_PREF_MOVIES_IGNORE_PREFIXES));
int sortOrder = preferences.getInt(Settings.KEY_PREF_MOVIES_SORT_ORDER, Settings.DEFAULT_PREF_MOVIES_SORT_ORDER);
switch (sortOrder) {
case Settings.SORT_BY_DATE_ADDED:
sortByDateAdded.setChecked(true);
break;
default:
sortByName.setChecked(true);
break;
}
super.onCreateOptionsMenu(menu, inflater);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(getActivity());
switch (item.getItemId()) {
case R.id.action_hide_watched:
if (item.isChecked())
item.setChecked(false);
else
item.setChecked(true);
Settings settings = Settings.getInstance(getActivity());
settings.moviesFilterHideWatched = item.isChecked();
settings.save();
item.setChecked(!item.isChecked());
preferences.edit()
.putBoolean(Settings.KEY_PREF_MOVIES_FILTER_HIDE_WATCHED, item.isChecked())
.apply();
getLoaderManager().restartLoader(LOADER_MOVIES, null, this);
break;
case R.id.action_ignore_prefixes:
item.setChecked(!item.isChecked());
preferences.edit()
.putBoolean(Settings.KEY_PREF_MOVIES_IGNORE_PREFIXES, item.isChecked())
.apply();
getLoaderManager().restartLoader(LOADER_MOVIES, null, this);
break;
case R.id.action_sort_by_name:
item.setChecked(true);
preferences.edit()
.putInt(Settings.KEY_PREF_MOVIES_SORT_ORDER, Settings.SORT_BY_NAME)
.apply();
getLoaderManager().restartLoader(LOADER_MOVIES, null, this);
break;
case R.id.action_sort_by_date_added:
item.setChecked(true);
preferences.edit()
.putInt(Settings.KEY_PREF_MOVIES_SORT_ORDER, Settings.SORT_BY_DATE_ADDED)
.apply();
getLoaderManager().restartLoader(LOADER_MOVIES, null, this);
break;
default:
@ -294,16 +330,29 @@ public class MovieListFragment extends Fragment
selectionArgs = new String[] {"%" + searchFilter + "%"};
}
Settings settings = Settings.getInstance(getActivity());
if (settings.moviesFilterHideWatched) {
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(getActivity());
if (preferences.getBoolean(Settings.KEY_PREF_MOVIES_FILTER_HIDE_WATCHED, Settings.DEFAULT_PREF_MOVIES_FILTER_HIDE_WATCHED)) {
if (selection.length() != 0)
selection.append(" AND ");
selection.append(MediaContract.MoviesColumns.PLAYCOUNT)
.append("=0");
}
String sortOrderStr;
int sortOrder = preferences.getInt(Settings.KEY_PREF_MOVIES_SORT_ORDER, Settings.DEFAULT_PREF_MOVIES_SORT_ORDER);
if (sortOrder == Settings.SORT_BY_DATE_ADDED) {
sortOrderStr = MovieListQuery.SORT_BY_DATE_ADDED;
} else {
// Sort by name
if (preferences.getBoolean(Settings.KEY_PREF_MOVIES_IGNORE_PREFIXES, Settings.DEFAULT_PREF_MOVIES_IGNORE_PREFIXES)) {
sortOrderStr = MovieListQuery.SORT_BY_NAME_IGNORE_ARTICLES;
} else {
sortOrderStr = MovieListQuery.SORT_BY_NAME;
}
}
return new CursorLoader(getActivity(), uri,
MovieListQuery.PROJECTION, selection.toString(), selectionArgs, MovieListQuery.SORT);
MovieListQuery.PROJECTION, selection.toString(), selectionArgs, sortOrderStr);
}
/** {@inheritDoc} */
@ -336,7 +385,9 @@ public class MovieListFragment extends Fragment
MediaContract.Movies.TAGLINE,
};
String SORT = MediaDatabase.sortCommonTokens(MediaContract.Movies.TITLE) + " ASC";
String SORT_BY_NAME = MediaContract.Movies.TITLE + " ASC";
String SORT_BY_DATE_ADDED = MediaContract.Movies.DATEADDED + " DESC";
String SORT_BY_NAME_IGNORE_ARTICLES = MediaDatabase.sortCommonTokens(MediaContract.Movies.TITLE) + " ASC";
final int ID = 0;
final int MOVIEID = 1;

View File

@ -296,7 +296,7 @@ public class TVShowEpisodeDetailsFragment extends Fragment
// case LOADER_CAST:
// uri = MediaContract.MovieCast.buildMovieCastListUri(hostInfo.getId(), episodeId);
// return new CursorLoader(getActivity(), uri,
// MovieCastListQuery.PROJECTION, null, null, MovieCastListQuery.SORT);
// MovieCastListQuery.PROJECTION, null, null, MovieCastListQuery.SORT_BY_NAME_IGNORE_ARTICLES);
default:
return null;
}
@ -645,7 +645,7 @@ public class TVShowEpisodeDetailsFragment extends Fragment
// MediaContract.MovieCast.THUMBNAIL,
// };
//
// String SORT = MediaContract.MovieCast.ORDER + " ASC";
// String SORT_BY_NAME_IGNORE_ARTICLES = MediaContract.MovieCast.ORDER + " ASC";
//
// final int ID = 0;
// final int NAME = 1;

View File

@ -18,11 +18,13 @@ package com.syncedsynapse.kore2.ui;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.res.Resources;
import android.content.res.TypedArray;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.provider.BaseColumns;
import android.support.v4.app.Fragment;
import android.support.v4.app.LoaderManager;
@ -193,9 +195,9 @@ public class TVShowEpisodeListFragment extends Fragment
inflater.inflate(R.menu.tvshow_episode_list, menu);
// Setup filters
Settings settings = Settings.getInstance(getActivity());
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(getActivity());
menu.findItem(R.id.action_hide_watched)
.setChecked(settings.tvshowEpisodesFilterHideWatched);
.setChecked(preferences.getBoolean(Settings.KEY_PREF_TVSHOW_EPISODES_FILTER_HIDE_WATCHED, Settings.DEFAULT_PREF_TVSHOW_EPISODES_FILTER_HIDE_WATCHED));
super.onCreateOptionsMenu(menu, inflater);
}
@ -204,13 +206,11 @@ public class TVShowEpisodeListFragment extends Fragment
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.action_hide_watched:
if (item.isChecked())
item.setChecked(false);
else
item.setChecked(true);
Settings settings = Settings.getInstance(getActivity());
settings.tvshowEpisodesFilterHideWatched = item.isChecked();
settings.save();
item.setChecked(!item.isChecked());
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(getActivity());
preferences.edit()
.putBoolean(Settings.KEY_PREF_TVSHOW_EPISODES_FILTER_HIDE_WATCHED, item.isChecked())
.apply();
getLoaderManager().restartLoader(LOADER_SEASONS, null, this);
break;
default:
@ -288,14 +288,16 @@ public class TVShowEpisodeListFragment extends Fragment
Uri uri;
StringBuilder selection = new StringBuilder();
Settings settings = Settings.getInstance(getActivity());
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(getActivity());
boolean tvshowEpisodesFilterHideWatched =
preferences.getBoolean(Settings.KEY_PREF_TVSHOW_EPISODES_FILTER_HIDE_WATCHED, Settings.DEFAULT_PREF_TVSHOW_EPISODES_FILTER_HIDE_WATCHED);
switch (id) {
case LOADER_SEASONS:
// Load seasons
uri = MediaContract.Seasons.buildTVShowSeasonsListUri(hostInfo.getId(), tvshowId);
// Filters
if (settings.tvshowEpisodesFilterHideWatched) {
if (tvshowEpisodesFilterHideWatched) {
selection.append(MediaContract.SeasonsColumns.WATCHEDEPISODES)
.append("!=")
.append(MediaContract.SeasonsColumns.EPISODE);
@ -309,7 +311,7 @@ public class TVShowEpisodeListFragment extends Fragment
uri = MediaContract.Episodes.buildTVShowSeasonEpisodesListUri(hostInfo.getId(), tvshowId, season);
// Filters
if (settings.tvshowEpisodesFilterHideWatched) {
if (tvshowEpisodesFilterHideWatched) {
selection.append(MediaContract.EpisodesColumns.PLAYCOUNT)
.append("=0");
}

View File

@ -18,10 +18,12 @@ package com.syncedsynapse.kore2.ui;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.res.Resources;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.provider.BaseColumns;
import android.support.v4.app.Fragment;
import android.support.v4.app.LoaderManager;
@ -177,24 +179,58 @@ public class TVShowListFragment extends Fragment
searchView.setQueryHint(getString(R.string.action_search_tvshows));
// Setup filters
MenuItem hideWatched = menu.findItem(R.id.action_hide_watched);
Settings settings = Settings.getInstance(getActivity());
hideWatched.setChecked(settings.tvshowsFilterHideWatched);
MenuItem hideWatched = menu.findItem(R.id.action_hide_watched),
ignoreArticles = menu.findItem(R.id.action_ignore_prefixes),
sortByName = menu.findItem(R.id.action_sort_by_name),
sortByDateAdded = menu.findItem(R.id.action_sort_by_date_added);
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(getActivity());
hideWatched.setChecked(preferences.getBoolean(Settings.KEY_PREF_TVSHOWS_FILTER_HIDE_WATCHED, Settings.DEFAULT_PREF_TVSHOWS_FILTER_HIDE_WATCHED));
ignoreArticles.setChecked(preferences.getBoolean(Settings.KEY_PREF_TVSHOWS_IGNORE_PREFIXES, Settings.DEFAULT_PREF_TVSHOWS_IGNORE_PREFIXES));
int sortOrder = preferences.getInt(Settings.KEY_PREF_TVSHOWS_SORT_ORDER, Settings.DEFAULT_PREF_TVSHOWS_SORT_ORDER);
switch (sortOrder) {
case Settings.SORT_BY_DATE_ADDED:
sortByDateAdded.setChecked(true);
break;
default:
sortByName.setChecked(true);
break;
}
super.onCreateOptionsMenu(menu, inflater);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(getActivity());
switch (item.getItemId()) {
case R.id.action_hide_watched:
if (item.isChecked())
item.setChecked(false);
else
item.setChecked(true);
Settings settings = Settings.getInstance(getActivity());
settings.tvshowsFilterHideWatched = item.isChecked();
settings.save();
item.setChecked(!item.isChecked());
preferences.edit()
.putBoolean(Settings.KEY_PREF_TVSHOWS_FILTER_HIDE_WATCHED, item.isChecked())
.apply();
getLoaderManager().restartLoader(LOADER_TVSHOWS, null, this);
break;
case R.id.action_ignore_prefixes:
item.setChecked(!item.isChecked());
preferences.edit()
.putBoolean(Settings.KEY_PREF_TVSHOWS_IGNORE_PREFIXES, item.isChecked())
.apply();
getLoaderManager().restartLoader(LOADER_TVSHOWS, null, this);
break;
case R.id.action_sort_by_name:
item.setChecked(true);
preferences.edit()
.putInt(Settings.KEY_PREF_TVSHOWS_SORT_ORDER, Settings.SORT_BY_NAME)
.apply();
getLoaderManager().restartLoader(LOADER_TVSHOWS, null, this);
break;
case R.id.action_sort_by_date_added:
item.setChecked(true);
preferences.edit()
.putInt(Settings.KEY_PREF_TVSHOWS_SORT_ORDER, Settings.SORT_BY_DATE_ADDED)
.apply();
getLoaderManager().restartLoader(LOADER_TVSHOWS, null, this);
break;
default:
@ -288,8 +324,8 @@ public class TVShowListFragment extends Fragment
}
// Filters
Settings settings = Settings.getInstance(getActivity());
if (settings.tvshowsFilterHideWatched) {
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(getActivity());
if (preferences.getBoolean(Settings.KEY_PREF_TVSHOWS_FILTER_HIDE_WATCHED, Settings.DEFAULT_PREF_TVSHOWS_FILTER_HIDE_WATCHED)) {
if (selection.length() != 0)
selection.append(" AND ");
selection.append(MediaContract.TVShowsColumns.WATCHEDEPISODES)
@ -297,9 +333,23 @@ public class TVShowListFragment extends Fragment
.append(MediaContract.TVShowsColumns.EPISODE);
}
String sortOrderStr;
int sortOrder = preferences.getInt(Settings.KEY_PREF_TVSHOWS_SORT_ORDER, Settings.DEFAULT_PREF_TVSHOWS_SORT_ORDER);
if (sortOrder == Settings.SORT_BY_DATE_ADDED) {
sortOrderStr = TVShowListQuery.SORT_BY_DATE_ADDED;
} else {
// Sort by name
if (preferences.getBoolean(Settings.KEY_PREF_TVSHOWS_IGNORE_PREFIXES, Settings.DEFAULT_PREF_TVSHOWS_IGNORE_PREFIXES)) {
sortOrderStr = TVShowListQuery.SORT_BY_NAME_IGNORE_ARTICLES;
} else {
sortOrderStr = TVShowListQuery.SORT_BY_NAME;
}
}
return new CursorLoader(getActivity(), uri,
TVShowListQuery.PROJECTION, selection.toString(),
selectionArgs, TVShowListQuery.SORT);
selectionArgs, sortOrderStr);
}
/** {@inheritDoc} */
@ -330,7 +380,9 @@ public class TVShowListFragment extends Fragment
MediaContract.TVShows.WATCHEDEPISODES,
};
String SORT = MediaDatabase.sortCommonTokens(MediaContract.TVShows.TITLE) + " ASC";
String SORT_BY_NAME = MediaContract.TVShows.TITLE + " ASC";
String SORT_BY_DATE_ADDED = MediaContract.TVShows.DATEADDED + " DESC";
String SORT_BY_NAME_IGNORE_ARTICLES = MediaDatabase.sortCommonTokens(MediaContract.TVShows.TITLE) + " ASC";
final int ID = 0;
final int TVSHOWID = 1;

View File

@ -105,26 +105,32 @@ public class HostListFragment extends Fragment {
public void onItemClick(AdapterView<?> parent, View view, int position, long itemId) {
HostInfoRow clickedHostRow = hostInfoRows.get(position);
switch (clickedHostRow.status) {
case HostInfoRow.HOST_STATUS_CONNECTING:
// Jsut switch the host
hostManager.switchHost(clickedHostRow.hostInfo);
break;
case HostInfoRow.HOST_STATUS_AVAILABLE:
// Set the clicked host active
hostManager.switchHost(clickedHostRow.hostInfo);
Intent intent = new Intent(context, RemoteActivity.class)
.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
context.startActivity(intent);
break;
case HostInfoRow.HOST_STATUS_UNAVAILABLE:
hostManager.switchHost(clickedHostRow.hostInfo);
// Check host status again
clickedHostRow.status = HostInfoRow.HOST_STATUS_CONNECTING;
adapter.notifyDataSetChanged();
updateHostStatus(clickedHostRow);
break;
}
// Set the clicked host active
hostManager.switchHost(clickedHostRow.hostInfo);
Intent intent = new Intent(context, RemoteActivity.class);
context.startActivity(intent);
// switch (clickedHostRow.status) {
// case HostInfoRow.HOST_STATUS_CONNECTING:
// // Jsut switch the host
// hostManager.switchHost(clickedHostRow.hostInfo);
// break;
// case HostInfoRow.HOST_STATUS_AVAILABLE:
// // Set the clicked host active
// hostManager.switchHost(clickedHostRow.hostInfo);
// Intent intent = new Intent(context, RemoteActivity.class)
// .addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
// context.startActivity(intent);
// break;
// case HostInfoRow.HOST_STATUS_UNAVAILABLE:
// hostManager.switchHost(clickedHostRow.hostInfo);
// // Check host status again
// clickedHostRow.status = HostInfoRow.HOST_STATUS_CONNECTING;
// adapter.notifyDataSetChanged();
// updateHostStatus(clickedHostRow);
// break;
// }
}
});

View File

@ -17,7 +17,6 @@ package com.syncedsynapse.kore2.utils;
import android.animation.Animator;
import android.annotation.TargetApi;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.content.res.Resources;
@ -223,7 +222,7 @@ public class UIUtils {
int imageHeight = (int)(imageWidth * 1.2);
List<VideoType.Cast> noPicturesCastList = new ArrayList<VideoType.Cast>();
int maxCastPictures = Settings.getInstance(context).maxCastPictures;
int maxCastPictures = Settings.DEFAULT_MAX_CAST_PICTURES;
int currentPictureNumber = 0;
for (int i = 0; i < castList.size(); i++) {
VideoType.Cast actor = castList.get(i);

View File

@ -24,8 +24,32 @@
android:queryHint="@string/action_search"
app:showAsAction="ifRoom|collapseActionView"
app:actionViewClass="android.support.v7.widget.SearchView"/>
<item
android:title="@string/sort_order"
app:showAsAction="never">
<menu>
<group
android:checkableBehavior="single">
<item
android:id="@+id/action_sort_by_name"
android:title="@string/sort_by_name"
app:showAsAction="never"/>
<item
android:id="@+id/action_sort_by_date_added"
android:title="@string/sort_by_date_added"
app:showAsAction="never"/>
</group>
<group
android:checkableBehavior="all">
<item
android:id="@+id/action_ignore_prefixes"
android:title="@string/ignore_prefixes"
app:showAsAction="never"/>
</group>
</menu>
</item>
<group
android:id="@+id/group_filter"
android:checkableBehavior="all">
<item
android:id="@+id/action_hide_watched"

View File

@ -22,6 +22,30 @@
android:queryHint="@string/action_search"
app:showAsAction="ifRoom|collapseActionView"
app:actionViewClass="android.support.v7.widget.SearchView"/>
<item
android:title="@string/sort_order"
app:showAsAction="never">
<menu>
<group
android:checkableBehavior="single">
<item
android:id="@+id/action_sort_by_name"
android:title="@string/sort_by_name"
app:showAsAction="never"/>
<item
android:id="@+id/action_sort_by_date_added"
android:title="@string/sort_by_date_added"
app:showAsAction="never"/>
</group>
<group
android:checkableBehavior="all">
<item
android:id="@+id/action_ignore_prefixes"
android:title="@string/ignore_prefixes"
app:showAsAction="never"/>
</group>
</menu>
</item>
<group android:id="@+id/group_filter"
android:checkableBehavior="all">
<item android:id="@+id/action_hide_watched"

View File

@ -256,6 +256,10 @@
<!-- Filters on list menus -->
<string name="hide_watched">Hide watched</string>
<string name="sort_order">Sort</string>
<string name="sort_by_name">By name</string>
<string name="sort_by_date_added">By date added</string>
<string name="ignore_prefixes">Ignore prefixes</string>
<!-- Preferences strings -->
<string name="theme">Theme</string>