From 9eb4baa6f7b65cd947bbaf25a5ab4a6b4cd3eff6 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Wed, 10 Jun 2015 12:55:41 +0300 Subject: fix actionbar back button syncclient: report server errors --- .../java/org/fox/ttcomics2/ComicListFragment.java | 8 ++++++- .../main/java/org/fox/ttcomics2/MainActivity.java | 4 +--- .../main/java/org/fox/ttcomics2/SyncClient.java | 8 ++++--- .../java/org/fox/ttcomics2/ViewComicActivity.java | 27 +++++++++++----------- 4 files changed, 27 insertions(+), 20 deletions(-) (limited to 'org.fox.ttcomics') diff --git a/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/ComicListFragment.java b/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/ComicListFragment.java index 9644d11..112e66a 100644 --- a/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/ComicListFragment.java +++ b/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/ComicListFragment.java @@ -523,7 +523,13 @@ public class ComicListFragment extends Fragment implements OnItemClickListener { updateWithoutRescan(); } - m_activity.setTitle(comicsDir.equals(m_baseDirectory) ? getString(R.string.app_name) : new File(m_baseDirectory).getName()); + if (comicsDir.equals(m_baseDirectory)) { + m_activity.setTitle(R.string.app_name); + m_activity.getSupportActionBar().setDisplayHomeAsUpEnabled(false); + } else { + m_activity.setTitle(new File(m_baseDirectory).getName()); + m_activity.getSupportActionBar().setDisplayHomeAsUpEnabled(true); + } } public void onItemClick(AdapterView av, View view, int position, long id) { diff --git a/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/MainActivity.java b/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/MainActivity.java index d2ea6fc..cc58b6f 100644 --- a/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/MainActivity.java +++ b/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/MainActivity.java @@ -156,9 +156,7 @@ public class MainActivity extends CommonActivity implements MaterialTabListener public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: - //if (m_baseDirectory.length() > 0) { - finish(); - //} + onBackPressed(); return true; default: Log.d(TAG, diff --git a/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/SyncClient.java b/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/SyncClient.java index 7d4c64a..174ccc9 100644 --- a/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/SyncClient.java +++ b/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/SyncClient.java @@ -1,13 +1,13 @@ package org.fox.ttcomics2; +import android.os.AsyncTask; +import android.util.Log; + import java.io.InputStreamReader; import java.io.OutputStream; import java.net.HttpURLConnection; import java.net.URL; -import android.os.AsyncTask; -import android.util.Log; - public class SyncClient { public interface PositionReceivedListener { void onPositionReceived(int position); @@ -114,6 +114,8 @@ public class SyncClient { } catch (NumberFormatException e) { e.printStackTrace(); } + } else { + listener.onPositionReceived(-1); } } }; diff --git a/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/ViewComicActivity.java b/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/ViewComicActivity.java index a40cf30..bc70043 100644 --- a/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/ViewComicActivity.java +++ b/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/ViewComicActivity.java @@ -208,21 +208,22 @@ public class ViewComicActivity extends CommonActivity { if (position > localPosition) { AlertDialog.Builder builder = new AlertDialog.Builder(ViewComicActivity.this); - builder.setMessage(getString(R.string.sync_server_has_further_page, localPosition+1, position+1)) - .setCancelable(true) - .setPositiveButton(R.string.dialog_open_page, new DialogInterface.OnClickListener() { - public void onClick(DialogInterface dialog, int id) { - pager.setCurrentItem(position); - } - }) - .setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() { - public void onClick(DialogInterface dialog, int id) { - dialog.cancel(); - } - }); + builder.setMessage(getString(R.string.sync_server_has_further_page, localPosition + 1, position + 1)) + .setCancelable(true) + .setPositiveButton(R.string.dialog_open_page, new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int id) { + pager.setCurrentItem(position); + } + }) + .setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int id) { + dialog.cancel(); + } + }); AlertDialog alert = builder.create(); alert.show(); - + } else if (position == -1) { + toast("Could not contact sync server."); } else { toast(R.string.error_sync_no_data); } -- cgit v1.2.3