[go: nahoru, domu]

Merge Density and DensityScope. Remove ambientDensity()

1) Renamed `DensityScope` to `Density` and bring the `density` and `fontScale` `val` properties into it directly
2) Provided a concrete implementation `DensityImpl` as a private data class
3) Provided a default factory `fun Density(...): Density` that returns a `DensityImpl`
4) Removed ambientDensity() in favour of using DensityAmbient.current directly
5) Removed withDensity(density) as now we can just use with(density)

A lot of tests are affected, but the changes there are just the replacements of the usage.

Relnote: Density and DensityScope were merged into one interface. Instead of ambientDensity() you can now use DensityAmbient.current. Instead of withDensity(density) just with(density)
Test: run all tests, demo app
Bug: 147672883
Bug: 148380287
Change-Id: I11cb1f069a95f32f4ecab631f49d38dc1c071a42
diff --git a/ui/ui-unit/api/public_plus_experimental_current.txt b/ui/ui-unit/api/public_plus_experimental_current.txt
index 905d27a0..95030e4 100644
--- a/ui/ui-unit/api/public_plus_experimental_current.txt
+++ b/ui/ui-unit/api/public_plus_experimental_current.txt
@@ -14,23 +14,9 @@
     method public androidx.ui.unit.Dp getTop();
   }
 
-  public final class Density {
-    ctor public Density(float density, float fontScale);
-    method public float component1();
-    method public float component2();
-    method public androidx.ui.unit.Density copy(float density, float fontScale);
+  public interface Density {
     method public float getDensity();
     method public float getFontScale();
-  }
-
-  public final class DensityKt {
-    method public static androidx.ui.unit.Density Density(android.content.Context context);
-    method public static androidx.ui.unit.DensityScope DensityScope(androidx.ui.unit.Density density);
-    method public static inline <R> R! withDensity(androidx.ui.unit.Density density, kotlin.jvm.functions.Function1<? super androidx.ui.unit.DensityScope,? extends R> block);
-  }
-
-  public interface DensityScope {
-    method public androidx.ui.unit.Density getDensity();
     method public default androidx.ui.unit.Dp toDp(androidx.ui.unit.TextUnit);
     method public default androidx.ui.unit.Dp toDp(androidx.ui.unit.Px);
     method public default androidx.ui.unit.Dp toDp(androidx.ui.unit.IntPx);
@@ -47,7 +33,13 @@
     method public default androidx.ui.unit.TextUnit toSp(androidx.ui.unit.IntPx);
     method public default androidx.ui.unit.TextUnit toSp(float);
     method public default androidx.ui.unit.TextUnit toSp(int);
-    property public abstract androidx.ui.unit.Density density;
+    property public abstract float density;
+    property public abstract float fontScale;
+  }
+
+  public final class DensityKt {
+    method public static androidx.ui.unit.Density Density(android.content.Context context);
+    method public static androidx.ui.unit.Density Density(float density, float fontScale = 1f);
   }
 
   public final class Dp implements java.lang.Comparable<androidx.ui.unit.Dp> {