From 1a3d457d10c7b6c64d2454834bb0794909e43bd9 Mon Sep 17 00:00:00 2001 From: Soren Stoutner <soren@stoutner.com> Date: Mon, 24 Aug 2020 19:09:17 -0700 Subject: [PATCH] Fix the loading of intents when the app is restarted. https://redmine.stoutner.com/issues/599 --- .../main/assets/de/about_changelog_dark.html | 4 +- .../main/assets/de/about_changelog_light.html | 4 +- .../main/assets/en/about_changelog_dark.html | 4 +- .../main/assets/en/about_changelog_light.html | 4 +- .../main/assets/es/about_changelog_dark.html | 4 +- .../main/assets/es/about_changelog_light.html | 4 +- .../main/assets/fr/about_changelog_dark.html | 4 +- .../main/assets/fr/about_changelog_light.html | 4 +- .../main/assets/it/about_changelog_dark.html | 29 ++--- .../main/assets/it/about_changelog_light.html | 29 ++--- .../main/assets/ru/about_changelog_dark.html | 4 +- .../main/assets/ru/about_changelog_light.html | 4 +- .../main/assets/tr/about_changelog_dark.html | 4 +- .../main/assets/tr/about_changelog_light.html | 4 +- .../activities/MainWebViewActivity.java | 105 +++++++++++------- 15 files changed, 117 insertions(+), 94 deletions(-) diff --git a/app/src/main/assets/de/about_changelog_dark.html b/app/src/main/assets/de/about_changelog_dark.html index 6f62bfa5..7a55adb5 100644 --- a/app/src/main/assets/de/about_changelog_dark.html +++ b/app/src/main/assets/de/about_changelog_dark.html @@ -30,8 +30,8 @@ </head> <body> - <h3>3.5 (version code 50)</h3> - <p>18. August 2020 - Mindest-API 19, Ziel-API 29</p> + <h3><a href="https://www.stoutner.com/privacy-browser-3-5/">3.5</a> (version code 50)</h3> + <p><a href="https://git.stoutner.com/?p=PrivacyBrowser.git;a=commitdiff;h=379ae3eabfd9ee949151b7b218b875ffcc627c5a">18. August 2020</a> - Mindest-API 19, Ziel-API 29</p> <ul> <li>Androids <a href="https://redmine.stoutner.com/issues/572">relativ</a> <a href="https://redmine.stoutner.com/issues/523">neues</a> <a href="https://redmine.stoutner.com/issues/522">Tag/Nacht-</a><a href="https://redmine.stoutner.com/issues/506">Theme</a> wurde implementiert.</li> diff --git a/app/src/main/assets/de/about_changelog_light.html b/app/src/main/assets/de/about_changelog_light.html index 44897178..b5c11cfd 100644 --- a/app/src/main/assets/de/about_changelog_light.html +++ b/app/src/main/assets/de/about_changelog_light.html @@ -30,8 +30,8 @@ </head> <body> - <h3>3.5 (version code 50)</h3> - <p>18. August 2020 - Mindest-API 19, Ziel-API 29</p> + <h3><a href="https://www.stoutner.com/privacy-browser-3-5/">3.5</a> (version code 50)</h3> + <p><a href="https://git.stoutner.com/?p=PrivacyBrowser.git;a=commitdiff;h=379ae3eabfd9ee949151b7b218b875ffcc627c5a">18. August 2020</a> - Mindest-API 19, Ziel-API 29</p> <ul> <li>Androids <a href="https://redmine.stoutner.com/issues/572">relativ</a> <a href="https://redmine.stoutner.com/issues/523">neues</a> <a href="https://redmine.stoutner.com/issues/522">Tag/Nacht-</a><a href="https://redmine.stoutner.com/issues/506">Theme</a> wurde implementiert.</li> diff --git a/app/src/main/assets/en/about_changelog_dark.html b/app/src/main/assets/en/about_changelog_dark.html index d3464511..1cd622eb 100644 --- a/app/src/main/assets/en/about_changelog_dark.html +++ b/app/src/main/assets/en/about_changelog_dark.html @@ -24,8 +24,8 @@ </head> <body> - <h3>3.5 (version code 50)</h3> - <p>18 August 2020 - minimum API 19, target API 29</p> + <h3><a href="https://www.stoutner.com/privacy-browser-3-5/">3.5</a> (version code 50)</h3> + <p><a href="https://git.stoutner.com/?p=PrivacyBrowser.git;a=commitdiff;h=379ae3eabfd9ee949151b7b218b875ffcc627c5a">18 August 2020</a> - minimum API 19, target API 29</p> <ul> <li>Implement Androidâs <a href="https://redmine.stoutner.com/issues/572">relatively</a> <a href="https://redmine.stoutner.com/issues/523">new</a> <a href="https://redmine.stoutner.com/issues/522">Day/Night</a> <a href="https://redmine.stoutner.com/issues/506">theme</a>.</li> diff --git a/app/src/main/assets/en/about_changelog_light.html b/app/src/main/assets/en/about_changelog_light.html index 17a69a7d..0dd6f3b0 100644 --- a/app/src/main/assets/en/about_changelog_light.html +++ b/app/src/main/assets/en/about_changelog_light.html @@ -24,8 +24,8 @@ </head> <body> - <h3>3.5 (version code 50)</h3> - <p>18 August 2020 - minimum API 19, target API 29</p> + <h3><a href="https://www.stoutner.com/privacy-browser-3-5/">3.5</a> (version code 50)</h3> + <p><a href="https://git.stoutner.com/?p=PrivacyBrowser.git;a=commitdiff;h=379ae3eabfd9ee949151b7b218b875ffcc627c5a">18 August 2020</a> - minimum API 19, target API 29</p> <ul> <li>Implement Androidâs <a href="https://redmine.stoutner.com/issues/572">relatively</a> <a href="https://redmine.stoutner.com/issues/523">new</a> <a href="https://redmine.stoutner.com/issues/522">Day/Night</a> <a href="https://redmine.stoutner.com/issues/506">theme</a>.</li> diff --git a/app/src/main/assets/es/about_changelog_dark.html b/app/src/main/assets/es/about_changelog_dark.html index 15bd2c40..c943077b 100644 --- a/app/src/main/assets/es/about_changelog_dark.html +++ b/app/src/main/assets/es/about_changelog_dark.html @@ -26,8 +26,8 @@ </head> <body> - <h3>3.5 (código de versión 50)</h3> - <p>18 de agosto de 2020 - API mÃnimo 19, API dirigido 29</p> + <h3><a href="https://www.stoutner.com/privacy-browser-3-5/">3.5</a> (código de versión 50)</h3> + <p><a href="https://git.stoutner.com/?p=PrivacyBrowser.git;a=commitdiff;h=379ae3eabfd9ee949151b7b218b875ffcc627c5a">18 de agosto de 2020</a> - API mÃnimo 19, API dirigido 29</p> <ul> <li>Implementar el relativamente <a href="https://redmine.stoutner.com/issues/572">nuevo</a> <a href="https://redmine.stoutner.com/issues/523">tema</a> <a href="https://redmine.stoutner.com/issues/522">DÃa/Noche</a> <a href="https://redmine.stoutner.com/issues/506">de Android</a>.</li> diff --git a/app/src/main/assets/es/about_changelog_light.html b/app/src/main/assets/es/about_changelog_light.html index e0ba5568..8f66e931 100644 --- a/app/src/main/assets/es/about_changelog_light.html +++ b/app/src/main/assets/es/about_changelog_light.html @@ -26,8 +26,8 @@ </head> <body> - <h3>3.5 (código de versión 50)</h3> - <p>18 de agosto de 2020 - API mÃnimo 19, API dirigido 29</p> + <h3><a href="https://www.stoutner.com/privacy-browser-3-5/">3.5</a> (código de versión 50)</h3> + <p><a href="https://git.stoutner.com/?p=PrivacyBrowser.git;a=commitdiff;h=379ae3eabfd9ee949151b7b218b875ffcc627c5a">18 de agosto de 2020</a> - API mÃnimo 19, API dirigido 29</p> <ul> <li>Implementar el relativamente <a href="https://redmine.stoutner.com/issues/572">nuevo</a> <a href="https://redmine.stoutner.com/issues/523">tema</a> <a href="https://redmine.stoutner.com/issues/522">DÃa/Noche</a> <a href="https://redmine.stoutner.com/issues/506">de Android</a>.</li> diff --git a/app/src/main/assets/fr/about_changelog_dark.html b/app/src/main/assets/fr/about_changelog_dark.html index c2fb8246..5f711d43 100644 --- a/app/src/main/assets/fr/about_changelog_dark.html +++ b/app/src/main/assets/fr/about_changelog_dark.html @@ -26,8 +26,8 @@ </head> <body> - <h3>3.5 (version du code 50)</h3> - <p>18 Août 2020 - API minimale : 19, API optimale : 29</p> + <h3><a href="https://www.stoutner.com/privacy-browser-3-5/">3.5</a> (version du code 50)</h3> + <p><a href="https://git.stoutner.com/?p=PrivacyBrowser.git;a=commitdiff;h=379ae3eabfd9ee949151b7b218b875ffcc627c5a">18 Août 2020</a> - API minimale : 19, API optimale : 29</p> <ul> <li>Implement Androidâs <a href="https://redmine.stoutner.com/issues/572">relatively</a> <a href="https://redmine.stoutner.com/issues/523">new</a> <a href="https://redmine.stoutner.com/issues/522">Day/Night</a> <a href="https://redmine.stoutner.com/issues/506">theme</a>.</li> diff --git a/app/src/main/assets/fr/about_changelog_light.html b/app/src/main/assets/fr/about_changelog_light.html index e9aa23fa..49100d46 100644 --- a/app/src/main/assets/fr/about_changelog_light.html +++ b/app/src/main/assets/fr/about_changelog_light.html @@ -26,8 +26,8 @@ </head> <body> - <h3>3.5 (version du code 50)</h3> - <p>18 Août 2020 - API minimale : 19, API optimale : 29</p> + <h3><a href="https://www.stoutner.com/privacy-browser-3-5/">3.5</a> (version du code 50)</h3> + <p><a href="https://git.stoutner.com/?p=PrivacyBrowser.git;a=commitdiff;h=379ae3eabfd9ee949151b7b218b875ffcc627c5a">18 Août 2020</a> - API minimale : 19, API optimale : 29</p> <ul> <li>Implement Androidâs <a href="https://redmine.stoutner.com/issues/572">relatively</a> <a href="https://redmine.stoutner.com/issues/523">new</a> <a href="https://redmine.stoutner.com/issues/522">Day/Night</a> <a href="https://redmine.stoutner.com/issues/506">theme</a>.</li> diff --git a/app/src/main/assets/it/about_changelog_dark.html b/app/src/main/assets/it/about_changelog_dark.html index e3722b50..a0bc106e 100644 --- a/app/src/main/assets/it/about_changelog_dark.html +++ b/app/src/main/assets/it/about_changelog_dark.html @@ -26,20 +26,21 @@ </head> <body> - <h3>3.5 (versione codice 50)</h3> - <p>18 Agosto 2020 - minima API 19, target API 29</p> - <ul> - <li>Implement Androidâs <a href="https://redmine.stoutner.com/issues/572">relatively</a> <a href="https://redmine.stoutner.com/issues/523">new</a> - <a href="https://redmine.stoutner.com/issues/522">Day/Night</a> <a href="https://redmine.stoutner.com/issues/506">theme</a>.</li> - <li>Switch to using WebView relatively new built-in <a href="https://redmine.stoutner.com/issues/366">dark theme</a>.</li> - <li><a href="https://redmine.stoutner.com/issues/461">Save and restore the state</a> if Privacy Browser is restarted in the background by the OS.</li> - <li>Use the Content-Disposition header to get <a href="https://redmine.stoutner.com/issues/547">file names for downloads</a>.</li> - <li>Fix <a href="https://redmine.stoutner.com/issues/556">uploading files</a> to some sites.</li> - <li>Add <a href="https://redmine.stoutner.com/issues/576">Mojeek</a> and remove <a href="https://redmine.stoutner.com/issues/569">Qwant</a> and - <a href="https://redmine.stoutner.com/issues/571">Searx</a> from the list of search engines.</li> - <li>Fix a bug that sometimes caused swipe-to-refresh to operate <a href="https://redmine.stoutner.com/issues/514">even when disabled</a>.</li> - <li>Reorder the <a href="https://redmine.stoutner.com/issues/544">context menus</a>.</li> - <li>Apply <a href="https://redmine.stoutner.com/issues/584">custom headers</a> to links loaded from the WebView.</li> + <h3><a href="https://www.stoutner.com/privacy-browser-3-5/">3.5</a> (versione codice 50)</h3> + <p><a href="https://git.stoutner.com/?p=PrivacyBrowser.git;a=commitdiff;h=379ae3eabfd9ee949151b7b218b875ffcc627c5a">18 Agosto 2020</a> - minima API 19, target API 29</p> + <ul> + <li>Implementazione del <a href="https://redmine.stoutner.com/issues/572">relativamente</a> <a href="https://redmine.stoutner.com/issues/523">nuovo</a> + <a href="https://redmine.stoutner.com/issues/522">tema</a> <a href="https://redmine.stoutner.com/issues/506">Giorno e Notte</a> di + Android.</li> + <li>Passaggio all'utilizzo del relativamente nuovo <a href="https://redmine.stoutner.com/issues/366">tema scuro</a> nativo di Webview.</li> + <li><a href="https://redmine.stoutner.com/issues/461">Salvataggio e ripristino dello stato</a> nel caso in cui Privacy Browser venga riavviato in background dal sistema operativo.</li> + <li>Utilizzo del "Content-Disposition header" per ottenere <a href="https://redmine.stoutner.com/issues/547">i nomi dei file nei download</a>.</li> + <li>Sistemazione <a href="https://redmine.stoutner.com/issues/556">dell'upload dei file</a> verso alcuni siti web.</li> + <li>Aggiunta di <a href="https://redmine.stoutner.com/issues/576">Mojeek</a> ed eliminazione di <a href="https://redmine.stoutner.com/issues/569">Qwant</a> e + <a href="https://redmine.stoutner.com/issues/571">Searx</a> dalla lista dei motori di ricerca.</li> + <li>Correzione di un baco che talvolta provocava il funzionamento dello swipe per aggiornare la pagina <a href="https://redmine.stoutner.com/issues/514">anche se disabilitato</a>.</li> + <li>Riordino dei <a href="https://redmine.stoutner.com/issues/544">menu contestuali</a>.</li> + <li>Applicazione di <a href="https://redmine.stoutner.com/issues/584">intestazioni personalizzate</a> ai collegamenti caricati da Webview.</li> <li>Aggiornamento della traduzione Italiana fornita da Francesco Buratti.</li> <li>Aggiornamento della traduzione Francese fornita da <a href="mailto:kevinliste@framalistes.org">Kévin LE FLOHIC</a>.</li> <li>Aggiornamento della traduzione in Russo.</li> diff --git a/app/src/main/assets/it/about_changelog_light.html b/app/src/main/assets/it/about_changelog_light.html index afd52de3..f9d0ff42 100644 --- a/app/src/main/assets/it/about_changelog_light.html +++ b/app/src/main/assets/it/about_changelog_light.html @@ -26,20 +26,21 @@ </head> <body> - <h3>3.5 (versione codice 50)</h3> - <p>18 Agosto 2020 - minima API 19, target API 29</p> - <ul> - <li>Implement Androidâs <a href="https://redmine.stoutner.com/issues/572">relatively</a> <a href="https://redmine.stoutner.com/issues/523">new</a> - <a href="https://redmine.stoutner.com/issues/522">Day/Night</a> <a href="https://redmine.stoutner.com/issues/506">theme</a>.</li> - <li>Switch to using WebView relatively new built-in <a href="https://redmine.stoutner.com/issues/366">dark theme</a>.</li> - <li><a href="https://redmine.stoutner.com/issues/461">Save and restore the state</a> if Privacy Browser is restarted in the background by the OS.</li> - <li>Use the Content-Disposition header to get <a href="https://redmine.stoutner.com/issues/547">file names for downloads</a>.</li> - <li>Fix <a href="https://redmine.stoutner.com/issues/556">uploading files</a> to some sites.</li> - <li>Add <a href="https://redmine.stoutner.com/issues/576">Mojeek</a> and remove <a href="https://redmine.stoutner.com/issues/569">Qwant</a> and - <a href="https://redmine.stoutner.com/issues/571">Searx</a> from the list of search engines.</li> - <li>Fix a bug that sometimes caused swipe-to-refresh to operate <a href="https://redmine.stoutner.com/issues/514">even when disabled</a>.</li> - <li>Reorder the <a href="https://redmine.stoutner.com/issues/544">context menus</a>.</li> - <li>Apply <a href="https://redmine.stoutner.com/issues/584">custom headers</a> to links loaded from the WebView.</li> + <h3><a href="https://www.stoutner.com/privacy-browser-3-5/">3.5</a> (versione codice 50)</h3> + <p><a href="https://git.stoutner.com/?p=PrivacyBrowser.git;a=commitdiff;h=379ae3eabfd9ee949151b7b218b875ffcc627c5a">18 Agosto 2020</a> - minima API 19, target API 29</p> + <ul> + <li>Implementazione del <a href="https://redmine.stoutner.com/issues/572">relativamente</a> <a href="https://redmine.stoutner.com/issues/523">nuovo</a> + <a href="https://redmine.stoutner.com/issues/522">tema</a> <a href="https://redmine.stoutner.com/issues/506">Giorno e Notte</a> di + Android.</li> + <li>Passaggio all'utilizzo del relativamente nuovo <a href="https://redmine.stoutner.com/issues/366">tema scuro</a> nativo di Webview.</li> + <li><a href="https://redmine.stoutner.com/issues/461">Salvataggio e ripristino dello stato</a> nel caso in cui Privacy Browser venga riavviato in background dal sistema operativo.</li> + <li>Utilizzo del "Content-Disposition header" per ottenere <a href="https://redmine.stoutner.com/issues/547">i nomi dei file nei download</a>.</li> + <li>Sistemazione <a href="https://redmine.stoutner.com/issues/556">dell'upload dei file</a> verso alcuni siti web.</li> + <li>Aggiunta di <a href="https://redmine.stoutner.com/issues/576">Mojeek</a> ed eliminazione di <a href="https://redmine.stoutner.com/issues/569">Qwant</a> e + <a href="https://redmine.stoutner.com/issues/571">Searx</a> dalla lista dei motori di ricerca.</li> + <li>Correzione di un baco che talvolta provocava il funzionamento dello swipe per aggiornare la pagina <a href="https://redmine.stoutner.com/issues/514">anche se disabilitato</a>.</li> + <li>Riordino dei <a href="https://redmine.stoutner.com/issues/544">menu contestuali</a>.</li> + <li>Applicazione di <a href="https://redmine.stoutner.com/issues/584">intestazioni personalizzate</a> ai collegamenti caricati da Webview.</li> <li>Aggiornamento della traduzione Italiana fornita da Francesco Buratti.</li> <li>Aggiornamento della traduzione Francese fornita da <a href="mailto:kevinliste@framalistes.org">Kévin LE FLOHIC</a>.</li> <li>Aggiornamento della traduzione in Russo.</li> diff --git a/app/src/main/assets/ru/about_changelog_dark.html b/app/src/main/assets/ru/about_changelog_dark.html index cfc4b247..6a2923c5 100644 --- a/app/src/main/assets/ru/about_changelog_dark.html +++ b/app/src/main/assets/ru/about_changelog_dark.html @@ -24,8 +24,8 @@ </head> <body> - <h3>3.5 (код веÑÑии 50)</h3> - <p>18 авгÑÑÑа 2020 года - минималÑнÑй API 19, Ñелевой API 29</p> + <h3><a href="https://www.stoutner.com/privacy-browser-3-5/">3.5</a> (код веÑÑии 50)</h3> + <p><a href="https://git.stoutner.com/?p=PrivacyBrowser.git;a=commitdiff;h=379ae3eabfd9ee949151b7b218b875ffcc627c5a">18 авгÑÑÑа 2020 года</a> - минималÑнÑй API 19, Ñелевой API 29</p> <ul> <li>ÐнедÑена <a href="https://redmine.stoutner.com/issues/572">недавно</a> <a href="https://redmine.stoutner.com/issues/523">поÑвивÑаÑÑÑ Ð² Android</a> <a href="https://redmine.stoutner.com/issues/522">Ñема</a> <a href="https://redmine.stoutner.com/issues/506">ÐенÑ/ÐоÑÑ</a>.</li> diff --git a/app/src/main/assets/ru/about_changelog_light.html b/app/src/main/assets/ru/about_changelog_light.html index 05a0d903..2637a359 100644 --- a/app/src/main/assets/ru/about_changelog_light.html +++ b/app/src/main/assets/ru/about_changelog_light.html @@ -24,8 +24,8 @@ </head> <body> - <h3>3.5 (код веÑÑии 50)</h3> - <p>18 авгÑÑÑа 2020 года - минималÑнÑй API 19, Ñелевой API 29</p> + <h3><a href="https://www.stoutner.com/privacy-browser-3-5/">3.5</a> (код веÑÑии 50)</h3> + <p><a href="https://git.stoutner.com/?p=PrivacyBrowser.git;a=commitdiff;h=379ae3eabfd9ee949151b7b218b875ffcc627c5a">18 авгÑÑÑа 2020 года</a> - минималÑнÑй API 19, Ñелевой API 29</p> <ul> <li>ÐнедÑена <a href="https://redmine.stoutner.com/issues/572">недавно</a> <a href="https://redmine.stoutner.com/issues/523">поÑвивÑаÑÑÑ Ð² Android</a> <a href="https://redmine.stoutner.com/issues/522">Ñема</a> <a href="https://redmine.stoutner.com/issues/506">ÐенÑ/ÐоÑÑ</a>.</li> diff --git a/app/src/main/assets/tr/about_changelog_dark.html b/app/src/main/assets/tr/about_changelog_dark.html index ddd9d08d..50f19c64 100644 --- a/app/src/main/assets/tr/about_changelog_dark.html +++ b/app/src/main/assets/tr/about_changelog_dark.html @@ -24,8 +24,8 @@ </head> <body> - <h3>3.5 (version code 50)</h3> - <p>18 August 2020 - minimum API 19, target API 29</p> + <h3><a href="https://www.stoutner.com/privacy-browser-3-5/">3.5</a> (version code 50)</h3> + <p><a href="https://git.stoutner.com/?p=PrivacyBrowser.git;a=commitdiff;h=379ae3eabfd9ee949151b7b218b875ffcc627c5a">18 August 2020</a> - minimum API 19, target API 29</p> <ul> <li>Implement Androidâs <a href="https://redmine.stoutner.com/issues/572">relatively</a> <a href="https://redmine.stoutner.com/issues/523">new</a> <a href="https://redmine.stoutner.com/issues/522">Day/Night</a> <a href="https://redmine.stoutner.com/issues/506">theme</a>.</li> diff --git a/app/src/main/assets/tr/about_changelog_light.html b/app/src/main/assets/tr/about_changelog_light.html index c9050051..83810dfb 100644 --- a/app/src/main/assets/tr/about_changelog_light.html +++ b/app/src/main/assets/tr/about_changelog_light.html @@ -24,8 +24,8 @@ </head> <body> - <h3>3.5 (version code 50)</h3> - <p>18 August 2020 - minimum API 19, target API 29</p> + <h3><a href="https://www.stoutner.com/privacy-browser-3-5/">3.5</a> (version code 50)</h3> + <p><a href="https://git.stoutner.com/?p=PrivacyBrowser.git;a=commitdiff;h=379ae3eabfd9ee949151b7b218b875ffcc627c5a">18 August 2020</a> - minimum API 19, target API 29</p> <ul> <li>Implement Androidâs <a href="https://redmine.stoutner.com/issues/572">relatively</a> <a href="https://redmine.stoutner.com/issues/523">new</a> <a href="https://redmine.stoutner.com/issues/522">Day/Night</a> <a href="https://redmine.stoutner.com/issues/506">theme</a>.</li> diff --git a/app/src/main/java/com/stoutner/privacybrowser/activities/MainWebViewActivity.java b/app/src/main/java/com/stoutner/privacybrowser/activities/MainWebViewActivity.java index 4280c56a..14a2264e 100644 --- a/app/src/main/java/com/stoutner/privacybrowser/activities/MainWebViewActivity.java +++ b/app/src/main/java/com/stoutner/privacybrowser/activities/MainWebViewActivity.java @@ -239,9 +239,6 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook private TabLayout tabLayout; private ViewPager webViewPager; - // Define the class variables. - private String newIntentUrl; - // The current WebView is used in `onCreate()`, `onPrepareOptionsMenu()`, `onOptionsItemSelected()`, `onNavigationItemSelected()`, `onRestart()`, `onCreateContextMenu()`, `findPreviousOnPage()`, // `findNextOnPage()`, `closeFindOnPage()`, `loadUrlFromTextBox()`, `onSslMismatchBack()`, `applyProxy()`, and `applyDomainSettings()`. private NestedScrollWebView currentWebView; @@ -454,8 +451,8 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook // Replace the intent that started the app with this one. setIntent(intent); - // Process the intent here if Privacy Browser is fully initialized. If the process has been killed by the system while sitting in the background, this will be handled in `initializeWebView()`. - if (ultraPrivacy != null) { + // Check to see if the app is being restarted. + if (savedStateArrayList == null || savedStateArrayList.size() == 0) { // The activity is running for the first time. // Get the information from the intent. String intentAction = intent.getAction(); Uri intentUriData = intent.getData(); @@ -472,7 +469,7 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook String url; // If the intent action is a web search, perform the search. - if (isWebSearch) { + if (isWebSearch) { // The intent is a web search. // Create an encoded URL string. String encodedUrlString; @@ -490,21 +487,16 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook url = intentUriData.toString(); } - // Check to see if the app is in the process of restarting - if (savedStateArrayList == null) { // The app is not in the process of being restarted. Process the new intent. - // Add a new tab if specified in the preferences. - if (sharedPreferences.getBoolean("open_intents_in_new_tab", true)) { // Load the URL in a new tab. - // Set the loading new intent flag. - loadingNewIntent = true; - - // Add a new tab. - addNewTab(url, true); - } else { // Load the URL in the current tab. - // Make it so. - loadUrl(currentWebView, url); - } - } else { // The app is being restarted. Store the URL, which will be processed in `finishedPopulatingBlocklists()`. - newIntentUrl = url; + // Add a new tab if specified in the preferences. + if (sharedPreferences.getBoolean("open_intents_in_new_tab", true)) { // Load the URL in a new tab. + // Set the loading new intent flag. + loadingNewIntent = true; + + // Add a new tab. + addNewTab(url, true); + } else { // Load the URL in the current tab. + // Make it so. + loadUrl(currentWebView, url); } // Get a handle for the drawer layout. @@ -3382,7 +3374,7 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook tab.select(); }; - // Select the tab layout after 150 milliseconds, which leaves enough time for a new tab to be inflated. TODO. Switch to a post command. + // Select the tab layout after 150 milliseconds, which leaves enough time for a new tab to be inflated. selectTabHandler.postDelayed(selectTabRunnable, 150); } } @@ -4783,25 +4775,54 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook webViewPager.setCurrentItem(savedTabPosition); } - // Process the new intent if it exists. - if (newIntentUrl != null) { + // Get the intent that started the app. + Intent intent = getIntent(); + + // Get the information from the intent. + String intentAction = intent.getAction(); + Uri intentUriData = intent.getData(); + + // Determine if this is a web search. + boolean isWebSearch = ((intentAction != null) && intentAction.equals(Intent.ACTION_WEB_SEARCH)); + + // Only process the URI if it contains data or it is a web search. If the user pressed the desktop icon after the app was already running the URI will be null. + if (intentUriData != null || isWebSearch) { // Get the shared preferences. SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this); + // Create a URL string. + String url; + + // If the intent action is a web search, perform the search. + if (isWebSearch) { // The intent is a web search. + // Create an encoded URL string. + String encodedUrlString; + + // Sanitize the search input and convert it to a search. + try { + encodedUrlString = URLEncoder.encode(intent.getStringExtra(SearchManager.QUERY), "UTF-8"); + } catch (UnsupportedEncodingException exception) { + encodedUrlString = ""; + } + + // Add the base search URL. + url = searchURL + encodedUrlString; + } else { // The intent should contain a URL. + // Set the intent data as the url. + url = intentUriData.toString(); + } + // Add a new tab if specified in the preferences. if (sharedPreferences.getBoolean("open_intents_in_new_tab", true)) { // Load the URL in a new tab. // Set the loading new intent flag. loadingNewIntent = true; // Add a new tab. - addNewTab(newIntentUrl, true); + addNewTab(url, true); } else { // Load the URL in the current tab. // Make it so. - loadUrl(currentWebView, newIntentUrl); + loadUrl(currentWebView, url); } - - // Reset the new intent URL. - newIntentUrl = null; } } } @@ -5124,7 +5145,7 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook } else { urlRelativeLayout.setBackground(ResourcesCompat.getDrawable(getResources(), R.color.transparent, null)); } - } else { // The fragment has not been populated. Try again in 100 milliseconds. //TODO try to replace this with a post command. + } else { // The fragment has not been populated. Try again in 100 milliseconds. // Create a handler to set the current WebView. Handler setCurrentWebViewHandler = new Handler(); @@ -5494,19 +5515,19 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook // Get the custom view from the tab. View tabView = tab.getCustomView(); - // Remove the incorrect warning below that the current tab view might be null. - assert tabView != null; + // Only populate the title text view if the tab view has been fully populated. + if (tabView != null) { + // Get the title text view from the tab. + TextView tabTitleTextView = tabView.findViewById(R.id.title_textview); - // Get the title text view from the tab. - TextView tabTitleTextView = tabView.findViewById(R.id.title_textview); - - // Set the title according to the URL. - if (title.equals("about:blank")) { - // Set the title to indicate a new tab. - tabTitleTextView.setText(R.string.new_tab); - } else { - // Set the title as the tab text. - tabTitleTextView.setText(title); + // Set the title according to the URL. + if (title.equals("about:blank")) { + // Set the title to indicate a new tab. + tabTitleTextView.setText(R.string.new_tab); + } else { + // Set the title as the tab text. + tabTitleTextView.setText(title); + } } } } -- 2.47.2