Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
e0a5058
Use StandardCharsets.UTF_8 for UriUtils reading and writing
reemab1 Sep 16, 2026
44c3a94
Update kotlin-metadata-jvm for Kotlin 2.4.0
jolauridsen Sep 14, 2026
2293811
Import translations. DO NOT MERGE ANYWHERE
Sep 19, 2026
1c32227
Import translations. DO NOT MERGE ANYWHERE
Sep 19, 2026
e9c6230
Import translations. DO NOT MERGE ANYWHERE
Sep 19, 2026
ff421c0
Pin to a more stable version or xr deps in xr compose
liutikas Sep 21, 2026
42534ee
Propagate TypefaceResolver to GraphContext and RcPlayerText
yschimke Sep 21, 2026
07d39ac
Remove usage of legacyDisableKotlinStrictApiMode in datastore
liutikas Sep 21, 2026
9d9b277
Migrate callers to RemoteState non-composable constructors
yschimke Sep 17, 2026
2d3658c
Add Showcase demo for TabTemplate endAction.
Sep 17, 2026
271a679
Fix IllegalStateException in OHG GestureNode.updateCompositionLocals.
kpaikena Sep 18, 2026
6b1c14d
Upgrade deps to fix vulns in androidx.test.backup:backup-host
Sep 18, 2026
5bb6eb1
Upgrade bouncycastle in :car:app:app-testing
Sep 21, 2026
f8f5e9c
Remove use of legacyDisableKotlinStrictApiMode in benchmark-macro libs
liutikas Sep 18, 2026
481857a
Merge "Add Showcase demo for TabTemplate endAction." into androidx-main
Sep 21, 2026
b97c447
Merge "Remove usage of legacyDisableKotlinStrictApiMode in datastore"…
Sep 21, 2026
65f2a9e
Merge "Migrate callers to RemoteState non-composable constructors" in…
yschimke Sep 21, 2026
a5d2014
Merge "Propagate TypefaceResolver to GraphContext and RcPlayerText" i…
yschimke Sep 21, 2026
78f3e6a
Merge "Fix IllegalStateException in OHG GestureNode.updateComposition…
kpaikena Sep 21, 2026
58cc613
Update OneHandedGestures to draw indicator pointer background with pa…
Sep 21, 2026
e6baf04
Remove AppFunctionCallerVerificationReceiver from default manifest
mingweiliao Sep 21, 2026
d53690d
Merge "Pin to a more stable version or xr deps in xr compose" into an…
Sep 21, 2026
d335319
Merge "Update OneHandedGestures to draw indicator pointer background …
Sep 21, 2026
8c66f12
Merge "Remove AppFunctionCallerVerificationReceiver from default mani…
Sep 21, 2026
2499de7
Merge changes from topic "fix_vulns" into androidx-main
Sep 21, 2026
5fef1d9
Merge "Remove use of legacyDisableKotlinStrictApiMode in benchmark-ma…
Sep 21, 2026
1d7fff3
Merge "Import translations. DO NOT MERGE ANYWHERE" into androidx-main
Sep 21, 2026
58bd84b
Merge "Import translations. DO NOT MERGE ANYWHERE" into androidx-main
Sep 21, 2026
9bbb423
Merge "Import translations. DO NOT MERGE ANYWHERE" into androidx-main
Sep 21, 2026
b946c99
Merge "Update kotlin-metadata-jvm for Kotlin 2.4.0" into androidx-main
jolauridsen Sep 21, 2026
314f30f
Merge "Use StandardCharsets.UTF_8 for UriUtils reading and writing" i…
reemab1 Sep 21, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 0 additions & 3 deletions appfunctions/appfunctions/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,5 @@
<property
android:name="android.app.appfunctions.schema"
android:value="app_functions_schema.xsd" />
<receiver
android:name="androidx.appfunctions.internal.AppFunctionCallerVerificationReceiver"
android:exported="false" />
</application>
</manifest>
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,10 @@

<application
android:name=".TestApplication"
android:supportsRtl="true" />
android:supportsRtl="true" >
<receiver
android:name="androidx.appfunctions.internal.AppFunctionCallerVerificationReceiver"
android:exported="false" />
</application>

</manifest>
Original file line number Diff line number Diff line change
Expand Up @@ -105,5 +105,8 @@
<action android:name="androidx.appfunctions.integration.testapp.ACTION_SET_STATE" />
</intent-filter>
</receiver>
<receiver
android:name="androidx.appfunctions.internal.AppFunctionCallerVerificationReceiver"
android:exported="false" />
</application>
</manifest>
1 change: 0 additions & 1 deletion benchmark/benchmark-macro-junit4/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,6 @@ androidx {
type = SoftwareType.PUBLISHED_LIBRARY
inceptionYear = "2020"
description = "Android Benchmark - Macrobenchmark JUnit4"
legacyDisableKotlinStrictApiMode = true
deviceTests {
targetAppProject = project(":benchmark:integration-tests:macrobenchmark-target")
targetAppVariant = "release"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ import org.junit.runners.model.Statement
* @sample androidx.benchmark.samples.baselineProfileRuleLibrarySample
*/
@RequiresApi(28)
class BaselineProfileRule : TestRule {
public class BaselineProfileRule : TestRule {
private lateinit var currentDescription: Description

override fun apply(base: Statement, description: Description): Statement =
Expand Down Expand Up @@ -81,7 +81,7 @@ class BaselineProfileRule : TestRule {
* @param [profileBlock] defines the critical user journey.
*/
@JvmOverloads
fun collect(
public fun collect(
packageName: String,
maxIterations: Int = 15,
stableIterations: Int = 3,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ import org.junit.runner.Result
*/
@Suppress("unused", "RestrictedApiAndroidX") // referenced by inst arg at runtime
@RestrictTo(RestrictTo.Scope.LIBRARY)
class InstrumentationResultsRunListener : InstrumentationRunListener() {
public class InstrumentationResultsRunListener : InstrumentationRunListener() {
override fun instrumentationRunFinished(
streamResult: PrintStream?,
resultBundle: Bundle,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ import org.junit.runners.model.Statement
*
* @sample androidx.benchmark.samples.macrobenchmarkRuleSample
*/
class MacrobenchmarkRule : TestRule {
public class MacrobenchmarkRule : TestRule {
private lateinit var currentDescription: Description

/**
Expand Down Expand Up @@ -75,7 +75,7 @@ class MacrobenchmarkRule : TestRule {
* @param measureBlock The block performing app actions to benchmark each iteration.
*/
@JvmOverloads
fun measureRepeated(
public fun measureRepeated(
packageName: String,
metrics: List<Metric>,
compilationMode: CompilationMode = CompilationMode.DEFAULT,
Expand Down Expand Up @@ -143,7 +143,7 @@ class MacrobenchmarkRule : TestRule {
*/
@ExperimentalBenchmarkConfigApi
@JvmOverloads
fun measureRepeated(
public fun measureRepeated(
packageName: String,
metrics: List<Metric>,
@IntRange(from = 1) iterations: Int,
Expand All @@ -168,6 +168,10 @@ class MacrobenchmarkRule : TestRule {
)
}

/**
* @param perfettoConfig Configuration for Perfetto trace capture during each iteration. Note
* that insufficient or invalid configs may result in built-in [Metric]s not working.
*/
@ExperimentalBenchmarkConfigApi
@JvmOverloads
@Deprecated(
Expand All @@ -179,11 +183,7 @@ class MacrobenchmarkRule : TestRule {
),
level = DeprecationLevel.WARNING,
)
/**
* @param perfettoConfig Configuration for Perfetto trace capture during each iteration. Note
* that insufficient or invalid configs may result in built-in [Metric]s not working.
*/
fun measureRepeated(
public fun measureRepeated(
packageName: String,
metrics: List<Metric>,
@IntRange(from = 1) iterations: Int,
Expand All @@ -192,7 +192,7 @@ class MacrobenchmarkRule : TestRule {
startupMode: StartupMode? = null,
setupBlock: MacrobenchmarkScope.() -> Unit = {},
measureBlock: MacrobenchmarkScope.() -> Unit,
) =
): Unit =
measureRepeated(
packageName,
metrics,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ import org.junit.runner.notification.RunListener
/** Enables the use of side-effects that reduce the noise during a macro benchmark run. */
@Suppress("unused") // referenced by inst arg at runtime
@RestrictTo(RestrictTo.Scope.LIBRARY)
class SideEffectRunListener : RunListener() {
public class SideEffectRunListener : RunListener() {
private val delegate: RunListenerDelegate =
RunListenerDelegate(sideEffects = listOf(DisablePackages(), DisableDexOpt()))

Expand Down
1 change: 0 additions & 1 deletion benchmark/benchmark-macro/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,6 @@ androidx {
type = SoftwareType.PUBLISHED_LIBRARY
inceptionYear = "2020"
description = "Android Benchmark - Macrobenchmark"
legacyDisableKotlinStrictApiMode = true
deviceTests {
enableAlsoRunningOnPhysicalDevices = true
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@

package androidx.benchmark.macro

class BaselineProfileConfig
public class BaselineProfileConfig
internal constructor(
private val outputFilePrefix: String?,
private val packageName: String,
Expand All @@ -32,22 +32,22 @@ internal constructor(
* @return An optional file name prefix used when creating the output file with the contents of
* the human readable baseline profile. For example: `outputFilePrefix-baseline-prof.txt`
*/
fun getOutputFilePrefix(): String? = outputFilePrefix
public fun getOutputFilePrefix(): String? = outputFilePrefix

/** @return The Package name of the app for which profiles are to be generated. */
fun getPackageName(): String = packageName
public fun getPackageName(): String = packageName

/** @return the he critical user journey. */
fun getProfileBlock(): MacrobenchmarkScope.() -> Unit = profileBlock
public fun getProfileBlock(): MacrobenchmarkScope.() -> Unit = profileBlock

/** @return the maximum number of iterations to run when collecting profiles. */
fun getMaxIterations(): Int = maxIterations
public fun getMaxIterations(): Int = maxIterations

/**
* @return the minimum number of iterations to observe as stable before assuming stability, and
* completing profile generation.
*/
fun getStableIterations(): Int = stableIterations
public fun getStableIterations(): Int = stableIterations

/**
* Determines whether the generated profile should be also used as a startup profile. A startup
Expand All @@ -56,16 +56,16 @@ internal constructor(
* flows, such as main application startup pre and post login or other entry points of the app.
* Note that methods collected in a startup profiles are also utilized for baseline profiles.
*/
fun isIncludeInStartupProfile(): Boolean = includeInStartupProfile
public fun isIncludeInStartupProfile(): Boolean = includeInStartupProfile

/** @return `true` iff we enforce that the generated profile was stable */
fun isStrictStability(): Boolean = strictStability
public fun isStrictStability(): Boolean = strictStability

/** @return the function used to filter individual rules / lines of the baseline profile. */
fun getFilterPredicate(): (String) -> Boolean = filterPredicate
public fun getFilterPredicate(): (String) -> Boolean = filterPredicate

/** Can be used to build a [androidx.benchmark.macro.BaselineProfileConfig] instance. */
class Builder
public class Builder
public constructor(
private val packageName: String,
private val profileBlock: MacrobenchmarkScope.() -> Unit,
Expand All @@ -84,7 +84,7 @@ internal constructor(
* @return The [androidx.benchmark.macro.BaselineProfileConfig.Builder] instance for
* chaining.
*/
fun setOutputFilePrefix(outputFilePrefix: String): Builder {
public fun setOutputFilePrefix(outputFilePrefix: String): Builder {
this.outputFilePrefix = outputFilePrefix
return this
}
Expand All @@ -95,7 +95,7 @@ internal constructor(
* @return The [androidx.benchmark.macro.BaselineProfileConfig.Builder] instance for
* chaining.
*/
fun setMaxIterations(maxIterations: Int): Builder {
public fun setMaxIterations(maxIterations: Int): Builder {
this.maxIterations = maxIterations
return this
}
Expand All @@ -107,7 +107,7 @@ internal constructor(
* @return The [androidx.benchmark.macro.BaselineProfileConfig.Builder] instance for
* chaining.
*/
fun setStableIterations(stableIterations: Int): Builder {
public fun setStableIterations(stableIterations: Int): Builder {
this.stableIterations = stableIterations
return this
}
Expand All @@ -123,7 +123,7 @@ internal constructor(
* @return The [androidx.benchmark.macro.BaselineProfileConfig.Builder] instance for
* chaining.
*/
fun setIncludeInStartupProfile(includeInStartupProfile: Boolean): Builder {
public fun setIncludeInStartupProfile(includeInStartupProfile: Boolean): Builder {
this.includeInStartupProfile = includeInStartupProfile
return this
}
Expand All @@ -134,7 +134,7 @@ internal constructor(
* @return The [androidx.benchmark.macro.BaselineProfileConfig.Builder] instance for
* chaining.
*/
fun setStrictStability(strictStability: Boolean): Builder {
public fun setStrictStability(strictStability: Boolean): Builder {
this.strictStability = strictStability
return this
}
Expand All @@ -147,13 +147,13 @@ internal constructor(
* @return The [androidx.benchmark.macro.BaselineProfileConfig.Builder] instance for
* chaining.
*/
fun setFilterPredicate(filterPredicate: (String) -> Boolean): Builder {
public fun setFilterPredicate(filterPredicate: (String) -> Boolean): Builder {
this.filterPredicate = filterPredicate
return this
}

/** @return the [androidx.benchmark.macro.BaselineProfileConfig] instance. */
fun build(): BaselineProfileConfig {
public fun build(): BaselineProfileConfig {
return BaselineProfileConfig(
outputFilePrefix = outputFilePrefix,
packageName = packageName,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ package androidx.benchmark.macro
* Choice of how the Baseline Profile in a target application should be included or ignored during
* pre-compilation.
*/
enum class BaselineProfileMode {
public enum class BaselineProfileMode {
/**
* Require the BaselineProfile methods/classes from the target app to be pre-compiled.
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ import java.io.File
*/
@RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)
@RequiresApi(28)
fun collect(
public fun collect(
uniqueName: String,
packageName: String,
stableIterations: Int,
Expand Down Expand Up @@ -389,7 +389,7 @@ private data class Summary(
/** A container for the results of collecting Baseline Profiles using the [collect] API. */
public class BaselineProfileResult(
/** A list of absolute file paths to the generated baseline profiles. */
val baselineProfiles: List<String> = emptyList(),
public val baselineProfiles: List<String> = emptyList(),
/** A list of absolute file paths to the generated startup profiles. */
val startupProfiles: List<String> = emptyList(),
public val startupProfiles: List<String> = emptyList(),
)
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,11 @@ import androidx.annotation.RestrictTo
import androidx.benchmark.DeviceInfo

@RestrictTo(RestrictTo.Scope.LIBRARY_GROUP_PREFIX)
object BatteryCharge {
public object BatteryCharge {

private const val MIN_BATTERY_PERCENT = 50

fun hasMinimumCharge(throwOnMissingMetrics: Boolean = false): Boolean {
public fun hasMinimumCharge(throwOnMissingMetrics: Boolean = false): Boolean {
if (DeviceInfo.initialBatteryPercent >= MIN_BATTERY_PERCENT) {
return true
}
Expand Down
Loading
Loading