diff options
author | Andrew Dolgov <[email protected]> | 2015-06-11 10:37:06 +0300 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2015-06-11 10:37:06 +0300 |
commit | a581b70c483932bb6e33bfed44aba3cf43a5e643 (patch) | |
tree | 8328cdaa75c202719486eb0f87fd6ee4cc5843f2 /org.fox.ttcomics | |
parent | bc2cc1050941ec5bb6178a8bcb37b028bc339c54 (diff) |
switch back to activity-based folder browsing because of issues with fragments sometimes not restoring state when restored from the backstack
Diffstat (limited to 'org.fox.ttcomics')
-rw-r--r-- | org.fox.ttcomics/src/main/java/org/fox/ttcomics2/ComicListFragment.java | 16 | ||||
-rw-r--r-- | org.fox.ttcomics/src/main/java/org/fox/ttcomics2/MainActivity.java | 24 |
2 files changed, 24 insertions, 16 deletions
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 6e0baf9..f9a3ccc 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 @@ -63,6 +63,8 @@ public class ComicListFragment extends Fragment implements OnItemClickListener { } public void setBaseDirectory(String baseDirectory) { + Log.d(TAG, "setBaseDirectory=" + baseDirectory); + m_baseDirectory = baseDirectory; } @@ -244,10 +246,14 @@ public class ComicListFragment extends Fragment implements OnItemClickListener { public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_comics_grid, container, false); - + + Log.d(TAG, "onCreateView SIS=" + savedInstanceState); + if (savedInstanceState != null) { m_mode = savedInstanceState.getInt("mode"); m_baseDirectory = savedInstanceState.getString("baseDir"); + } else { + } m_swipeLayout = (SwipeRefreshLayout) view.findViewById(R.id.comics_swipe_container); @@ -438,18 +444,20 @@ public class ComicListFragment extends Fragment implements OnItemClickListener { public void onResume() { super.onResume(); + Log.d(TAG, "baseDir=" + m_baseDirectory); + if (m_activity.getMode() != m_mode) { m_mode = m_activity.getMode(); } - String comicsDir = m_prefs.getString("comics_directory", ""); - if (m_activity.m_databaseHelper.getCachedItemCount(m_baseDirectory) == 0) { rescan(false); } else { updateWithoutRescan(); } + String comicsDir = m_prefs.getString("comics_directory", ""); + if (comicsDir.equals(m_baseDirectory)) { m_activity.setTitle(R.string.app_name); m_activity.getSupportActionBar().setDisplayHomeAsUpEnabled(false); @@ -477,6 +485,8 @@ public class ComicListFragment extends Fragment implements OnItemClickListener { out.putInt("mode", m_mode); out.putString("baseDir", m_baseDirectory); + + Log.d(TAG, "onSaveInstanceState out=" + out); } } 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 d56c16f..023fd2d 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 @@ -79,13 +79,12 @@ public class MainActivity extends CommonActivity implements MaterialTabListener ComicListFragment frag = new ComicListFragment(); frag.setMode(m_selectedTab); - frag.setBaseDirectory(m_prefs.getString("comics_directory", "")); - /*if (getIntent().getStringExtra("baseDir") != null) { - m_baseDirectory = getIntent().getStringExtra("baseDir"); - frag.setBaseDirectory(m_baseDirectory); - frag.setMode(m_selectedTab); - } */ + if (getIntent().getStringExtra("baseDir") != null) { + frag.setBaseDirectory(getIntent().getStringExtra("baseDir")); + } else { + frag.setBaseDirectory(m_prefs.getString("comics_directory", "")); + } FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); ft.replace(R.id.comics_list, frag, FRAG_COMICS_LIST); @@ -251,15 +250,14 @@ public class MainActivity extends CommonActivity implements MaterialTabListener File file = new File(fileName); if (file.isDirectory()) { - FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); - ComicListFragment frag = new ComicListFragment(); - frag.setBaseDirectory(fileName); + Intent intent = new Intent(MainActivity.this, + MainActivity.class); + + intent.putExtra("baseDir", fileName); + + startActivity(intent); - ft.replace(R.id.comics_list, frag, FRAG_COMICS_LIST); - ft.addToBackStack(null); - ft.commit(); - } else if (file.canRead()) { Intent intent = new Intent(MainActivity.this, ViewComicActivity.class); |