[tor-commits] [Git][tpo/applications/android-components][android-components-57.0.6-10.0-2] 3 commits: Bug 40013: Add option do overwrite timestamp in extension version
Matthew Finkel
gitlab at torproject.org
Fri Oct 2 21:51:41 UTC 2020
Matthew Finkel pushed to branch android-components-57.0.6-10.0-2 at The Tor Project / Applications / android-components
Commits:
abf37979 by Georg Koppen at 2020-10-02T16:11:34+00:00
Bug 40013: Add option do overwrite timestamp in extension version
- - - - -
81be6dd2 by Alex Catarineu at 2020-10-02T21:12:32+02:00
Bug 34377: Port padlock states for .onion services
- - - - -
b9984e10 by Matthew Finkel at 2020-10-02T21:49:53+00:00
Merge remote-tracking branch 'acatgl/34377' into android-components-57.0.6-10.0-2
- - - - -
9 changed files:
- build.gradle
- components/browser/toolbar/src/main/java/mozilla/components/browser/toolbar/display/DisplayToolbar.kt
- components/browser/toolbar/src/main/java/mozilla/components/browser/toolbar/display/SiteSecurityIconView.kt
- components/browser/toolbar/src/main/res/drawable/mozac_ic_site_security.xml
- components/browser/toolbar/src/main/res/values/attrs_browser_toolbar.xml
- components/concept/toolbar/src/main/java/mozilla/components/concept/toolbar/Toolbar.kt
- components/feature/toolbar/src/main/java/mozilla/components/feature/toolbar/ToolbarPresenter.kt
- components/support/ktx/src/main/java/mozilla/components/support/ktx/kotlin/String.kt
- + components/ui/icons/src/main/res/drawable/mozac_ic_onion.xml
Changes:
=====================================
build.gradle
=====================================
@@ -126,7 +126,13 @@ subprojects {
rename { 'manifest.json' }
into extDir
- def values = ['version': rootProject.ext.config.componentsVersion + "." + new Date().format('MMddHHmmss')]
+ def systemEnvBuildDate = System.getenv('MOZ_BUILD_DATE')
+ // MOZ_BUILD_DATE is in the YYYYMMDDHHMMSS format. Thus, we only use a
+ // substring of it if it is available.
+ def values = ['version': rootProject.ext.config.componentsVersion + "." +
+ (systemEnvBuildDate != null ?
+ systemEnvBuildDate.substring(4) :
+ new Date().format('MMddHHmmss'))]
inputs.properties(values)
expand(values)
}
=====================================
components/browser/toolbar/src/main/java/mozilla/components/browser/toolbar/display/DisplayToolbar.kt
=====================================
@@ -476,6 +476,7 @@ class DisplayToolbar internal constructor(
@ColorInt val color = when (siteSecurity) {
Toolbar.SiteSecurity.INSECURE -> colors.securityIconInsecure
Toolbar.SiteSecurity.SECURE -> colors.securityIconSecure
+ Toolbar.SiteSecurity.ONION -> colors.securityIconSecure
}
if (color == Color.TRANSPARENT) {
views.securityIndicator.clearColorFilter()
=====================================
components/browser/toolbar/src/main/java/mozilla/components/browser/toolbar/display/SiteSecurityIconView.kt
=====================================
@@ -43,6 +43,11 @@ internal class SiteSecurityIconView @JvmOverloads constructor(
View.mergeDrawableStates(drawableState, intArrayOf(R.attr.state_site_secure))
drawableState
}
+ SiteSecurity.ONION -> {
+ val drawableState = super.onCreateDrawableState(extraSpace + 1)
+ View.mergeDrawableStates(drawableState, intArrayOf(R.attr.state_site_onion))
+ drawableState
+ }
}
}
}
=====================================
components/browser/toolbar/src/main/res/drawable/mozac_ic_site_security.xml
=====================================
@@ -3,6 +3,9 @@
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<selector xmlns:android="http://schemas.android.com/apk/res/android" xmlns:ac="http://schemas.android.com/apk/res-auto">
+ <item
+ android:drawable="@drawable/mozac_ic_onion"
+ ac:state_site_onion="true" />
<item
android:drawable="@drawable/mozac_ic_lock"
ac:state_site_secure="true" />
=====================================
components/browser/toolbar/src/main/res/values/attrs_browser_toolbar.xml
=====================================
@@ -27,6 +27,10 @@
<attr name="state_site_secure" format="boolean"/>
</declare-styleable>
+ <declare-styleable name="BrowserToolbarSiteOnionState">
+ <attr name="state_site_onion" format="boolean"/>
+ </declare-styleable>
+
<declare-styleable name="ActionContainer">
<attr name="actionContainerItemSize" format="dimension" />
</declare-styleable>
=====================================
components/concept/toolbar/src/main/java/mozilla/components/concept/toolbar/Toolbar.kt
=====================================
@@ -385,6 +385,7 @@ interface Toolbar {
enum class SiteSecurity {
INSECURE,
SECURE,
+ ONION,
}
/**
=====================================
components/feature/toolbar/src/main/java/mozilla/components/feature/toolbar/ToolbarPresenter.kt
=====================================
@@ -16,6 +16,7 @@ import mozilla.components.concept.toolbar.Toolbar
import mozilla.components.concept.toolbar.Toolbar.SiteTrackingProtection
import mozilla.components.feature.toolbar.internal.URLRenderer
import mozilla.components.lib.state.ext.flowScoped
+import mozilla.components.support.ktx.kotlin.isOnionUrl
import mozilla.components.support.ktx.kotlinx.coroutines.flow.ifChanged
/**
@@ -64,7 +65,11 @@ class ToolbarPresenter(
toolbar.displayProgress(tab.content.progress)
toolbar.siteSecure = if (tab.content.securityInfo.secure) {
- Toolbar.SiteSecurity.SECURE
+ if (tab.content.url.isOnionUrl()) {
+ Toolbar.SiteSecurity.ONION
+ } else {
+ Toolbar.SiteSecurity.SECURE
+ }
} else {
Toolbar.SiteSecurity.INSECURE
}
=====================================
components/support/ktx/src/main/java/mozilla/components/support/ktx/kotlin/String.kt
=====================================
@@ -115,6 +115,15 @@ fun String.tryGetHostFromUrl(): String = try {
this
}
+/**
+ * Returns whether the string is an .onion URL.
+ */
+fun String.isOnionUrl(): Boolean = try {
+ URL(this).host.endsWith(".onion")
+} catch (e: MalformedURLException) {
+ false
+}
+
/**
* Compares 2 URLs and returns true if they have the same origin,
* which means: same protocol, same host, same port.
=====================================
components/ui/icons/src/main/res/drawable/mozac_ic_onion.xml
=====================================
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="24dp"
+ android:height="24dp"
+ android:viewportWidth="24"
+ android:viewportHeight="24">
+ <path
+ android:pathData="m12.0215,20.5903c0,0 0,-1.2728 0,-1.2728 4.0319,-0.0117 7.2965,-3.283 7.2965,-7.3177 0,-4.0345 -3.2646,-7.3058 -7.2965,-7.3175 0,0 0,-1.2728 0,-1.2728 4.7348,0.0119 8.5691,3.8529 8.5691,8.5903 0,4.7377 -3.8342,8.5789 -8.5691,8.5906 0,0 0,0 0,0m0,-4.4551c2.2741,-0.012 4.1148,-1.8582 4.1148,-4.1355 0,-2.277 -1.8407,-4.1233 -4.1148,-4.1352 0,0 0,-1.2726 0,-1.2726 2.9773,0.0116 5.3877,2.4278 5.3877,5.4078 0,2.9802 -2.4103,5.3964 -5.3877,5.408 0,0 0,-1.2725 0,-1.2725m0,-6.3616c1.2199,0.0116 2.2057,1.0033 2.2057,2.2261 0,1.2231 -0.9858,2.2147 -2.2057,2.2264 0,0 0,-4.4525 0,-4.4525M1.5,11.9997C1.5,17.799 6.2008,22.5 12,22.5 17.799,22.5 22.5,17.799 22.5,11.9997 22.5,6.2008 17.799,1.5 12,1.5 6.2008,1.5 1.5,6.2008 1.5,11.9997c0,0 0,0 0,0"
+ android:strokeWidth="1.49999"
+ android:fillColor="@color/mozac_ui_icons_fill"/>
+</vector>
View it on GitLab: https://gitlab.torproject.org/tpo/applications/android-components/-/compare/8de106baa5e269bfc6dac85f73cf75abe1948cce...b9984e1084c7e16d0f774257ec20a966370ea4b5
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/android-components/-/compare/8de106baa5e269bfc6dac85f73cf75abe1948cce...b9984e1084c7e16d0f774257ec20a966370ea4b5
You're receiving this email because of your account on gitlab.torproject.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.torproject.org/pipermail/tor-commits/attachments/20201002/7712c874/attachment-0001.htm>
More information about the tor-commits
mailing list