diff --git a/.idea/misc.xml b/.idea/misc.xml index 7f3baebb..cc6616c1 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -94,7 +94,7 @@ - + diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 0f45df91..b41dd5c1 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -27,6 +27,11 @@ + + + + + parseQuery(true)); + } + if (inputQueries.length > 1){ + Toast.makeText(context, getString(R.string.finished_loading), Toast.LENGTH_SHORT).show(); + } + inputQueries = null; + } else { + initCards(); + } + return fragmentView; } @@ -361,7 +358,7 @@ public class HomeFragment extends Fragment implements HomeRecyclerViewAdapter.On downloadFabs.setVisibility(View.GONE); selectedObjects = new ArrayList<>(); inputQuery = query.trim(); - parseQuery(); + parseQuery(true); return true; } @@ -400,7 +397,11 @@ public class HomeFragment extends Fragment implements HomeRecyclerViewAdapter.On public void handleIntent(Intent intent) { - inputQuery = intent.getStringExtra(Intent.EXTRA_TEXT); + inputQueries = new String[]{intent.getStringExtra(Intent.EXTRA_TEXT)}; + } + + public void handleFileIntent(String[] lines) { + inputQueries = lines; } public void scrollToTop() { @@ -408,7 +409,7 @@ public class HomeFragment extends Fragment implements HomeRecyclerViewAdapter.On new Handler(Looper.getMainLooper()).post(() -> ((AppBarLayout) topAppBar.getParent()).setExpanded(true, true)); } - private void parseQuery() { + private void parseQuery(boolean resetResults) { shimmerCards.startShimmer(); shimmerCards.setVisibility(View.VISIBLE); homeRecyclerViewAdapter.clear(); @@ -444,11 +445,12 @@ public class HomeFragment extends Fragment implements HomeRecyclerViewAdapter.On @Override public void run() { try { - resultObjects = infoUtil.search(query); + if (resetResults) resultObjects.clear(); + resultObjects.addAll(infoUtil.search(query)); } catch (Exception e) { Log.e(TAG, e.toString()); } - dbManager.clearResults(); + if (resetResults) dbManager.clearResults(); dbManager.addToResults(resultObjects); dbManager.close(); new Handler(Looper.getMainLooper()).post(() -> { @@ -484,13 +486,13 @@ public class HomeFragment extends Fragment implements HomeRecyclerViewAdapter.On @Override public void run() { try { - resultObjects.clear(); + if (resetResults) resultObjects.clear(); resultObjects.add(infoUtil.getVideo(query)); } catch (Exception e) { Log.e(TAG, e.toString()); } - dbManager.clearResults(); + if (resetResults) dbManager.clearResults(); dbManager.addToResults(resultObjects); dbManager.close(); new Handler(Looper.getMainLooper()).post(() -> { @@ -516,10 +518,12 @@ public class HomeFragment extends Fragment implements HomeRecyclerViewAdapter.On public void run() { try { String nextPageToken = ""; - dbManager.clearResults(); + if (resetResults) dbManager.clearResults(); dbManager.close(); - resultObjects.clear(); - homeRecyclerViewAdapter.setVideoList(new ArrayList<>(), true); + if (resetResults){ + resultObjects.clear(); + homeRecyclerViewAdapter.setVideoList(new ArrayList<>(), true); + } do { InfoUtil.PlaylistTuple tmp = infoUtil.getPlaylist(query, nextPageToken); ArrayList