aboutsummaryrefslogtreecommitdiffstats
path: root/app/src/main/java/net/lacolaco/smileessence/view/adapter/PageListAdapter.java
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java/net/lacolaco/smileessence/view/adapter/PageListAdapter.java')
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/view/adapter/PageListAdapter.java140
1 files changed, 0 insertions, 140 deletions
diff --git a/app/src/main/java/net/lacolaco/smileessence/view/adapter/PageListAdapter.java b/app/src/main/java/net/lacolaco/smileessence/view/adapter/PageListAdapter.java
deleted file mode 100644
index 76e72093..00000000
--- a/app/src/main/java/net/lacolaco/smileessence/view/adapter/PageListAdapter.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*
- * The MIT License (MIT)
- *
- * Copyright (c) 2012-2014 lacolaco.net
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package net.lacolaco.smileessence.view.adapter;
-
-import android.os.Bundle;
-import android.support.v13.app.FragmentPagerAdapter;
-import net.lacolaco.smileessence.activity.MainActivity;
-import net.lacolaco.smileessence.logging.Logger;
-import net.lacolaco.smileessence.view.page.PageFragment;
-
-import java.lang.ref.WeakReference;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-public class PageListAdapter extends FragmentPagerAdapter {
-
- // ------------------------------ FIELDS ------------------------------
-
- private final List<PageInfo> pages = new ArrayList<>();
- private final Map<Integer, WeakReference<PageFragment>> fragmentCache = new HashMap<>();
-
- // --------------------------- FragmentPagerAdapter ---------------------------
-
- public PageListAdapter(MainActivity _activity) {
- super(_activity.getFragmentManager());
- }
-
- @Override
- public synchronized PageFragment getItem(int position) {
- PageFragment pf;
- PageInfo info = pages.get(position);
- try {
- pf = info.getFragmentClass().newInstance();
- } catch (Exception e) {
- Logger.error("should not happen: fragmentClass is private or Android is broken?");
- e.printStackTrace();
- throw new RuntimeException(e);
- }
- pf.setArguments(info.getArgs());
- fragmentCache.put(position, new WeakReference<>(pf));
- return pf;
- }
-
- public synchronized PageFragment getCachedFragment(int pos) {
- WeakReference<PageFragment> wpf = fragmentCache.get(pos);
- if (wpf == null) {
- return null;
- } else {
- return wpf.get();
- }
- }
-
- @Override
- public synchronized int getCount() {
- return pages.size();
- }
-
- // ------------------------ INTERFACE METHODS ------------------------
-
- // -------------------------- OTHER METHODS --------------------------
-
- public void addPage(Class<? extends PageFragment> klass, String name, Bundle args) {
- this.addPage(klass, name, args, true);
- }
-
- public void addPage(Class<? extends PageFragment> klass, String name, Bundle args, boolean notifyChanged) {
- pages.add(new PageInfo(klass, name, args));
- if (notifyChanged) notifyDataSetChanged();
- }
-
- public synchronized boolean removePage(int position) {
- //if (removePageWithoutNotify(position)) {
- // refreshListNavigation();
- // return true;
- //}
- return pages.remove(position) != null; // TODO
- }
-
- public String getName(int pos) {
- return pages.get(pos).getName();
- }
-
- @Deprecated
- public int getIndex(Class<? extends PageFragment> fragmentClass) {
- for (int i = 0; i < pages.size(); ++i) {
- if (pages.get(i).getFragmentClass() == fragmentClass) {
- return i;
- }
- }
- return -1;
- }
-
- private static final class PageInfo {
- private final Class<? extends PageFragment> fragmentClass;
- private final Bundle args;
- private final String name;
-
- PageInfo(Class<? extends PageFragment> _fragmentClass, String _name, Bundle _args) {
- fragmentClass = _fragmentClass;
- name = _name;
- args = _args;
- }
-
- public Class<? extends PageFragment> getFragmentClass() {
- return fragmentClass;
- }
-
- public String getName() {
- return name;
- }
-
- public Bundle getArgs() {
- return args;
- }
- }
-}