implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'com.android.support:design:26.1.0'
// Only compile `com.google.firebase:firebase-ads:9.8.0` for the free flavor.
- freeImplementation 'com.google.firebase:firebase-ads:11.4.2'
+ freeImplementation 'com.google.firebase:firebase-ads:11.6.0'
}
// Google's documentation says the following line is required for `firebase-ads` but things work correctly without it. I have no interest in applying the Google Mobile Services plugin in the standard flavor if I don't have to.
<body>
<h3>2.7.1 (version code 28)</h3>
- <p>9. November 2017 - minimum API 19, target API 26</p>
+ <p><a href="https://git.stoutner.com/?p=PrivacyBrowser.git;a=commitdiff;h=24f2d6529540bc8ea47f45bc07dd058f402a9140">9. November 2017</a> - minimum API 19, target API 26</p>
<ul>
<li>Fix a crash when <a href="https://redmine.stoutner.com/issues/225">editing a bookmark</a> in the new bookmarks drawer.</li>
</ul>
<body>
<h3>2.7.1 (version code 28)</h3>
- <p>9. November 2017 - minimum API 19, target API 26</p>
+ <p><a href="https://git.stoutner.com/?p=PrivacyBrowser.git;a=commitdiff;h=24f2d6529540bc8ea47f45bc07dd058f402a9140">9. November 2017</a> - minimum API 19, target API 26</p>
<ul>
<li>Fix a crash when <a href="https://redmine.stoutner.com/issues/225">editing a bookmark</a> in the new bookmarks drawer.</li>
</ul>
<body>
<h3>2.7.1 (version code 28)</h3>
- <p>9 November 2017 - minimum API 19, target API 26</p>
+ <p><a href="https://git.stoutner.com/?p=PrivacyBrowser.git;a=commitdiff;h=24f2d6529540bc8ea47f45bc07dd058f402a9140">9 November 2017</a> - minimum API 19, target API 26</p>
<ul>
<li>Fix a crash when <a href="https://redmine.stoutner.com/issues/225">editing a bookmark</a> in the new bookmarks drawer.</li>
</ul>
<body>
<h3>2.7.1 (version code 28)</h3>
- <p>9 November 2017 - minimum API 19, target API 26</p>
+ <p><a href="https://git.stoutner.com/?p=PrivacyBrowser.git;a=commitdiff;h=24f2d6529540bc8ea47f45bc07dd058f402a9140">9 November 2017</a> - minimum API 19, target API 26</p>
<ul>
<li>Fix a crash when <a href="https://redmine.stoutner.com/issues/225">editing a bookmark</a> in the new bookmarks drawer.</li>
</ul>
<body>
<h3>2.7.1 (código de versión 28)</h3>
- <p>9 de noviembre de 2017 - API mínimo 19, API dirigido 26</p>
+ <p><a href="https://git.stoutner.com/?p=PrivacyBrowser.git;a=commitdiff;h=24f2d6529540bc8ea47f45bc07dd058f402a9140">9 de noviembre de 2017</a> - API mínimo 19, API dirigido 26</p>
<ul>
<li>Corrregir un fallo al <a href="https://redmine.stoutner.com/issues/225">editar un favorito</a> en el nuevo cajón de favoritos.</li>
</ul>
<body>
<h3>2.7.1 (código de versión 28)</h3>
- <p>9 de noviembre de 2017 - API mínimo 19, API dirigido 26</p>
+ <p><a href="https://git.stoutner.com/?p=PrivacyBrowser.git;a=commitdiff;h=24f2d6529540bc8ea47f45bc07dd058f402a9140">9 de noviembre de 2017</a> - API mínimo 19, API dirigido 26</p>
<ul>
<li>Corrregir un fallo al <a href="https://redmine.stoutner.com/issues/225">editar un favorito</a> en el nuevo cajón de favoritos.</li>
</ul>
<body>
<h3>2.7.1 (versione codice 28)</h3>
- <p>9 Novembre 2017 - minima API 19, target API 26</p>
+ <p><a href="https://git.stoutner.com/?p=PrivacyBrowser.git;a=commitdiff;h=24f2d6529540bc8ea47f45bc07dd058f402a9140">9 Novembre 2017</a> - minima API 19, target API 26</p>
<ul>
<li>Eliminato un crash che si verificava nel caso di <a href="https://redmine.stoutner.com/issues/225">editing dei segnalibri</a> dal nuovo cassetto dei segnalibri.</li>
</ul>
<body>
<h3>2.7.1 (versione codice 28)</h3>
- <p>9 Novembre 2017 - minima API 19, target API 26</p>
+ <p><a href="https://git.stoutner.com/?p=PrivacyBrowser.git;a=commitdiff;h=24f2d6529540bc8ea47f45bc07dd058f402a9140">9 Novembre 2017</a> - minima API 19, target API 26</p>
<ul>
<li>Eliminato un crash che si verificava nel caso di <a href="https://redmine.stoutner.com/issues/225">editing dei segnalibri</a> dal nuovo cassetto dei segnalibri.</li>
</ul>
@SuppressWarnings("deprecation")
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
- if (url.startsWith("mailto:")) { // Load the URL in an external email program because it begins with `mailto:`.
- // We use `ACTION_SENDTO` instead of `ACTION_SEND` so that only email programs are launched.
+ if (url.startsWith("mailto:")) { // Load the email address in an external email program.
+ // Use `ACTION_SENDTO` instead of `ACTION_SEND` so that only email programs are launched.
Intent emailIntent = new Intent(Intent.ACTION_SENDTO);
// Parse the url and set it as the data for the `Intent`.
// Make it so.
startActivity(emailIntent);
+ // Returning `true` indicates the application is handling the URL.
+ return true;
+ } else if (url.startsWith("tel:")) { // Load the phone number in the dialer.
+ // `ACTION_DIAL` open the dialer and loads the phone number, but waits for the user to place the call.
+ Intent dialIntent = new Intent(Intent.ACTION_DIAL);
+
+ // Add the phone number to the intent.
+ dialIntent.setData(Uri.parse(url));
+
+ // `FLAG_ACTIVITY_NEW_TASK` opens the dialer in a new task instead as part of Privacy Browser.
+ dialIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+
+ // Make it so.
+ startActivity(dialIntent);
+
// Returning `true` indicates the application is handling the URL.
return true;
} else { // Load the URL in Privacy Browser.
+/*
+ * Copyright © 2016-2017 Soren Stoutner <soren@stoutner.com>.
+ *
+ * This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
+ *
+ * Privacy Browser is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Privacy Browser is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Privacy Browser. If not, see <http://www.gnu.org/licenses/>.
+ */
+
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
jcenter()
+ maven {
+ url 'https://maven.google.com/'
+ name 'Google'
+ }
}
dependencies {
- classpath 'com.android.tools.build:gradle:3.0.0'
+ classpath 'com.android.tools.build:gradle:3.0.1'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
allprojects {
repositories {
jcenter()
- google()
+ maven {
+ url 'https://maven.google.com/'
+ name 'Google'
+ }
}
}