diff --git a/src/main/java/org/amahi/anywhere/tv/fragment/ConnectionFragment.java b/src/main/java/org/amahi/anywhere/tv/fragment/ConnectionFragment.java index a08b2145f..db8942bb0 100644 --- a/src/main/java/org/amahi/anywhere/tv/fragment/ConnectionFragment.java +++ b/src/main/java/org/amahi/anywhere/tv/fragment/ConnectionFragment.java @@ -87,7 +87,6 @@ public void onCreateActions(@NonNull List actions, Bundle savedIns setCheckedActionButtons(actions); - setBackButton(actions); } private void setTitle(List actions) { @@ -165,18 +164,6 @@ private void addCheckedAction(List actions, int iconResId, Context actions.add(guidedAction); } - private void setBackButton(List actions) { - addAction(actions, ACTION_BACK, getString(R.string.pref_option_go_back), ""); - } - - private void addAction(List actions, long id, String title, String desc) { - actions.add(new GuidedAction.Builder(mContext) - .id(id) - .title(title) - .description(desc) - .build()); - } - @Override public void onGuidedActionClicked(GuidedAction action) { @@ -192,11 +179,14 @@ public void onGuidedActionClicked(GuidedAction action) { if (OPTION_NAMES.get(getSelectedActionPosition() - 1).matches(getString(R.string.preference_entry_server_connection_local))) { Preferences.setPrefLocal(preference, mContext); } - } else { - if (initialSelected.matches(Preferences.getServerConnection(preference, mContext))) - getActivity().finish(); - else - startActivity(new Intent(getActivity(), NavigationActivity.class)); + keepCheck(); } } + + private void keepCheck() { + if (initialSelected.matches(Preferences.getServerConnection(preference, mContext))) + getActivity().finish(); + else + startActivity(new Intent(getActivity(), NavigationActivity.class)); + } } diff --git a/src/main/java/org/amahi/anywhere/tv/fragment/MainTVFragment.java b/src/main/java/org/amahi/anywhere/tv/fragment/MainTVFragment.java index a3c27a49f..90bb252ef 100644 --- a/src/main/java/org/amahi/anywhere/tv/fragment/MainTVFragment.java +++ b/src/main/java/org/amahi/anywhere/tv/fragment/MainTVFragment.java @@ -161,12 +161,14 @@ public void onFilesLoaded(ServerFilesLoadedEvent event) { } } } + if (listRow != null) { int index1 = mRowsAdapter.indexOf(listRow); int index2 = mRowsAdapter.indexOf(settingsRow); mRowsAdapter.replace(index1, settingsRow); mRowsAdapter.replace(index2, listRow); } + sortHeaders(); setAdapter(mRowsAdapter); } @@ -185,6 +187,21 @@ private void addSettings(ArrayObjectAdapter adapter) { adapter.add(0, settingsRow); } + private void sortHeaders(){ + for(int i=0;i sortFiles(List files) { List sortedFiles = new ArrayList(files); diff --git a/src/main/java/org/amahi/anywhere/tv/fragment/ServerSelectFragment.java b/src/main/java/org/amahi/anywhere/tv/fragment/ServerSelectFragment.java index 41a39ab10..dc02165b6 100644 --- a/src/main/java/org/amahi/anywhere/tv/fragment/ServerSelectFragment.java +++ b/src/main/java/org/amahi/anywhere/tv/fragment/ServerSelectFragment.java @@ -30,6 +30,7 @@ import android.support.v17.leanback.widget.GuidanceStylist; import android.support.v17.leanback.widget.GuidedAction; import android.support.v4.content.ContextCompat; +import android.widget.Toast; import org.amahi.anywhere.R; import org.amahi.anywhere.activity.NavigationActivity; @@ -42,7 +43,7 @@ public class ServerSelectFragment extends GuidedStepFragment { private static final int OPTION_CHECK_SET_ID = 10; - private static final int ACTION_BACK = 0; + private int indexSelected = 0; private Context mContext; private ArrayList mServerArrayList; private ArrayList OPTION_NAMES = new ArrayList<>(); @@ -84,7 +85,6 @@ public void onCreateActions(@NonNull List actions, Bundle savedIns if (serverName == null) { setDefaultChecked(); } else { - int indexSelected = 0; for (int i = 0; i < mServerArrayList.size(); i++) { if (serverName.matches(mServerArrayList.get(i).getName())) { indexSelected = i; @@ -96,7 +96,6 @@ public void onCreateActions(@NonNull List actions, Bundle savedIns } setCheckedActionButtons(actions); - setBackButton(actions); } private void setTitle(List actions) { @@ -179,25 +178,16 @@ private void addCheckedAction(List actions, int iconResId, Context actions.add(guidedAction); } - private void setBackButton(List actions) { - addAction(actions, ACTION_BACK, getString(R.string.pref_option_go_back), ""); - } - - private void addAction(List actions, long id, String title, String desc) { - actions.add(new GuidedAction.Builder(mContext) - .id(id) - .title(title) - .description(desc) - .build()); - } - @Override public void onGuidedActionClicked(GuidedAction action) { if (getSelectedActionPosition() <= mServerArrayList.size()) { String server = mServerArrayList.get(getSelectedActionPosition() - 1).getName(); - Preferences.setServertoPref(server, mContext, mSharedPref); - } else { - startActivity(new Intent(mContext, NavigationActivity.class)); + if (indexSelected == (getSelectedActionPosition() - 1)) + getActivity().finish(); + else { + Preferences.setServertoPref(server, mContext, mSharedPref); + startActivity(new Intent(mContext, NavigationActivity.class)); + } } } }