Skip to content

Commit

Permalink
Merge branch 'main' into task/410-stories-structure
Browse files Browse the repository at this point in the history
  • Loading branch information
ashiagr committed Oct 20, 2022
2 parents 4c46710 + d82e6fd commit cfb740f
Show file tree
Hide file tree
Showing 68 changed files with 429 additions and 173 deletions.
7 changes: 7 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,10 @@
7.26
-----

* New Features:
* Added a Halloween icon.
([#415](https://github.com/Automattic/pocket-casts-android/pull/415)).

7.25
-----

Expand Down
12 changes: 12 additions & 0 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -400,6 +400,18 @@
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity-alias>
<activity-alias
android:name=".ui.MainActivity_13"
android:label="@string/app_name"
android:targetActivity=".ui.MainActivity"
android:enabled="false"
android:exported="true"
android:icon="@mipmap/ic_launcher_halloween">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity-alias>

<activity android:name=".profile.sonos.SonosAppLinkActivity" android:label="@string/profile_sonos"/>

Expand Down
4 changes: 4 additions & 0 deletions fastlane/env/user.env-example
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
# Requires: 'repo'
GITHUB_TOKEN=<GitHub access token>

# Requires:
# Organizations: 'Automattic',
# REST Scopes: 'write_builds'
BUILDKITE_TOKEN=<Buildkite Personal Access Token>
7 changes: 7 additions & 0 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,13 @@
android.nonTransitiveRClass=true
android.useAndroidX=true

# Disable unused Android Gradle Plugin features
android.defaults.buildfeatures.aidl=false
android.defaults.buildfeatures.renderscript=false
android.defaults.buildfeatures.resvalues=false
android.defaults.buildfeatures.shaders=false

org.gradle.daemon=true
org.gradle.jvmargs=-Xmx8048M
org.gradle.parallel=true
org.gradle.caching=true
3 changes: 2 additions & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,5 @@ distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-all.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-all.zip
distributionSha256Sum=db9c8211ed63f61f60292c69e80d89196f9eb36665e369e7f00ac4cc841c2219
17 changes: 8 additions & 9 deletions metadata/release_notes.txt
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@

* Bug Fixes:
* Fix Mini Player long press mark as played button.
([#330](https://github.com/Automattic/pocket-casts-android/pull/330)).
* Fix Filters tab not always displaying the list of filters when it should.
([#342](https://github.com/Automattic/pocket-casts-android/pull/342)).
* Add a helpful alert if the user is signed out in the background.
([#340](https://github.com/Automattic/pocket-casts-android/pull/340)).
* Health:
* Migrate app to Android 13 by targeting the SDK version 33.
([#312](https://github.com/Automattic/pocket-casts-android/pull/312)).
* Allow Discover feed collection titles to wrap.
([#335](https://github.com/Automattic/pocket-casts-android/pull/335)).
* Allow select text in show notes from episode details view.
([#372](https://github.com/Automattic/pocket-casts-android/pull/372)).
* Added Automotive OS setting to show played episodes.
([#389](https://github.com/Automattic/pocket-casts-android/pull/389)).
* Added new episode lists to Automotive OS. Starred, Listening History, and Files.
([#403](https://github.com/Automattic/pocket-casts-android/pull/403)).

21 changes: 12 additions & 9 deletions modules/features/account/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -13,17 +13,20 @@ android {
}

dependencies {
// features
implementation project(':modules:features:cartheme')
implementation project(':modules:features:settings')

// services
implementation project(':modules:services:analytics')
implementation project(':modules:services:compose')
implementation project(':modules:services:images')
implementation project(':modules:services:localization')
implementation project(':modules:services:model')
implementation project(':modules:services:preferences')
implementation project(':modules:services:utils')
implementation project(':modules:services:images')
implementation project(':modules:services:ui')
implementation project(':modules:services:compose')
implementation project(':modules:services:views')
implementation project(':modules:services:repositories')
implementation project(':modules:services:servers')
implementation project(':modules:services:model')
implementation project(':modules:services:analytics')
implementation project(':modules:features:cartheme')
implementation project(':modules:features:settings')
implementation project(':modules:services:ui')
implementation project(':modules:services:utils')
implementation project(':modules:services:views')
}
21 changes: 12 additions & 9 deletions modules/features/discover/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -10,18 +10,21 @@ android {
}

dependencies {
// features
implementation project(':modules:features:account')
implementation project(':modules:features:podcasts')
implementation project(':modules:features:search')

// services
implementation project(':modules:services:analytics')
implementation project(':modules:services:compose')
implementation project(':modules:services:localization')
implementation project(':modules:services:images')
implementation project(':modules:services:model')
implementation project(':modules:services:preferences')
implementation project(':modules:services:repositories')
implementation project(':modules:services:servers')
implementation project(':modules:services:utils')
implementation project(':modules:services:images')
implementation project(':modules:services:ui')
implementation project(':modules:services:compose')
implementation project(':modules:services:views')
implementation project(':modules:services:servers')
implementation project(':modules:services:repositories')
implementation project(':modules:services:model')
implementation project(':modules:services:analytics')
implementation project(':modules:features:podcasts')
implementation project(':modules:features:search')
implementation project(':modules:features:account')
}
15 changes: 9 additions & 6 deletions modules/features/filters/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,18 @@ android {
}

dependencies {
// features
implementation project(':modules:features:podcasts')

// services
implementation project(':modules:services:analytics')
implementation project(':modules:services:compose')
implementation project(':modules:services:images')
implementation project(':modules:services:localization')
implementation project(':modules:services:model')
implementation project(':modules:services:preferences')
implementation project(':modules:services:repositories')
implementation project(':modules:services:utils')
implementation project(':modules:services:images')
implementation project(':modules:services:ui')
implementation project(':modules:services:compose')
implementation project(':modules:services:views')
implementation project(':modules:services:repositories')
implementation project(':modules:services:model')
implementation project(':modules:services:analytics')
implementation project(':modules:features:podcasts')
}
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ class CreateFilterViewModel @Inject constructor(
userChangedFilterName.changedSinceFilterUpdated = false
userChangedIcon.changedSinceFilterUpdated = false

playlistManager.update(playlist, userPlaylistUpdate)
playlistManager.update(playlist, userPlaylistUpdate, isCreatingFilter = true)
}

fun updateAutodownload(autoDownload: Boolean) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@ import androidx.lifecycle.Observer
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import androidx.recyclerview.widget.SimpleItemAnimator
import au.com.shiftyjelly.pocketcasts.analytics.AnalyticsEvent
import au.com.shiftyjelly.pocketcasts.analytics.AnalyticsTrackerWrapper
import au.com.shiftyjelly.pocketcasts.filters.databinding.FragmentFilterBinding
import au.com.shiftyjelly.pocketcasts.localization.extensions.getStringPluralPodcasts
import au.com.shiftyjelly.pocketcasts.models.entity.Episode
Expand Down Expand Up @@ -83,6 +85,7 @@ class FilterEpisodeListFragment : BaseFragment() {
@Inject lateinit var castManager: CastManager
@Inject lateinit var upNextQueue: UpNextQueue
@Inject lateinit var multiSelectHelper: MultiSelectHelper
@Inject lateinit var analyticsTracker: AnalyticsTrackerWrapper

private lateinit var imageLoader: PodcastImageLoader

Expand Down Expand Up @@ -388,11 +391,20 @@ class FilterEpisodeListFragment : BaseFragment() {
multiSelectHelper.isMultiSelectingLive.observe(
viewLifecycleOwner,
Observer {

if (!multiSelectLoaded) {
multiSelectLoaded = true
return@Observer // Skip the initial value or else it will always hide the filter controls on load
}

analyticsTracker.track(
if (it) {
AnalyticsEvent.FILTER_MULTI_SELECT_ENTERED
} else {
AnalyticsEvent.FILTER_MULTI_SELECT_EXITED
}
)

if (!multiSelectToolbar.isVisible) {
showingFilterOptionsBeforeMultiSelect = layoutFilterOptions.isVisible
setShowFilterOptions(false)
Expand All @@ -408,6 +420,7 @@ class FilterEpisodeListFragment : BaseFragment() {
multiSelectHelper.coordinatorLayout = (activity as FragmentHostListener).snackBarView()
multiSelectHelper.listener = object : MultiSelectHelper.Listener {
override fun multiSelectSelectAll() {
analyticsTracker.track(AnalyticsEvent.FILTER_SELECT_ALL_BUTTON_TAPPED)
val episodes = viewModel.episodesList.value
if (episodes != null) {
multiSelectHelper.selectAllInList(episodes)
Expand All @@ -424,6 +437,7 @@ class FilterEpisodeListFragment : BaseFragment() {
}

override fun multiSelectSelectAllUp(episode: Playable) {
analyticsTracker.track(AnalyticsEvent.FILTER_SELECT_ALL_ABOVE)
val episodes = viewModel.episodesList.value
if (episodes != null) {
val startIndex = episodes.indexOf(episode)
Expand All @@ -436,6 +450,7 @@ class FilterEpisodeListFragment : BaseFragment() {
}

override fun multiSelectSelectAllDown(episode: Playable) {
analyticsTracker.track(AnalyticsEvent.FILTER_SELECT_ALL_BELOW)
val episodes = viewModel.episodesList.value
if (episodes != null) {
val startIndex = episodes.indexOf(episode)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -185,7 +185,7 @@ class PlayerHeaderFragment : BaseFragment(), PlayerClickListener {
val headerViewModel = it.podcastHeader
binding.viewModel = headerViewModel

binding.largePlayButton.setPlaying(isPlaying = headerViewModel.isPlaying, animate = false)
binding.largePlayButton.setPlaying(isPlaying = headerViewModel.isPlaying, animate = true)

val playerContrast1 = ThemeColor.playerContrast01(headerViewModel.theme)
binding.largePlayButton.setCircleTintColor(playerContrast1)
Expand Down
21 changes: 12 additions & 9 deletions modules/features/podcasts/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -10,18 +10,21 @@ android {
}

dependencies {
// features
implementation project(':modules:features:account')
implementation project(':modules:features:search')
implementation project(':modules:features:settings')

// services
implementation project(':modules:services:analytics')
implementation project(':modules:services:compose')
implementation project(':modules:services:images')
implementation project(':modules:services:model')
implementation project(':modules:services:localization')
implementation project(':modules:services:preferences')
implementation project(':modules:services:repositories')
implementation project(':modules:services:servers')
implementation project(':modules:services:utils')
implementation project(':modules:services:images')
implementation project(':modules:services:ui')
implementation project(':modules:services:compose')
implementation project(':modules:services:views')
implementation project(':modules:services:servers')
implementation project(':modules:services:repositories')
implementation project(':modules:services:model')
implementation project(':modules:services:analytics')
implementation project(':modules:features:search')
implementation project(':modules:features:settings')
implementation project(':modules:features:account')
}
26 changes: 14 additions & 12 deletions modules/features/profile/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -13,20 +13,22 @@ android {
}

dependencies {
implementation project(':modules:services:localization')
implementation project(':modules:services:preferences')
implementation project(':modules:services:utils')
// features
implementation project(':modules:features:account')
implementation project(':modules:features:cartheme')
implementation project(':modules:features:podcasts')
implementation project(':modules:features:settings')

// services
implementation project(':modules:services:analytics')
implementation project(':modules:services:compose')
implementation project(':modules:services:images')
implementation project(':modules:services:localization')
implementation project(':modules:services:model')
implementation project(':modules:services:preferences')
implementation project(':modules:services:repositories')
implementation project(':modules:services:servers')
implementation project(':modules:services:ui')
implementation project(':modules:services:compose')
implementation project(':modules:services:utils')
implementation project(':modules:services:views')
implementation project(':modules:services:servers')
implementation project(':modules:services:repositories')
implementation project(':modules:services:model')
implementation project(':modules:services:analytics')
implementation project(':modules:features:settings')
implementation project(':modules:features:podcasts')
implementation project(':modules:features:cartheme')
implementation project(':modules:features:account')
}
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ class AppearanceIconSettingsAdapter(
val showOption = !appIcon.isPlus || isPlusSignedIn
binding.appIconItem.alpha = if (showOption) 1.0f else 0.65f

val drawable = AppCompatResources.getDrawable(itemView.context, appIcon.resourceId)
val drawable = AppCompatResources.getDrawable(itemView.context, appIcon.settingsIcon)
binding.imgIcon.setImageDrawable(drawable)
var tickDrawable: Drawable? = null
if (showOption && selected) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -214,12 +214,19 @@ enum class AnalyticsEvent(val key: String) {
ANALYTICS_OPT_OUT("analytics_opt_out"),
SETTINGS_SHOW_PRIVACY_POLICY("settings_show_privacy_policy"),

/* Filters screen */
/* Filters */
FILTER_AUTO_DOWNLOAD_LIMIT_UPDATED("filter_auto_download_limit_updated"),
FILTER_AUTO_DOWNLOAD_UPDATED("filter_auto_download_updated"),
FILTER_CREATED("filter_created"),
FILTER_DELETED("filter_deleted"),
FILTER_EDIT_DISMISSED("filter_edit_dismissed"),
FILTER_LIST_REORDERED("filter_list_reordered"),
FILTER_LIST_SHOWN("filter_list_shown"),
FILTER_MULTI_SELECT_ENTERED("filter_multi_select_entered"),
FILTER_MULTI_SELECT_EXITED("filter_multi_select_exited"),
FILTER_SELECT_ALL_BUTTON_TAPPED("filter_select_all_button_tapped"),
FILTER_SELECT_ALL_ABOVE("filter_select_all_above"),
FILTER_SELECT_ALL_BELOW("filter_select_all_below"),
FILTER_SHOWN("filter_shown"),
FILTER_SORT_BY_CHANGED("filter_sort_by_changed"),
FILTER_UPDATED("filter_updated"),
Expand Down Expand Up @@ -276,7 +283,6 @@ enum class AnalyticsEvent(val key: String) {
PLAYBACK_EFFECT_TRIM_SILENCE_TOGGLED("playback_effect_trim_silence_toggled"),
PLAYBACK_EFFECT_TRIM_SILENCE_AMOUNT_CHANGED("playback_effect_trim_silence_amount_changed"),
PLAYBACK_EFFECT_VOLUME_BOOST_TOGGLED("playback_effect_volume_boost_toggled"),
FILTER_LIST_REORDERED("filter_list_reordered"),

/* Player - Shelf */
PLAYER_SHELF_ACTION_TAPPED("player_shelf_action_tapped"),
Expand Down
8 changes: 4 additions & 4 deletions modules/services/compose/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,11 @@ android {
}

dependencies {
implementation project(':modules:services:images')
implementation project(':modules:services:localization')
implementation project(':modules:services:model')
implementation project(':modules:services:preferences')
implementation project(':modules:services:utils')
implementation project(':modules:services:ui')
implementation project(':modules:services:images')
implementation project(':modules:services:repositories')
implementation project(':modules:services:model')
implementation project(':modules:services:ui')
implementation project(':modules:services:utils')
}
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="432dp"
android:height="432dp"
android:viewportWidth="432"
android:viewportHeight="432">
<path
android:pathData="M126,216C126,166.29 166.29,126 216,126C265.71,126 306,166.29 306,216H283.5C283.5,178.72 253.28,148.5 216,148.5C178.72,148.5 148.5,178.72 148.5,216C148.5,253.28 178.72,283.5 216,283.5V306C166.29,306 126,265.71 126,216ZM216,270C186.18,270 162,245.82 162,216C162,186.18 186.18,162 216,162C245.82,162 270,186.18 270,216H250.36C250.36,197.02 234.98,181.64 216,181.64C197.02,181.64 181.64,197.02 181.64,216C181.64,234.98 197.02,250.36 216,250.36V270Z"
android:fillColor="#ffffff"
android:fillType="evenOdd"/>
<path
android:pathData="M272.77,242.73C274.03,236.14 271.63,230.75 269.97,228.01C268.67,227.9 265.38,228.5 263.51,230.21C265.51,232.06 268.55,235.84 270.19,242.69C270.54,242.67 270.89,242.6 271.24,242.6C271.76,242.6 272.26,242.68 272.77,242.73V242.73ZM297.77,251.64C295.94,249.41 289.13,243.22 279.51,244.78C286.08,248.75 287.97,255.26 287.97,255.26C287.97,255.26 282.68,246.12 271.42,246.12C260.14,246.12 254.85,255.26 254.85,255.26C254.85,255.26 256.91,248.75 263.49,244.78C253.87,243.22 247.05,249.41 245.24,251.64C240.59,257.34 238,265.16 238,272.8C238,291.11 253.03,306 271.5,306C289.98,306 305,291.11 305,272.8C305,265.16 302.42,257.34 297.77,251.64H297.77ZM271.52,272.71L275.53,279.81H267.52L271.52,272.71ZM266.86,268.33C266.86,268.33 264.58,274.27 259.88,277.04C251.76,272.26 248.98,262.2 248.98,262.2C253.16,265.34 259.67,267.89 266.86,268.33L266.86,268.33ZM281.95,295.11L280.76,293.93L277.21,296.13L275.78,294.64L271.43,297.13L267.07,294.64L265.65,296.13L262.1,293.93L260.91,295.11C253.35,291.19 251.24,281.97 251.24,281.97C254.89,286.35 262.02,288.12 262.02,288.12L263.45,285.87L267.67,287.68L271.43,285.11L275.19,287.68L279.42,285.87L280.84,288.12C280.84,288.12 287.97,286.35 291.61,281.97C291.62,281.97 289.5,291.19 281.95,295.11H281.95ZM283.13,277.04C278.42,274.27 276.15,268.33 276.15,268.33C283.33,267.89 289.84,265.34 294.03,262.21C294.02,262.2 291.24,272.26 283.13,277.04L283.13,277.04Z"
android:fillColor="#ffffff"/>
</vector>
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@mipmap/ic_launcher_halloween_background"/>
<foreground android:drawable="@mipmap/ic_launcher_halloween_foreground"/>
<monochrome android:drawable="@drawable/ic_launcher_halloween_monochrome" />
</adaptive-icon>
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@mipmap/ic_launcher_halloween_background"/>
<foreground android:drawable="@mipmap/ic_launcher_halloween_foreground"/>
<monochrome android:drawable="@drawable/ic_launcher_monochrome" />
</adaptive-icon>
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit cfb740f

Please sign in to comment.