diff options
author | android-build-team Robot <android-build-team-robot@google.com> | 2019-10-03 01:12:44 +0000 |
---|---|---|
committer | android-build-team Robot <android-build-team-robot@google.com> | 2019-10-03 01:12:44 +0000 |
commit | f15ead39a8724fad15ad3eacd2ffafccfcbc7611 (patch) | |
tree | 31323e5f29795409bdfc3bca5b0d83719b38ed5b | |
parent | 9f008525d8b83811c5af2bf60e72ca9a25ddef13 (diff) | |
parent | fd722a344549a01794fb4879ba07d75606afe045 (diff) | |
download | tests-android10-qpr1-release.tar.gz |
Snap for 5915132 from fd722a344549a01794fb4879ba07d75606afe045 to qt-qpr1-releaseandroid-10.0.0_r29android-10.0.0_r28android-10.0.0_r27android-10.0.0_r26android-10.0.0_r25android-10.0.0_r24android-10.0.0_r23android-10.0.0_r22android-10.0.0_r21android-10.0.0_r20android-10.0.0_r19android-10.0.0_r18android-10.0.0_r16android-10.0.0_r15android10-qpr1-releaseandroid10-qpr1-d-releaseandroid10-qpr1-c-s1-releaseandroid10-qpr1-c-releaseandroid10-qpr1-b-s1-releaseandroid10-qpr1-b-release
Change-Id: I310e799ce156b69e8d485059b5654f5fdd5b7b4c
-rw-r--r-- | .gitignore | 7 | ||||
-rw-r--r-- | TestMediaApp/Android.mk | 3 | ||||
-rw-r--r-- | TestMediaApp/AndroidManifest.xml | 9 | ||||
-rw-r--r-- | TestMediaApp/build.gradle | 60 | ||||
-rw-r--r-- | TestMediaApp/res/drawable/button_ripple_bg.xml | 2 | ||||
-rw-r--r-- | TestMediaApp/res/drawable/ic_close.xml | 27 | ||||
-rw-r--r-- | TestMediaApp/res/values/styles.xml | 7 | ||||
-rw-r--r-- | TestMediaApp/res/xml/automotive_app_desc.xml | 20 | ||||
-rw-r--r-- | TestMediaApp/src/com/android/car/media/testmediaapp/MediaKeys.java | 64 | ||||
-rw-r--r-- | TestMediaApp/src/com/android/car/media/testmediaapp/TmaBrowser.java | 10 | ||||
-rw-r--r-- | TestMediaApp/src/com/android/car/media/testmediaapp/TmaMediaItem.java | 13 | ||||
-rw-r--r-- | TestMediaApp/src/com/android/car/media/testmediaapp/TmaPlayer.java | 7 | ||||
-rw-r--r-- | TestMediaApp/src/com/android/car/media/testmediaapp/loader/TmaMediaMetadataReader.java | 5 | ||||
-rw-r--r-- | build.gradle | 41 | ||||
-rw-r--r-- | gradle/wrapper/gradle-wrapper.jar | bin | 0 -> 54329 bytes | |||
-rw-r--r-- | gradle/wrapper/gradle-wrapper.properties | 6 | ||||
-rwxr-xr-x | gradlew | 172 | ||||
-rw-r--r-- | settings.gradle | 17 |
18 files changed, 442 insertions, 28 deletions
diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..bd59d21 --- /dev/null +++ b/.gitignore @@ -0,0 +1,7 @@ +*.iml +.gradle +/local.properties +/.idea +.DS_Store +build/ + diff --git a/TestMediaApp/Android.mk b/TestMediaApp/Android.mk index b97a07e..67127e0 100644 --- a/TestMediaApp/Android.mk +++ b/TestMediaApp/Android.mk @@ -34,11 +34,12 @@ LOCAL_CERTIFICATE := platform LOCAL_MODULE_TAGS := optional # car_car is ok here because this is meant to simulate a third party media app +# Do NOT add dependencies preventing the app from being unbundled (compiled with gradle in Studio). LOCAL_STATIC_ANDROID_LIBRARIES := \ androidx.car_car \ androidx.appcompat_appcompat \ androidx.preference_preference \ - car-media-common + androidx.legacy_legacy-support-v4 LOCAL_USE_AAPT2 := true diff --git a/TestMediaApp/AndroidManifest.xml b/TestMediaApp/AndroidManifest.xml index 859815b..09e850c 100644 --- a/TestMediaApp/AndroidManifest.xml +++ b/TestMediaApp/AndroidManifest.xml @@ -17,9 +17,10 @@ <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.android.car.media.testmediaapp" > - <uses-sdk - android:minSdkVersion="21" - android:targetSdkVersion="28"/> + <uses-feature + android:name="android.hardware.type.automotive" + android:required="true"/> + <application android:allowBackup="true" @@ -65,6 +66,8 @@ <!-- To use the app on a phone. --> + <meta-data android:name="com.google.android.gms.car.application" + android:resource="@xml/automotive_app_desc"/> <activity android:name=".phone.TmaLauncherActivity" > <intent-filter> diff --git a/TestMediaApp/build.gradle b/TestMediaApp/build.gradle new file mode 100644 index 0000000..79fd66d --- /dev/null +++ b/TestMediaApp/build.gradle @@ -0,0 +1,60 @@ +/* + * Copyright (C) 2019 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + +apply plugin: 'com.android.application' + +android { + compileSdkVersion 28 + defaultConfig { + applicationId "com.android.car.media.testmediaapp" + minSdkVersion 21 + targetSdkVersion 28 + versionCode 1 + versionName "1.0" + } + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } + lintOptions { + abortOnError false + } + buildTypes { + release { + minifyEnabled false + } + } + + sourceSets { + main { + manifest.srcFile 'AndroidManifest.xml' + java.srcDirs = ['src'] + resources.srcDirs = ['src'] + aidl.srcDirs = ['src'] + renderscript.srcDirs = ['src'] + res.srcDirs = ['res'] + assets.srcDirs = ['assets'] + } + } +} + +dependencies { + implementation 'androidx.appcompat:appcompat:1.0.2' + implementation 'androidx.constraintlayout:constraintlayout:1.1.3' + implementation 'androidx.media:media:1.0.1' + implementation 'androidx.preference:preference:1.0.0' +} diff --git a/TestMediaApp/res/drawable/button_ripple_bg.xml b/TestMediaApp/res/drawable/button_ripple_bg.xml index d012c94..9c99a25 100644 --- a/TestMediaApp/res/drawable/button_ripple_bg.xml +++ b/TestMediaApp/res/drawable/button_ripple_bg.xml @@ -17,4 +17,4 @@ <ripple xmlns:android="http://schemas.android.com/apk/res/android" - android:color="@*android:color/car_card_ripple_background" /> + android:color="@color/ripple_background_color" /> diff --git a/TestMediaApp/res/drawable/ic_close.xml b/TestMediaApp/res/drawable/ic_close.xml new file mode 100644 index 0000000..f4c1e3b --- /dev/null +++ b/TestMediaApp/res/drawable/ic_close.xml @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright 2019 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<vector + xmlns:android="http://schemas.android.com/apk/res/android" + android:width="56dp" + android:height="56dp" + android:viewportHeight="24.0" + android:viewportWidth="24.0"> + <path + android:fillColor="#FFF" + android:pathData="M19,6.41L17.59,5 12,10.59 6.41,5 5,6.41 10.59,12 5,17.59 6.41,19 12,13.41 17.59,19 19,17.59 13.41,12z"/> +</vector>
\ No newline at end of file diff --git a/TestMediaApp/res/values/styles.xml b/TestMediaApp/res/values/styles.xml index cf316c5..6a8e8b1 100644 --- a/TestMediaApp/res/values/styles.xml +++ b/TestMediaApp/res/values/styles.xml @@ -16,8 +16,11 @@ */ --> <resources> - <style name="TestMediaAppTheme" parent="Theme.Car.Light.NoActionBar"> - <item name="android:windowBackground">@color/car_card_dark</item> + <style name="TestMediaAppTheme" parent="Theme.AppCompat.Light.NoActionBar"> + <item name="android:windowBackground">@color/window_background </item> </style> + <color name="window_background">#AAA</color> + <color name="ripple_background_color">#444</color> + </resources> diff --git a/TestMediaApp/res/xml/automotive_app_desc.xml b/TestMediaApp/res/xml/automotive_app_desc.xml new file mode 100644 index 0000000..3daa01a --- /dev/null +++ b/TestMediaApp/res/xml/automotive_app_desc.xml @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + * Copyright (c) 2019, The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +--> +<automotiveApp xmlns:android="http://schemas.android.com/apk/res/android"> + <uses name="media"/> +</automotiveApp>
\ No newline at end of file diff --git a/TestMediaApp/src/com/android/car/media/testmediaapp/MediaKeys.java b/TestMediaApp/src/com/android/car/media/testmediaapp/MediaKeys.java new file mode 100644 index 0000000..8506b6b --- /dev/null +++ b/TestMediaApp/src/com/android/car/media/testmediaapp/MediaKeys.java @@ -0,0 +1,64 @@ +/* + * Copyright (c) 2019, The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.car.media.testmediaapp; + +/** + * Copy of constants defined in com.android.car.media.common.MediaConstants until they can be moved + * to a shared location available to all media apps. This makes un-bundling TestMediaApp easier. + */ +public class MediaKeys { + + /** + * Bundle extra holding the Pending Intent to launch to let users resolve the current error. + * See {@link #ERROR_RESOLUTION_ACTION_LABEL} for more details. + */ + static final String ERROR_RESOLUTION_ACTION_INTENT = + "android.media.extras.ERROR_RESOLUTION_ACTION_INTENT"; + + + /** + * Bundle extra indicating the label of the button users can tap to resolve an error state. + */ + static final String ERROR_RESOLUTION_ACTION_LABEL = + "android.media.extras.ERROR_RESOLUTION_ACTION_LABEL"; + + /** + * Bundle extra indicating the presentation hint for playable media items. See {@link + * #CONTENT_STYLE_LIST_ITEM_HINT_VALUE} or {@link #CONTENT_STYLE_GRID_ITEM_HINT_VALUE} + */ + static final String CONTENT_STYLE_PLAYABLE_HINT = + "android.media.browse.CONTENT_STYLE_PLAYABLE_HINT"; + + /** + * Bundle extra indicating the presentation hint for browsable media items. See {@link + * #CONTENT_STYLE_LIST_ITEM_HINT_VALUE} or {@link #CONTENT_STYLE_GRID_ITEM_HINT_VALUE} + */ + static final String CONTENT_STYLE_BROWSABLE_HINT = + "android.media.browse.CONTENT_STYLE_BROWSABLE_HINT"; + + /** + * Value for {@link #CONTENT_STYLE_PLAYABLE_HINT} and {@link #CONTENT_STYLE_BROWSABLE_HINT} that + * hints the corresponding items should be presented as lists. + */ + static final int CONTENT_STYLE_LIST_ITEM_HINT_VALUE = 1; + + /** + * Value for {@link #CONTENT_STYLE_PLAYABLE_HINT} and {@link #CONTENT_STYLE_BROWSABLE_HINT} that + * hints the corresponding items should be presented as grids. + */ + static final int CONTENT_STYLE_GRID_ITEM_HINT_VALUE = 2; +} diff --git a/TestMediaApp/src/com/android/car/media/testmediaapp/TmaBrowser.java b/TestMediaApp/src/com/android/car/media/testmediaapp/TmaBrowser.java index ec57473..02e8292 100644 --- a/TestMediaApp/src/com/android/car/media/testmediaapp/TmaBrowser.java +++ b/TestMediaApp/src/com/android/car/media/testmediaapp/TmaBrowser.java @@ -33,10 +33,8 @@ import androidx.media.MediaBrowserServiceCompat; import com.android.car.media.testmediaapp.loader.TmaLoader; import com.android.car.media.testmediaapp.prefs.TmaEnumPrefs.TmaAccountType; -import com.android.car.media.testmediaapp.prefs.TmaEnumPrefs.TmaLoginEventOrder; import com.android.car.media.testmediaapp.prefs.TmaEnumPrefs.TmaReplyDelay; import com.android.car.media.testmediaapp.prefs.TmaPrefs; -import com.android.internal.util.Preconditions; import java.util.ArrayList; import java.util.List; @@ -149,10 +147,10 @@ public class TmaBrowser extends MediaBrowserServiceCompat { if (QUEUE_ONLY.equals(mPrefs.mRootNodeType.getValue()) && ROOT_ID.equals(parentId)) { TmaMediaItem queue = mLibrary.getRoot(LEAF_CHILDREN); - Preconditions.checkNotNull(queue); - mSession.setQueue(queue.buildQueue()); - - mPlayer.prepareMediaItem(queue.getPlayableByIndex(0)); + if (queue != null) { + mSession.setQueue(queue.buildQueue()); + mPlayer.prepareMediaItem(queue.getPlayableByIndex(0)); + } } } diff --git a/TestMediaApp/src/com/android/car/media/testmediaapp/TmaMediaItem.java b/TestMediaApp/src/com/android/car/media/testmediaapp/TmaMediaItem.java index 5c53d34..f79e273 100644 --- a/TestMediaApp/src/com/android/car/media/testmediaapp/TmaMediaItem.java +++ b/TestMediaApp/src/com/android/car/media/testmediaapp/TmaMediaItem.java @@ -22,11 +22,6 @@ import static android.support.v4.media.MediaBrowserCompat.MediaItem.FLAG_PLAYABL import static android.support.v4.media.MediaMetadataCompat.METADATA_KEY_DURATION; import static android.support.v4.media.MediaMetadataCompat.METADATA_KEY_MEDIA_ID; -import static com.android.car.media.common.MediaConstants.CONTENT_STYLE_BROWSABLE_HINT; -import static com.android.car.media.common.MediaConstants.CONTENT_STYLE_GRID_ITEM_HINT_VALUE; -import static com.android.car.media.common.MediaConstants.CONTENT_STYLE_LIST_ITEM_HINT_VALUE; -import static com.android.car.media.common.MediaConstants.CONTENT_STYLE_PLAYABLE_HINT; - import android.os.Bundle; import android.support.v4.media.MediaBrowserCompat.MediaItem; import android.support.v4.media.MediaDescriptionCompat; @@ -46,8 +41,8 @@ public class TmaMediaItem { /** The name of each entry is the value used in the json file. */ public enum ContentStyle { NONE (0), - LIST (CONTENT_STYLE_LIST_ITEM_HINT_VALUE), - GRID (CONTENT_STYLE_GRID_ITEM_HINT_VALUE); + LIST (MediaKeys.CONTENT_STYLE_LIST_ITEM_HINT_VALUE), + GRID (MediaKeys.CONTENT_STYLE_GRID_ITEM_HINT_VALUE); final int mBundleValue; ContentStyle(int value) { mBundleValue = value; @@ -212,8 +207,8 @@ public class TmaMediaItem { extras.putAll(metadataDescription.getExtras()); } - extras.putInt(CONTENT_STYLE_PLAYABLE_HINT, mPlayableStyle.mBundleValue); - extras.putInt(CONTENT_STYLE_BROWSABLE_HINT, mBrowsableStyle.mBundleValue); + extras.putInt(MediaKeys.CONTENT_STYLE_PLAYABLE_HINT, mPlayableStyle.mBundleValue); + extras.putInt(MediaKeys.CONTENT_STYLE_BROWSABLE_HINT, mBrowsableStyle.mBundleValue); bob.setExtras(extras); return bob.build(); diff --git a/TestMediaApp/src/com/android/car/media/testmediaapp/TmaPlayer.java b/TestMediaApp/src/com/android/car/media/testmediaapp/TmaPlayer.java index 3df5653..2938a37 100644 --- a/TestMediaApp/src/com/android/car/media/testmediaapp/TmaPlayer.java +++ b/TestMediaApp/src/com/android/car/media/testmediaapp/TmaPlayer.java @@ -28,9 +28,6 @@ import static android.support.v4.media.session.PlaybackStateCompat.ACTION_SKIP_T import static android.support.v4.media.session.PlaybackStateCompat.ERROR_CODE_APP_ERROR; import static android.support.v4.media.session.PlaybackStateCompat.STATE_ERROR; -import static com.android.car.media.common.MediaConstants.ERROR_RESOLUTION_ACTION_INTENT; -import static com.android.car.media.common.MediaConstants.ERROR_RESOLUTION_ACTION_LABEL; - import androidx.annotation.Nullable; import android.app.PendingIntent; import android.content.Context; @@ -108,8 +105,8 @@ public class TmaPlayer extends MediaSessionCompat.Callback { PendingIntent pendingIntent = PendingIntent.getActivity(mContext, 0, prefsIntent, 0); Bundle extras = new Bundle(); - extras.putString(ERROR_RESOLUTION_ACTION_LABEL, event.mActionLabel); - extras.putParcelable(ERROR_RESOLUTION_ACTION_INTENT, pendingIntent); + extras.putString(MediaKeys.ERROR_RESOLUTION_ACTION_LABEL, event.mActionLabel); + extras.putParcelable(MediaKeys.ERROR_RESOLUTION_ACTION_INTENT, pendingIntent); state.setExtras(extras); } diff --git a/TestMediaApp/src/com/android/car/media/testmediaapp/loader/TmaMediaMetadataReader.java b/TestMediaApp/src/com/android/car/media/testmediaapp/loader/TmaMediaMetadataReader.java index 95f8f89..5a4a217 100644 --- a/TestMediaApp/src/com/android/car/media/testmediaapp/loader/TmaMediaMetadataReader.java +++ b/TestMediaApp/src/com/android/car/media/testmediaapp/loader/TmaMediaMetadataReader.java @@ -59,6 +59,7 @@ import org.json.JSONException; import org.json.JSONObject; import java.util.EnumSet; +import java.util.Iterator; import java.util.Map; import java.util.Set; @@ -140,7 +141,9 @@ class TmaMediaMetadataReader { MediaMetadataCompat fromJson(JSONObject object) throws JSONException { MediaMetadataCompat.Builder builder = new MediaMetadataCompat.Builder(); - for (String jsonKey : object.keySet()) { + Iterator<String> keys = object.keys(); + while (keys.hasNext()) { + String jsonKey = keys.next(); MetadataKey key = mMetadataKeys.get(jsonKey); if (key != null) { switch (key.mKeyType) { diff --git a/build.gradle b/build.gradle new file mode 100644 index 0000000..df49ba3 --- /dev/null +++ b/build.gradle @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2019 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// Top-level build file where you can add configuration options common to all sub-projects/modules. + +buildscript { + repositories { + google() + jcenter() + } + dependencies { + classpath 'com.android.tools.build:gradle:3.5.0' + + // NOTE: Do not place your application dependencies here; they belong + // in the individual module build.gradle files + } +} + +allprojects { + repositories { + google() + jcenter() + } +} + +task clean(type: Delete) { + delete rootProject.buildDir +} diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar Binary files differnew file mode 100644 index 0000000..f6b961f --- /dev/null +++ b/gradle/wrapper/gradle-wrapper.jar diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..ce751bb --- /dev/null +++ b/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,6 @@ +#Thu Sep 26 14:52:51 PDT 2019 +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip @@ -0,0 +1,172 @@ +#!/usr/bin/env sh + +############################################################################## +## +## Gradle start up script for UN*X +## +############################################################################## + +# Attempt to set APP_HOME +# Resolve links: $0 may be a link +PRG="$0" +# Need this for relative symlinks. +while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >/dev/null +APP_HOME="`pwd -P`" +cd "$SAVED" >/dev/null + +APP_NAME="Gradle" +APP_BASE_NAME=`basename "$0"` + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS="" + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD="maximum" + +warn () { + echo "$*" +} + +die () { + echo + echo "$*" + echo + exit 1 +} + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "`uname`" in + CYGWIN* ) + cygwin=true + ;; + Darwin* ) + darwin=true + ;; + MINGW* ) + msys=true + ;; + NONSTOP* ) + nonstop=true + ;; +esac + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD="java" + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then + MAX_FD_LIMIT=`ulimit -H -n` + if [ $? -eq 0 ] ; then + if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then + MAX_FD="$MAX_FD_LIMIT" + fi + ulimit -n $MAX_FD + if [ $? -ne 0 ] ; then + warn "Could not set maximum file descriptor limit: $MAX_FD" + fi + else + warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" + fi +fi + +# For Darwin, add options to specify how the application appears in the dock +if $darwin; then + GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" +fi + +# For Cygwin, switch paths to Windows format before running java +if $cygwin ; then + APP_HOME=`cygpath --path --mixed "$APP_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + JAVACMD=`cygpath --unix "$JAVACMD"` + + # We build the pattern for arguments to be converted via cygpath + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` + SEP="" + for dir in $ROOTDIRSRAW ; do + ROOTDIRS="$ROOTDIRS$SEP$dir" + SEP="|" + done + OURCYGPATTERN="(^($ROOTDIRS))" + # Add a user-defined pattern to the cygpath arguments + if [ "$GRADLE_CYGPATTERN" != "" ] ; then + OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" + fi + # Now convert the arguments - kludge to limit ourselves to /bin/sh + i=0 + for arg in "$@" ; do + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option + + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` + else + eval `echo args$i`="\"$arg\"" + fi + i=$((i+1)) + done + case $i in + (0) set -- ;; + (1) set -- "$args0" ;; + (2) set -- "$args0" "$args1" ;; + (3) set -- "$args0" "$args1" "$args2" ;; + (4) set -- "$args0" "$args1" "$args2" "$args3" ;; + (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + esac +fi + +# Escape application args +save () { + for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done + echo " " +} +APP_ARGS=$(save "$@") + +# Collect all arguments for the java command, following the shell quoting and substitution rules +eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" + +# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong +if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then + cd "$(dirname "$0")" +fi + +exec "$JAVACMD" "$@" diff --git a/settings.gradle b/settings.gradle new file mode 100644 index 0000000..38f6519 --- /dev/null +++ b/settings.gradle @@ -0,0 +1,17 @@ +/* + * Copyright (C) 2019 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +include ':TestMediaApp' |