Matthew Finkel pushed to branch tor-browser-91.0.0b5-11.0-1 at The Tor Project / Applications / fenix

Commits:

13 changed files:

Changes:

  • app/src/main/java/org/mozilla/fenix/components/Analytics.kt
    ... ... @@ -14,6 +14,7 @@ import mozilla.components.lib.crash.service.GleanCrashReporterService
    14 14
     import mozilla.components.lib.crash.service.MozillaSocorroService
    
    15 15
     import mozilla.components.lib.crash.service.SentryService
    
    16 16
     import mozilla.components.service.nimbus.NimbusApi
    
    17
    +import mozilla.components.service.nimbus.NimbusDisabled
    
    17 18
     import org.mozilla.fenix.BuildConfig
    
    18 19
     import org.mozilla.fenix.Config
    
    19 20
     import org.mozilla.fenix.HomeActivity
    
    ... ... @@ -101,7 +102,11 @@ class Analytics(
    101 102
         }
    
    102 103
     
    
    103 104
         val experiments: NimbusApi by lazyMonitored {
    
    104
    -        createNimbus(context, BuildConfig.NIMBUS_ENDPOINT)
    
    105
    +        if (BuildConfig.DATA_COLLECTION_DISABLED) {
    
    106
    +            NimbusDisabled()
    
    107
    +        } else {
    
    108
    +            createNimbus(context, BuildConfig.NIMBUS_ENDPOINT)
    
    109
    +        }
    
    105 110
         }
    
    106 111
     }
    
    107 112
     
    

  • app/src/main/java/org/mozilla/fenix/home/HomeFragment.kt
    ... ... @@ -835,6 +835,15 @@ class HomeFragment : Fragment() {
    835 835
                 activity?.window?.setBackgroundDrawableResource(R.drawable.private_home_background_gradient)
    
    836 836
             }
    
    837 837
     
    
    838
    +        // fenix#40176: Ensure the Home fragment is rendered correctly when we resume.
    
    839
    +        val localView = view
    
    840
    +        if (localView != null) {
    
    841
    +            val mode = currentMode.getCurrentMode()
    
    842
    +            adjustHomeFragmentView(mode, localView)
    
    843
    +            updateSessionControlView(localView)
    
    844
    +            showSessionControlView(localView)
    
    845
    +        }
    
    846
    +
    
    838 847
             hideToolbar()
    
    839 848
         }
    
    840 849
     
    

  • app/src/main/java/org/mozilla/fenix/home/sessioncontrol/SessionControlAdapter.kt
    ... ... @@ -25,7 +25,6 @@ import org.mozilla.fenix.home.sessioncontrol.viewholders.CollectionViewHolder
    25 25
     import org.mozilla.fenix.home.sessioncontrol.viewholders.NoCollectionsMessageViewHolder
    
    26 26
     import org.mozilla.fenix.home.sessioncontrol.viewholders.PrivateBrowsingDescriptionViewHolder
    
    27 27
     import org.mozilla.fenix.home.sessioncontrol.viewholders.TorBootstrapPagerViewHolder
    
    28
    -import org.mozilla.fenix.home.sessioncontrol.viewholders.TorInfoBannerViewHolder
    
    29 28
     import org.mozilla.fenix.home.sessioncontrol.viewholders.TabInCollectionViewHolder
    
    30 29
     import org.mozilla.fenix.home.sessioncontrol.viewholders.TopSitePagerViewHolder
    
    31 30
     import org.mozilla.fenix.home.sessioncontrol.viewholders.onboarding.ExperimentDefaultBrowserCardViewHolder
    
    ... ... @@ -91,7 +90,6 @@ sealed class AdapterItem(@LayoutRes val viewType: Int) {
    91 90
         }
    
    92 91
     
    
    93 92
         object PrivateBrowsingDescription : AdapterItem(PrivateBrowsingDescriptionViewHolder.LAYOUT_ID)
    
    94
    -    object TorInfoBanner : AdapterItem(TorInfoBannerViewHolder.LAYOUT_ID)
    
    95 93
         object NoCollectionsMessage : AdapterItem(NoCollectionsMessageViewHolder.LAYOUT_ID)
    
    96 94
     
    
    97 95
         object TorBootstrap : AdapterItem(TorBootstrapPagerViewHolder.LAYOUT_ID)
    
    ... ... @@ -231,10 +229,6 @@ class SessionControlAdapter(
    231 229
                     view,
    
    232 230
                     interactor
    
    233 231
                 )
    
    234
    -            TorInfoBannerViewHolder.LAYOUT_ID -> TorInfoBannerViewHolder(
    
    235
    -                view,
    
    236
    -                interactor
    
    237
    -            )
    
    238 232
                 TorBootstrapPagerViewHolder.LAYOUT_ID -> TorBootstrapPagerViewHolder(
    
    239 233
                     view,
    
    240 234
                     components,
    

  • app/src/main/java/org/mozilla/fenix/home/sessioncontrol/SessionControlController.kt
    ... ... @@ -94,11 +94,6 @@ interface SessionControlController {
    94 94
          */
    
    95 95
         fun handlePrivateBrowsingLearnMoreClicked()
    
    96 96
     
    
    97
    -    /**
    
    98
    -     * @see [TabSessionInteractor.onTorInfoBannerLaunchClicked]
    
    99
    -     */
    
    100
    -    fun handleTorInfoBannerLaunchClicked()
    
    101
    -
    
    102 97
         /**
    
    103 98
          * @see [TopSiteInteractor.onRenameTopSiteClicked]
    
    104 99
          */
    
    ... ... @@ -652,12 +647,4 @@ class DefaultSessionControlController(
    652 647
         override fun handleTorNetworkSettingsClicked() {
    
    653 648
             openTorNetworkSettings()
    
    654 649
         }
    
    655
    -
    
    656
    -    override fun handleTorInfoBannerLaunchClicked() {
    
    657
    -        activity.openToBrowserAndLoad(
    
    658
    -            searchTermOrURL = SupportUtils.TOR_INFO_BANNER_URL,
    
    659
    -            newTab = true,
    
    660
    -            from = BrowserDirection.FromHome
    
    661
    -        )
    
    662
    -    }
    
    663 650
     }

  • app/src/main/java/org/mozilla/fenix/home/sessioncontrol/SessionControlInteractor.kt
    ... ... @@ -23,12 +23,6 @@ interface TabSessionInteractor {
    23 23
          * "Common myths about private browsing" link in private mode.
    
    24 24
          */
    
    25 25
         fun onPrivateBrowsingLearnMoreClicked()
    
    26
    -
    
    27
    -    /**
    
    28
    -     * Shows the Info Banner web page in a new tab. Called when a user clicks on the
    
    29
    -     * "Learn More" button.
    
    30
    -     */
    
    31
    -    fun onTorInfoBannerLaunchClicked()
    
    32 26
     }
    
    33 27
     
    
    34 28
     /**
    
    ... ... @@ -418,8 +412,4 @@ class SessionControlInteractor(
    418 412
         override fun onTorBootstrapNetworkSettingsClicked() {
    
    419 413
             controller.handleTorNetworkSettingsClicked()
    
    420 414
         }
    
    421
    -
    
    422
    -    override fun onTorInfoBannerLaunchClicked() {
    
    423
    -        controller.handleTorInfoBannerLaunchClicked()
    
    424
    -    }
    
    425 415
     }

  • app/src/main/java/org/mozilla/fenix/home/sessioncontrol/SessionControlView.kt
    ... ... @@ -92,7 +92,7 @@ private fun showCollections(
    92 92
         }
    
    93 93
     }
    
    94 94
     
    
    95
    -private fun privateModeAdapterItems() = listOf(AdapterItem.TorInfoBanner)
    
    95
    +private fun privateModeAdapterItems() = listOf(AdapterItem.PrivateBrowsingDescription)
    
    96 96
     
    
    97 97
     private fun bootstrapAdapterItems() = listOf(AdapterItem.TorBootstrap)
    
    98 98
     
    

  • app/src/main/java/org/mozilla/fenix/home/sessioncontrol/viewholders/TorInfoBannerViewHolder.kt deleted
    1
    -/* This Source Code Form is subject to the terms of the Mozilla Public
    
    2
    - * License, v. 2.0. If a copy of the MPL was not distributed with this
    
    3
    - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
    
    4
    -
    
    5
    -package org.mozilla.fenix.home.sessioncontrol.viewholders
    
    6
    -
    
    7
    -import android.graphics.Typeface
    
    8
    -import android.text.SpannableString
    
    9
    -import android.text.Spanned
    
    10
    -import android.text.style.StyleSpan
    
    11
    -import android.view.View
    
    12
    -import androidx.recyclerview.widget.RecyclerView
    
    13
    -import kotlinx.android.synthetic.main.tor_info_banner.view.*
    
    14
    -import org.mozilla.fenix.R
    
    15
    -import org.mozilla.fenix.home.sessioncontrol.TabSessionInteractor
    
    16
    -
    
    17
    -class TorInfoBannerViewHolder(
    
    18
    -    view: View,
    
    19
    -    private val interactor: TabSessionInteractor
    
    20
    -) : RecyclerView.ViewHolder(view) {
    
    21
    -
    
    22
    -    init {
    
    23
    -        with(view.info_banner_launch_button) {
    
    24
    -            setOnClickListener {
    
    25
    -                interactor.onTorInfoBannerLaunchClicked()
    
    26
    -            }
    
    27
    -        }
    
    28
    -
    
    29
    -        with(view.info_banner_description) {
    
    30
    -            val spannedString: SpannableString = SpannableString(text)
    
    31
    -            spannedString.setSpan(StyleSpan(Typeface.BOLD), 120, 138,
    
    32
    -                                  Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)
    
    33
    -            setText(spannedString)
    
    34
    -        }
    
    35
    -    }
    
    36
    -
    
    37
    -    companion object {
    
    38
    -        const val LAYOUT_ID = R.layout.tor_info_banner
    
    39
    -    }
    
    40
    -}

  • app/src/main/java/org/mozilla/fenix/settings/SupportUtils.kt
    ... ... @@ -40,7 +40,6 @@ object SupportUtils {
    40 40
         const val DONATE_URL = "https://donate.torproject.org/"
    
    41 41
         const val TB_MANUAL_URL = "https://tb-manual.torproject.org/mobile-tor"
    
    42 42
         const val TOR_RELEASES = "https://www.torproject.org/releases/"
    
    43
    -    const val TOR_INFO_BANNER_URL = "https://support.torproject.org/onionservices/#v2-deprecation"
    
    44 43
     
    
    45 44
         enum class SumoTopic(internal val topicStr: String) {
    
    46 45
             FENIX_MOVING("sync-delist"),
    

  • app/src/main/res/drawable/info_banner_padded_background.xml deleted
    1
    -<?xml version="1.0" encoding="utf-8"?><!-- This Source Code Form is subject to the terms of the Mozilla Public
    
    2
    -   - License, v. 2.0. If a copy of the MPL was not distributed with this
    
    3
    -   - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
    
    4
    -<ripple xmlns:android="http://schemas.android.com/apk/res/android"
    
    5
    -    android:color="@color/info_banner_padded_background_color">
    
    6
    -    <item
    
    7
    -        android:bottom="6dp"
    
    8
    -        android:top="6dp">
    
    9
    -        <shape android:shape="rectangle">
    
    10
    -            <corners android:radius="4dp" />
    
    11
    -        </shape>
    
    12
    -    </item>
    
    13
    -</ripple>

  • app/src/main/res/drawable/tor_banner_warning_icon.png deleted
    No preview for this file type
  • app/src/main/res/layout/fragment_home.xml
    ... ... @@ -94,8 +94,7 @@
    94 94
                 android:textColor="#DEFFFFFF"
    
    95 95
                 android:textSize="40sp"
    
    96 96
                 android:lineSpacingMultiplier="1.1"
    
    97
    -            app:layout_scrollFlags="scroll"
    
    98
    -            android:visibility="gone" />
    
    97
    +            app:layout_scrollFlags="scroll" />
    
    99 98
     
    
    100 99
         </com.google.android.material.appbar.AppBarLayout>
    
    101 100
     
    

  • app/src/main/res/layout/tor_info_banner.xml deleted
    1
    -<?xml version="1.0" encoding="utf-8"?>
    
    2
    -<!-- This Source Code Form is subject to the terms of the Mozilla Public
    
    3
    -   - License, v. 2.0. If a copy of the MPL was not distributed with this
    
    4
    -   - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
    
    5
    -<androidx.constraintlayout.widget.ConstraintLayout
    
    6
    -    xmlns:android="http://schemas.android.com/apk/res/android"
    
    7
    -    xmlns:app="http://schemas.android.com/apk/res-auto"
    
    8
    -    android:id="@+id/info_banner_wrapper"
    
    9
    -    style="@style/OnboardingCardLightWithPadding"
    
    10
    -    android:layout_width="match_parent"
    
    11
    -    android:layout_height="wrap_content"
    
    12
    -    android:clipChildren="false"
    
    13
    -    android:clipToPadding="false">
    
    14
    -
    
    15
    -    <LinearLayout
    
    16
    -        android:id="@+id/info_banner_header_wrapper"
    
    17
    -        android:layout_width="match_parent"
    
    18
    -        android:layout_height="wrap_content"
    
    19
    -        app:layout_constraintStart_toStartOf="parent"
    
    20
    -        app:layout_constraintTop_toTopOf="parent"
    
    21
    -        android:importantForAccessibility="no">
    
    22
    -
    
    23
    -        <ImageView
    
    24
    -            android:id="@+id/tor_info_banner_icon"
    
    25
    -            android:layout_width="wrap_content"
    
    26
    -            android:layout_height="32dp"
    
    27
    -            android:layout_marginEnd="10dp"
    
    28
    -            android:adjustViewBounds="true"
    
    29
    -            android:clickable="false"
    
    30
    -            android:focusable="false"
    
    31
    -            android:importantForAccessibility="no"
    
    32
    -            app:srcCompat="@drawable/tor_banner_warning_icon"/>
    
    33
    -
    
    34
    -        <TextView
    
    35
    -            android:id="@+id/info_banner_header"
    
    36
    -            android:layout_width="match_parent"
    
    37
    -            android:layout_height="wrap_content"
    
    38
    -            android:ellipsize="none"
    
    39
    -            android:lineSpacingExtra="6dp"
    
    40
    -            android:paddingHorizontal="4dp"
    
    41
    -            android:paddingTop="4dp"
    
    42
    -            android:scrollHorizontally="false"
    
    43
    -            android:textAlignment="viewStart"
    
    44
    -            android:textColor="?primaryText"
    
    45
    -            android:textSize="20sp"
    
    46
    -            android:text="" />
    
    47
    -    </LinearLayout>
    
    48
    -
    
    49
    -    <TextView
    
    50
    -        android:id="@+id/info_banner_description"
    
    51
    -        android:layout_width="match_parent"
    
    52
    -        android:layout_height="wrap_content"
    
    53
    -        android:ellipsize="none"
    
    54
    -        android:lineSpacingExtra="6dp"
    
    55
    -        android:paddingHorizontal="4dp"
    
    56
    -        android:paddingTop="4dp"
    
    57
    -        app:layout_constraintEnd_toEndOf="parent"
    
    58
    -        app:layout_constraintStart_toStartOf="parent"
    
    59
    -        app:layout_constraintTop_toBottomOf="@id/info_banner_header_wrapper"
    
    60
    -        android:scrollHorizontally="false"
    
    61
    -        android:textAlignment="viewStart"
    
    62
    -        android:textColor="?primaryText"
    
    63
    -        android:textSize="16sp"
    
    64
    -        android:text="Tor is ending its support for version 2 (v2) Onion Services, and v2 onion sites have since been deprecated. If you're a site administrator, upgrade to a v3 onion service immediately." />
    
    65
    -
    
    66
    -    <Button
    
    67
    -        style="@style/PositiveButton"
    
    68
    -        android:id="@+id/info_banner_launch_button"
    
    69
    -        android:text="Learn More"
    
    70
    -        android:layout_marginTop="16dp"
    
    71
    -        android:textSize="18dp"
    
    72
    -        android:textColor="@android:color/black"
    
    73
    -        android:background="@drawable/info_banner_padded_background"
    
    74
    -        android:fontFamily="Roboto-Medium"
    
    75
    -        app:layout_constraintEnd_toEndOf="parent"
    
    76
    -        app:layout_constraintStart_toStartOf="parent"
    
    77
    -        app:layout_constraintTop_toBottomOf="@id/info_banner_description" />
    
    78
    -
    
    79
    -</androidx.constraintlayout.widget.ConstraintLayout>

  • app/src/main/res/values/colors.xml
    ... ... @@ -424,7 +424,4 @@
    424 424
     
    
    425 425
         <!-- Toolbar menu icon colors -->
    
    426 426
         <color name="toolbar_menu_transparent">@android:color/transparent</color>
    
    427
    -
    
    428
    -    <!-- Tor -->
    
    429
    -    <color name="info_banner_padded_background_color">#A76FFA</color>
    
    430 427
     </resources>