<NME> PocketQueryListActivity.java
<BEF> package cgeo.geocaching.connector.gc;

import cgeo.geocaching.R;
import cgeo.geocaching.activity.AbstractActionBarActivity;
import cgeo.geocaching.activity.ActivityMixin;
import java.util.List;
import cgeo.geocaching.ui.recyclerview.RecyclerViewProvider;
import cgeo.geocaching.utils.AndroidRxUtils;

import android.app.ProgressDialog;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.v7.widget.RecyclerView;
    @Override
    protected boolean getFiltersetting() {
        return Settings.getPqShowDownloadableOnly();
    }

    @Override
    protected void setFiltersetting(final boolean value) {
        Settings.setPqShowDownloadableOnly(value);

    @NonNull private final List<PocketQuery> pocketQueries = new ArrayList<>();

    @Override
    public void onCreate(final Bundle savedInstanceState) {
        super.onCreate(savedInstanceState, R.layout.pocketquery_activity);

        final PocketQueryListAdapter adapter = new PocketQueryListAdapter(pocketQueries);
        final RecyclerView view = RecyclerViewProvider.provideRecyclerView(this, R.id.pocketquery_list, true, true);
        view.setAdapter(adapter);

            @Override
            public void accept(final List<PocketQuery> pocketQueryList) {
                waitDialog.dismiss();
                if (CollectionUtils.isEmpty(pocketQueryList)) {
                    ActivityMixin.showToast(PocketQueryListActivity.this, getString(R.string.warn_no_pocket_query_found));
                    finish();
                }
                pocketQueries.addAll(pocketQueryList);
                adapter.notifyItemRangeInserted(0, pocketQueryList.size());
            }
        }, new Consumer<Throwable>() {
        });
    }

}

<MSG> fix #6658 add pq import in cachelist menu

<DFF> @@ -1,5 +1,6 @@
 package cgeo.geocaching.connector.gc;
 
+import cgeo.geocaching.Intents;
 import cgeo.geocaching.R;
 import cgeo.geocaching.activity.AbstractActionBarActivity;
 import cgeo.geocaching.activity.ActivityMixin;
@@ -7,7 +8,9 @@ import cgeo.geocaching.models.PocketQuery;
 import cgeo.geocaching.ui.recyclerview.RecyclerViewProvider;
 import cgeo.geocaching.utils.AndroidRxUtils;
 
+import android.app.Activity;
 import android.app.ProgressDialog;
+import android.content.Intent;
 import android.os.Bundle;
 import android.support.annotation.NonNull;
 import android.support.v7.widget.RecyclerView;
@@ -22,11 +25,18 @@ public class PocketQueryListActivity extends AbstractActionBarActivity {
 
     @NonNull private final List<PocketQuery> pocketQueries = new ArrayList<>();
 
+    private boolean onlyDownloadable = false;
+
     @Override
     public void onCreate(final Bundle savedInstanceState) {
         super.onCreate(savedInstanceState, R.layout.pocketquery_activity);
 
-        final PocketQueryListAdapter adapter = new PocketQueryListAdapter(pocketQueries);
+        final Bundle extras = getIntent().getExtras();
+        if (extras != null) {
+            onlyDownloadable = extras.getBoolean(Intents.EXTRA_PQ_LIST_IMPORT);
+        }
+
+        final PocketQueryListAdapter adapter = new PocketQueryListAdapter(this);
         final RecyclerView view = RecyclerViewProvider.provideRecyclerView(this, R.id.pocketquery_list, true, true);
         view.setAdapter(adapter);
 
@@ -40,11 +50,21 @@ public class PocketQueryListActivity extends AbstractActionBarActivity {
             @Override
             public void accept(final List<PocketQuery> pocketQueryList) {
                 waitDialog.dismiss();
+                if (onlyDownloadable) {
+                    for (final PocketQuery pq : pocketQueryList) {
+                        if (pq.isDownloadable()) {
+                            pocketQueries.add(pq);
+                        }
+                    }
+                } else {
+                    pocketQueries.addAll(pocketQueryList);
+                }
+
                 if (CollectionUtils.isEmpty(pocketQueryList)) {
                     ActivityMixin.showToast(PocketQueryListActivity.this, getString(R.string.warn_no_pocket_query_found));
                     finish();
                 }
-                pocketQueries.addAll(pocketQueryList);
+
                 adapter.notifyItemRangeInserted(0, pocketQueryList.size());
             }
         }, new Consumer<Throwable>() {
@@ -56,4 +76,24 @@ public class PocketQueryListActivity extends AbstractActionBarActivity {
         });
     }
 
+    public static void startSubActivity(final Activity fromActivity, final int requestCode) {
+        final Intent intent = new Intent(fromActivity, PocketQueryListActivity.class);
+        intent.putExtra(Intents.EXTRA_PQ_LIST_IMPORT, true);
+        fromActivity.startActivityForResult(intent, requestCode);
+    }
+
+    public List<PocketQuery> getQueries() {
+        return pocketQueries;
+    }
+
+    public boolean onlyDownloadable() {
+        return onlyDownloadable;
+    }
+
+    public void returnResult(final PocketQuery pocketQuery) {
+        setResult(RESULT_OK, new Intent()
+                .setDataAndType(pocketQuery.getUri(), "application/zip"));
+        finish();
+    }
+
 }

fix #6658 add pq import in cachelist menu