From 5e7d9bc4dcd40f245de2c68b4a6837f3443ac43a Mon Sep 17 00:00:00 2001 From: akaessens <24660231+akaessens@users.noreply.github.com> Date: Sat, 26 Sep 2020 22:55:39 +0200 Subject: [PATCH] fix oncreate scraping multiple events with same intent --- .../com/akdev/nofbeventscraper/FbScraper.java | 2 -- .../akdev/nofbeventscraper/MainActivity.java | 26 ++++++++++++------- 2 files changed, 16 insertions(+), 12 deletions(-) diff --git a/app/src/main/java/com/akdev/nofbeventscraper/FbScraper.java b/app/src/main/java/com/akdev/nofbeventscraper/FbScraper.java index ac487ea..f05b67b 100644 --- a/app/src/main/java/com/akdev/nofbeventscraper/FbScraper.java +++ b/app/src/main/java/com/akdev/nofbeventscraper/FbScraper.java @@ -36,8 +36,6 @@ public class FbScraper { this.input_url = input_url; this.events = createEventList(); this.tasks = new ArrayList<>(); - - run(); } protected String getPageUrl(String url) throws URISyntaxException, MalformedURLException { diff --git a/app/src/main/java/com/akdev/nofbeventscraper/MainActivity.java b/app/src/main/java/com/akdev/nofbeventscraper/MainActivity.java index 09448c6..cc48272 100644 --- a/app/src/main/java/com/akdev/nofbeventscraper/MainActivity.java +++ b/app/src/main/java/com/akdev/nofbeventscraper/MainActivity.java @@ -199,17 +199,21 @@ public class MainActivity extends AppCompatActivity { * via "share to" or "open with" */ Intent intent = getIntent(); - Uri data = intent.getData(); - String shared_text = intent.getStringExtra(Intent.EXTRA_TEXT); - if (data != null) { - // opening external fb link - edit_text_uri_input.setText(data.toString()); - startScraping(); - } else if (shared_text != null) { - //share to nofb - edit_text_uri_input.setText(shared_text); - startScraping(); + if (intent.getAction() != null) { + // only use this intent once, not every onCreate (e.g. rotation) + intent.setAction(null); + Uri data = intent.getData(); + String shared_text = intent.getStringExtra(Intent.EXTRA_TEXT); + if (data != null) { + // opening external fb link + edit_text_uri_input.setText(data.toString()); + startScraping(); + } else if (shared_text != null) { + //share to nofb + edit_text_uri_input.setText(shared_text); + startScraping(); + } } } @@ -223,6 +227,8 @@ public class MainActivity extends AppCompatActivity { String url = Objects.requireNonNull(edit_text_uri_input.getText()).toString(); scraper = new FbScraper(new WeakReference<>(this), url); + + scraper.run(); } public void input_helper(String str, boolean error) {