summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2023-01-10 00:01:27 +0000
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2023-01-10 00:01:27 +0000
commitf4ec9c157071399e52e4ff33827c622dbb4e5b4a (patch)
tree883701d81daf79e3ea2eb08bf849c4f9753efa1b
parent8d408e82c15a567ea9c6776082538a4c01dadbdb (diff)
parent17dc2742ceeda00f2a79a3b37288791959d47293 (diff)
downloaddevelopment-f4ec9c157071399e52e4ff33827c622dbb4e5b4a.tar.gz
Snap for 9470583 from 17dc2742ceeda00f2a79a3b37288791959d47293 to tm-qpr3-release
Change-Id: Ibf3b18ad28f2290fe3a44458521724cb65fbaf5c
-rw-r--r--build/Android.bp5
-rw-r--r--samples/ApiDemos/res/layout/picture_in_picture.xml18
-rw-r--r--samples/ApiDemos/res/layout/picture_in_picture_content.xml1
-rw-r--r--samples/ApiDemos/res/values/strings.xml9
-rw-r--r--samples/ApiDemos/src/com/example/android/apis/app/PictureInPicture.java32
-rw-r--r--samples/ApiDemos/src/com/example/android/apis/view/FixedAspectRatioImageView.java9
-rw-r--r--sdk/build_tools_source.prop_template2
-rw-r--r--tools/motion/OWNERS3
8 files changed, 75 insertions, 4 deletions
diff --git a/build/Android.bp b/build/Android.bp
index a97bafb5d..535cd5a02 100644
--- a/build/Android.bp
+++ b/build/Android.bp
@@ -161,7 +161,10 @@ genrule {
java_device_for_host {
name: "build-tools_core-lambda-stubs-device",
visibility: ["//visibility:private"],
- libs: ["core-lambda-stubs"],
+ // Use the prebuilt of the stubs irrespective of whether prebuilts are enabled
+ // in this build configuration. This ensures that this non-host specific library
+ // is treated consistently on all hosts.
+ libs: ["prebuilt_core-lambda-stubs"],
target: {
windows: {
enabled: true,
diff --git a/samples/ApiDemos/res/layout/picture_in_picture.xml b/samples/ApiDemos/res/layout/picture_in_picture.xml
index e33d373e2..3d44bcfd9 100644
--- a/samples/ApiDemos/res/layout/picture_in_picture.xml
+++ b/samples/ApiDemos/res/layout/picture_in_picture.xml
@@ -102,6 +102,24 @@
</RadioGroup>
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:padding="8dp"
+ android:orientation="horizontal">
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="@string/label_aspect_ratio" />
+
+ <Spinner
+ android:id="@+id/aspect_ratio"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1" />
+ </LinearLayout>
+
<Button
android:id="@+id/enter_pip_button"
android:layout_width="wrap_content"
diff --git a/samples/ApiDemos/res/layout/picture_in_picture_content.xml b/samples/ApiDemos/res/layout/picture_in_picture_content.xml
index bae18db89..8e948b91b 100644
--- a/samples/ApiDemos/res/layout/picture_in_picture_content.xml
+++ b/samples/ApiDemos/res/layout/picture_in_picture_content.xml
@@ -14,6 +14,7 @@
~ See the License for the specific language governing permissions and
~ limitations under the License.
-->
+<!-- Note that app:aspectRatio can be changed dynamically. -->
<com.example.android.apis.view.FixedAspectRatioImageView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
diff --git a/samples/ApiDemos/res/values/strings.xml b/samples/ApiDemos/res/values/strings.xml
index 3e1478aba..9c981ecc1 100644
--- a/samples/ApiDemos/res/values/strings.xml
+++ b/samples/ApiDemos/res/values/strings.xml
@@ -74,6 +74,15 @@
<string name="label_exit_position">Exit position</string>
<string name="label_position_start">Start</string>
<string name="label_position_end">End</string>
+ <string name="label_aspect_ratio">Aspect Ratio</string>
+ <!-- List of aspect ratio to demo, we use Rational.parseRational to parse what's inside () -->
+ <string-array name="aspect_ratio_list">
+ <item>Extreme wide (21/9)</item>
+ <item>Video (16/9)</item>
+ <item>Square (1/1)</item>
+ <item>Video call (9/16)</item>
+ <item>Extreme tall (9/21)</item>
+ </string-array>
<string name="activity_keep_clear">App/Activity/Keep Clear Rects</string>
<string name="keep_clear_property_set">
diff --git a/samples/ApiDemos/src/com/example/android/apis/app/PictureInPicture.java b/samples/ApiDemos/src/com/example/android/apis/app/PictureInPicture.java
index f2c08c870..da06cf7bb 100644
--- a/samples/ApiDemos/src/com/example/android/apis/app/PictureInPicture.java
+++ b/samples/ApiDemos/src/com/example/android/apis/app/PictureInPicture.java
@@ -39,14 +39,18 @@ import android.util.Rational;
import android.view.Gravity;
import android.view.View;
import android.view.WindowManager;
+import android.widget.AdapterView;
+import android.widget.ArrayAdapter;
import android.widget.CompoundButton;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.RadioGroup;
+import android.widget.Spinner;
import android.widget.Switch;
import android.window.OnBackInvokedDispatcher;
import com.example.android.apis.R;
+import com.example.android.apis.view.FixedAspectRatioImageView;
import java.util.ArrayList;
import java.util.List;
@@ -57,6 +61,7 @@ public class PictureInPicture extends Activity {
private static final String EXTRA_ENABLE_SEAMLESS_RESIZE = "seamless_resize";
private static final String EXTRA_ENTER_PIP_ON_BACK = "enter_pip_on_back";
private static final String EXTRA_CURRENT_POSITION = "current_position";
+ private static final String EXTRA_ASPECT_RATIO = "aspect_ratio";
private static final int TABLET_BREAK_POINT_DP = 700;
@@ -95,13 +100,14 @@ public class PictureInPicture extends Activity {
(v, id) -> updateContentPosition(id);
private LinearLayout mContainer;
- private ImageView mImageView;
+ private FixedAspectRatioImageView mImageView;
private View mControlGroup;
private Switch mAutoPipToggle;
private Switch mSourceRectHintToggle;
private Switch mSeamlessResizeToggle;
private Switch mEnterPipOnBackToggle;
private RadioGroup mCurrentPositionGroup;
+ private Spinner mAspectRatioSpinner;
private List<RemoteAction> mPipActions;
private RemoteAction mCloseAction;
@@ -119,6 +125,13 @@ public class PictureInPicture extends Activity {
mSeamlessResizeToggle = findViewById(R.id.seamless_resize_toggle);
mEnterPipOnBackToggle = findViewById(R.id.enter_pip_on_back);
mCurrentPositionGroup = findViewById(R.id.current_position);
+ mAspectRatioSpinner = findViewById(R.id.aspect_ratio);
+
+ // Initiate views if applicable
+ final ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,
+ R.array.aspect_ratio_list, android.R.layout.simple_spinner_item);
+ adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
+ mAspectRatioSpinner.setAdapter(adapter);
// Attach listeners
mImageView.addOnLayoutChangeListener(mOnLayoutChangeListener);
@@ -135,6 +148,22 @@ public class PictureInPicture extends Activity {
}
});
mCurrentPositionGroup.setOnCheckedChangeListener(mOnPositionChangedListener);
+ mAspectRatioSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
+ @Override
+ public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
+ final String rawText = parent.getItemAtPosition(position).toString();
+ final String textToParse = rawText.substring(
+ rawText.indexOf('(') + 1,
+ rawText.indexOf(')'));
+ mImageView.addOnLayoutChangeListener(mOnLayoutChangeListener);
+ mImageView.setAspectRatio(Rational.parseRational(textToParse));
+ }
+
+ @Override
+ public void onNothingSelected(AdapterView<?> parent) {
+ // Do nothing.
+ }
+ });
findViewById(R.id.enter_pip_button).setOnClickListener(v -> enterPictureInPictureMode());
findViewById(R.id.enter_content_pip_button).setOnClickListener(v -> enterContentPip());
@@ -152,6 +181,7 @@ public class PictureInPicture extends Activity {
? R.id.radio_current_end
: R.id.radio_current_start;
mCurrentPositionGroup.check(positionId);
+ mAspectRatioSpinner.setSelection(1);
updateLayout(getResources().getConfiguration());
}
diff --git a/samples/ApiDemos/src/com/example/android/apis/view/FixedAspectRatioImageView.java b/samples/ApiDemos/src/com/example/android/apis/view/FixedAspectRatioImageView.java
index f8344879f..b505bb3ac 100644
--- a/samples/ApiDemos/src/com/example/android/apis/view/FixedAspectRatioImageView.java
+++ b/samples/ApiDemos/src/com/example/android/apis/view/FixedAspectRatioImageView.java
@@ -29,7 +29,7 @@ import com.example.android.apis.R;
* one of the dimension is in exact while the other one in wrap_content size mode.
*/
public class FixedAspectRatioImageView extends ImageView {
- private final Rational mAspectRatio;
+ private Rational mAspectRatio;
public FixedAspectRatioImageView(Context context, AttributeSet attrs) {
super(context, attrs);
@@ -43,6 +43,13 @@ public class FixedAspectRatioImageView extends ImageView {
}
}
+ public void setAspectRatio(Rational aspectRatio) {
+ if (!mAspectRatio.equals(aspectRatio)) {
+ mAspectRatio = aspectRatio;
+ requestLayout();
+ }
+ }
+
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
diff --git a/sdk/build_tools_source.prop_template b/sdk/build_tools_source.prop_template
index 8490e5927..d2dad004b 100644
--- a/sdk/build_tools_source.prop_template
+++ b/sdk/build_tools_source.prop_template
@@ -1,3 +1,3 @@
Pkg.UserSrc=false
-Pkg.Revision=${PLATFORM_SDK_VERSION}.0.0
+Pkg.Revision=${PLATFORM_SDK_VERSION}.0.2
#Pkg.Revision=33.0.0 rc4
diff --git a/tools/motion/OWNERS b/tools/motion/OWNERS
new file mode 100644
index 000000000..545b822d0
--- /dev/null
+++ b/tools/motion/OWNERS
@@ -0,0 +1,3 @@
+cinek@google.com
+gallmann@google.com
+michschn@google.com