DO NOT MERGE: Merge Oreo MR1 into master

Exempt-From-Owner-Approval: Changes already landed internally
Change-Id: I3250e2b1e2f6993a99af8abbcf6ba1192ffc37c6
This commit is contained in:
Xin Li
2017-12-06 11:51:43 -08:00
74 changed files with 2721 additions and 14 deletions

View File

@@ -14,8 +14,8 @@
# limitations under the License.
#
prebuilts/qemu-kernel/${TARGET_ARCH}/kernel-qemu system-images/${PLATFORM_NAME}/${TARGET_CPU_ABI}/kernel-qemu
prebuilts/qemu-kernel/${TARGET_ARCH}/ranchu/kernel-qemu system-images/${PLATFORM_NAME}/${TARGET_CPU_ABI}/kernel-ranchu
prebuilts/qemu-kernel/${TARGET_ARCH}/3.18/kernel-qemu2 system-images/${PLATFORM_NAME}/${TARGET_CPU_ABI}/kernel-ranchu
device/generic/goldfish/data/etc/encryptionkey.img system-images/${PLATFORM_NAME}/${TARGET_CPU_ABI}/encryptionkey.img
# version files for the SDK updater, from development.git
${HOST_OUT}/development/sys-img-${TARGET_CPU_ABI}/images_${TARGET_ARCH}_source.properties system-images/${PLATFORM_NAME}/${TARGET_CPU_ABI}/source.properties

View File

@@ -14,8 +14,8 @@
# limitations under the License.
#
prebuilts/qemu-kernel/${TARGET_ARCH}/kernel-qemu system-images/${PLATFORM_NAME}/${TARGET_CPU_ABI}/kernel-qemu
prebuilts/qemu-kernel/${TARGET_ARCH}/ranchu/kernel-qemu system-images/${PLATFORM_NAME}/${TARGET_CPU_ABI}/kernel-ranchu
prebuilts/qemu-kernel/${TARGET_ARCH}/3.18/kernel-qemu2 system-images/${PLATFORM_NAME}/${TARGET_CPU_ABI}/kernel-ranchu
device/generic/goldfish/data/etc/encryptionkey.img system-images/${PLATFORM_NAME}/${TARGET_CPU_ABI}/encryptionkey.img
# version files for the SDK updater, from development.git
${HOST_OUT}/development/sys-img-${TARGET_CPU_ABI}/images_${TARGET_ARCH}_source.properties system-images/${PLATFORM_NAME}/${TARGET_CPU_ABI}/source.properties

View File

@@ -260,8 +260,7 @@ public class Monkey {
*/
private class ActivityController extends IActivityController.Stub {
public boolean activityStarting(Intent intent, String pkg) {
boolean allow = MonkeyUtils.getPackageFilter().checkEnteringPackage(pkg)
|| (DEBUG_ALLOW_ANY_STARTS != 0);
final boolean allow = isActivityStartingAllowed(intent, pkg);
if (mVerbose > 0) {
// StrictMode's disk checks end up catching this on
// userdebug/eng builds due to PrintStream going to a
@@ -279,6 +278,34 @@ public class Monkey {
return allow;
}
private boolean isActivityStartingAllowed(Intent intent, String pkg) {
if (MonkeyUtils.getPackageFilter().checkEnteringPackage(pkg)) {
return true;
}
if (DEBUG_ALLOW_ANY_STARTS != 0) {
return true;
}
// In case the activity is launching home and the default launcher
// package is disabled, allow anyway to prevent ANR (see b/38121026)
final Set<String> categories = intent.getCategories();
if (intent.getAction() == Intent.ACTION_MAIN
&& categories != null
&& categories.contains(Intent.CATEGORY_HOME)) {
try {
final ResolveInfo resolveInfo =
mPm.resolveIntent(intent, intent.getType(), 0, UserHandle.myUserId());
final String launcherPackage = resolveInfo.activityInfo.packageName;
if (pkg.equals(launcherPackage)) {
return true;
}
} catch (RemoteException e) {
Logger.err.println("** Failed talking with package manager!");
return false;
}
}
return false;
}
public boolean activityResuming(String pkg) {
StrictMode.ThreadPolicy savedPolicy = StrictMode.allowThreadDiskWrites();
Logger.out.println(" // activityResuming(" + pkg + ")");
@@ -395,7 +422,7 @@ public class Monkey {
}
/**
* Run "cat /data/anr/traces.txt". Wait about 5 seconds first, to let the
* Dump the most recent ANR trace. Wait about 5 seconds first, to let the
* asynchronous report writing complete.
*/
private void reportAnrTraces() {
@@ -403,7 +430,25 @@ public class Monkey {
Thread.sleep(5 * 1000);
} catch (InterruptedException e) {
}
commandLineReport("anr traces", "cat /data/anr/traces.txt");
// The /data/anr directory might have multiple files, dump the most
// recent of those files.
File[] recentTraces = new File("/data/anr/").listFiles();
if (recentTraces != null) {
File mostRecent = null;
long mostRecentMtime = 0;
for (File trace : recentTraces) {
final long mtime = trace.lastModified();
if (mtime > mostRecentMtime) {
mostRecentMtime = mtime;
mostRecent = trace;
}
}
if (mostRecent != null) {
commandLineReport("anr traces", "cat " + mostRecent.getAbsolutePath());
}
}
}
/**

View File

@@ -12,4 +12,6 @@ LOCAL_SDK_VERSION := current
LOCAL_DEX_PREOPT := false
LOCAL_PROGUARD_ENABLED := disabled
include $(BUILD_PACKAGE)

View File

@@ -0,0 +1,33 @@
#
# Copyright (C) 2017 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.
#
# We build two apps from the same source
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_PACKAGE_NAME := DeviceAdminWhitelistedAccount
LOCAL_MODULE_TAGS := samples tests
LOCAL_SRC_FILES := $(call all-java-files-under, src)
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
LOCAL_SDK_VERSION := current
include $(BUILD_PACKAGE)

View File

@@ -0,0 +1,53 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2017 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.
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.android.app.admin.whitelistedaccount">
<uses-sdk android:minSdkVersion="25" android:targetSdkVersion="25" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" />
<uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
<application
android:label="@string/app_name"
android:icon="@mipmap/ic_launcher"
>
<activity
android:name="MyMain"
android:icon="@mipmap/ic_launcher"
android:theme="@android:style/Theme.NoDisplay"
>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<service
android:name=".MyAuthenticator"
>
<intent-filter>
<action android:name="android.accounts.AccountAuthenticator" />
</intent-filter>
<meta-data android:name="android.accounts.AccountAuthenticator"
android:resource="@xml/authenticator" />
</service>
</application>
</manifest>

View File

@@ -0,0 +1,24 @@
# DeviceAdmin Whitelisted Account
This application creates an account that will *not* prevent test-only DO/PO from being activated.
## Build and install:
```
croot
mmma -j development/samples/DeviceAdminWhitelistedAccount
adb install -r -g $OUT/data/app/DeviceAdminWhitelistedAccount/DeviceAdminWhitelistedAccount.apk
```
## Create a whitelisted account
- Launch the "DA Whitelisted Account" app from the launcher.
## Remove a whitelisted account
- Just uninstall the app. i.e.
```
adb uninstall com.example.android.app.admin.whitelistedaccount
```

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.4 KiB

View File

@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2017 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.
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name">DA Whitelisted Account</string>
<string name="account_name">DA Whitelisted Account</string>
</resources>

View File

@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2017 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.
-->
<account-authenticator xmlns:android="http://schemas.android.com/apk/res/android"
android:accountType="com.example.android.app.admin.whitelistedaccount" />

View File

@@ -0,0 +1,122 @@
/*
* Copyright (C) 2017 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.example.android.app.admin.whitelistedaccount;
import android.accounts.AbstractAccountAuthenticator;
import android.accounts.Account;
import android.accounts.AccountAuthenticatorResponse;
import android.accounts.AccountManager;
import android.accounts.NetworkErrorException;
import android.app.Service;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.os.IBinder;
public class MyAuthenticator extends Service {
private static final String TAG = "TestAuthenticator";
private static final String ACCOUNT_TYPE = "com.example.android.app.admin.whitelistedaccount";
private static final String ACCOUNT_FEATURE_DEVICE_OR_PROFILE_OWNER_ALLOWED =
"android.account.DEVICE_OR_PROFILE_OWNER_ALLOWED";
private static Authenticator sInstance;
@Override
public IBinder onBind(Intent intent) {
if (sInstance == null) {
sInstance = new Authenticator(getApplicationContext());
}
return sInstance.getIBinder();
}
public static boolean setUpAccount(Context context) {
final AccountManager am = AccountManager.get(context);
if (am.getAccountsByType(ACCOUNT_TYPE).length > 0) {
return false; // Already set up.
}
// Add a new account.
final Account account = new Account(
context.getResources().getString(R.string.account_name), ACCOUNT_TYPE);
am.addAccountExplicitly(account, null, null);
return true;
}
public static class Authenticator extends AbstractAccountAuthenticator {
private final Context mContxet;
public Authenticator(Context context) {
super(context);
mContxet = context;
}
@Override
public Bundle addAccount(AccountAuthenticatorResponse response, String accountType,
String authTokenType, String[] requiredFeatures, Bundle options)
throws NetworkErrorException {
return new Bundle();
}
@Override
public Bundle editProperties(AccountAuthenticatorResponse response, String accountType) {
return new Bundle();
}
@Override
public Bundle updateCredentials(AccountAuthenticatorResponse response, Account account,
String authTokenType, Bundle options) throws NetworkErrorException {
return new Bundle();
}
@Override
public Bundle confirmCredentials(AccountAuthenticatorResponse response, Account account,
Bundle options) throws NetworkErrorException {
return new Bundle();
}
@Override
public Bundle getAuthToken(AccountAuthenticatorResponse response, Account account,
String authTokenType, Bundle options) throws NetworkErrorException {
return new Bundle();
}
@Override
public String getAuthTokenLabel(String authTokenType) {
return "token_label";
}
@Override
public Bundle hasFeatures(AccountAuthenticatorResponse response, Account account,
String[] features) throws NetworkErrorException {
boolean hasAll = false;
if ((features != null) && (features.length == 1)
&& ACCOUNT_FEATURE_DEVICE_OR_PROFILE_OWNER_ALLOWED.equals(features[0])) {
hasAll = true;
}
Bundle result = new Bundle();
result.putBoolean(AccountManager.KEY_BOOLEAN_RESULT, hasAll);
return result;
}
}
}

View File

@@ -0,0 +1,48 @@
/*
* Copyright (C) 2017 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.example.android.app.admin.whitelistedaccount;
import android.app.Activity;
import android.content.Context;
import android.os.AsyncTask;
import android.os.Bundle;
import android.widget.Toast;
public class MyMain extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
final Context context = getApplicationContext();
new AsyncTask<Void, Void, Boolean>() {
@Override
protected Boolean doInBackground(Void... voids) {
return MyAuthenticator.setUpAccount(context);
}
@Override
protected void onPostExecute(Boolean ret) {
Toast.makeText(context,
(ret ? "Account created" : "Account already exists"),
Toast.LENGTH_SHORT).show();
}
}.execute();
finish();
}
}

View File

@@ -0,0 +1,19 @@
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := samples tests
# Only compile source java files in this apk.
LOCAL_SRC_FILES := $(call all-java-files-under, src)
LOCAL_STATIC_JAVA_LIBRARIES = android-support-v13
LOCAL_PACKAGE_NAME := IntentPlayground
LOCAL_SDK_VERSION := current
include $(BUILD_PACKAGE)
# Use the folloing include to make our test apk.
include $(call all-makefiles-under,$(LOCAL_PATH))

View File

@@ -0,0 +1,78 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2017 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.
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.android.intentplayground">
<uses-permission android:name="android.permission.REORDER_TASKS" />
<application
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity
android:name=".LauncherActivity"
android:launchMode="singleInstance"
android:documentLaunchMode="always">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".SingleTopActivity"
android:launchMode="singleTop" />
<activity
android:name=".SingleInstanceActivity"
android:launchMode="singleInstance" />
<activity
android:name=".SingleTaskActivity"
android:launchMode="singleTask" />
<activity
android:name=".TaskAffinity1Activity"
android:launchMode="standard"
android:allowTaskReparenting="true"
android:taskAffinity=".t1" />
<activity
android:name=".TaskAffinity2Activity"
android:launchMode="standard"
android:allowTaskReparenting="true"
android:taskAffinity=".t2" />
<activity
android:name=".TaskAffinity3Activity"
android:launchMode="standard"
android:allowTaskReparenting="true"
android:taskAffinity=".t3" />
<activity
android:name=".ClearTaskOnLaunchActivity"
android:launchMode="standard"
android:clearTaskOnLaunch="true"
android:allowTaskReparenting="true"
android:taskAffinity=".t2" />
<activity
android:name=".DocumentLaunchIntoActivity"
android:documentLaunchMode="intoExisting" />
<activity
android:name=".DocumentLaunchAlwaysActivity"
android:documentLaunchMode="always" />
<activity
android:name=".DocumentLaunchNeverActivity"
android:documentLaunchMode="never" />
<activity
android:name=".NoHistoryActivity"
android:noHistory="true" />
</application>
</manifest>

View File

@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2017 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.
-->
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@android:color/background_light"/>
<corners android:radius="2dp"/>
<padding android:left="0dp" android:top="0dp" android:right="0dp" android:bottom="0dp" />
</shape>

View File

@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2017 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.
-->
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<size android:height="1dp" />
<solid android:color="#ffE0E0E0" />
</shape>

View File

@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2017 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="24dp"
android:height="24dp"
android:viewportWidth="24.0"
android:viewportHeight="24.0">
<path
android:fillColor="#FF9E9E9E"
android:pathData="M12,8l-6,6 1.41,1.41L12,10.83l4.59,4.58L18,14z"/>
</vector>

View File

@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2017 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="24dp"
android:height="24dp"
android:viewportWidth="24.0"
android:viewportHeight="24.0">
<path
android:fillColor="#FF9E9E9E"
android:pathData="M16.59,8.59L12,13.17 7.41,8.59 6,10l6,6 6,-6z"/>
</vector>

View File

@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2017 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.
-->
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_expanded="true" android:drawable="@drawable/expand_more_mtrl" />
<item android:drawable="@drawable/expand_less_mtrl" />
</selector>

View File

@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2017 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="24dp"
android:height="24dp"
android:viewportWidth="24.0"
android:viewportHeight="24.0">
<path
android:fillColor="#FF000000"
android:pathData="M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM13,17h-2v-6h2v6zM13,9h-2L11,7h2v2z"/>
</vector>

View File

@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2017 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.
-->
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@android:color/holo_green_dark"/>
<corners android:radius="2dp"/>
<padding android:left="0dp" android:top="0dp" android:right="0dp" android:bottom="0dp" />
</shape>

View File

@@ -0,0 +1,31 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2017 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.
-->
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/scroll_container"
tools:context="com.example.android.intentplayground.BaseActivity">
<LinearLayout
android:id="@+id/fragment_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:visibility="visible">
</LinearLayout>
</ScrollView>

View File

@@ -0,0 +1,72 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2017 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.
-->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:orientation="horizontal"
android:paddingBottom="@dimen/medMargin"
android:paddingEnd="@dimen/fullMargin"
android:paddingLeft="@dimen/fullMargin"
android:paddingRight="@dimen/fullMargin"
android:paddingStart="@dimen/fullMargin"
android:paddingTop="@dimen/medMargin">
<FrameLayout
android:layout_width="@dimen/listIcon"
android:layout_height="@dimen/listIcon"
android:clipChildren="true">
<ImageView
android:id="@+id/color_label"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/card_background"
android:tint="@color/defaultTint" />
<TextView
android:id="@+id/activity_label"
android:layout_width="@dimen/listLabelTextBox"
android:layout_height="@dimen/listLabelTextBox"
android:layout_gravity="center"
android:text="@string/activity_label"
android:textAlignment="center"
android:textAppearance="@style/medium"
android:textColor="@color/labelText"
android:textSize="@dimen/titleText" />
</FrameLayout>
<TextView
android:id="@+id/activity_name"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/medMargin"
android:layout_marginEnd="@dimen/smallMargin"
android:layout_weight="1"
android:text="@string/activity_name"
android:textAppearance="@style/normal" />
<ImageButton
android:id="@+id/intent_button"
style="?android:attr/borderlessButtonStyle"
android:layout_width="@dimen/listIcon"
android:layout_height="@dimen/listIcon"
android:src="@drawable/info_icon"
android:tint="@color/defaultTint"
android:tooltipText="@string/intent_button_tooltip"
android:contentDescription="@string/intent_button_description" />
</LinearLayout>

View File

@@ -0,0 +1,38 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2017 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.
-->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingBottom="@dimen/medMargin">
<RadioButton
android:id="@+id/radio_launchMode"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:tag="activityTag"
android:text="@string/activity_name_placeholder"
android:textAppearance="@style/medium" />
<TextView
android:id="@+id/activity_desc"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/blockMargin"
android:text="@string/activity_radio_description"
android:textAppearance="@style/caption" />
</LinearLayout>

View File

@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2017 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.
-->
<CheckBox
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/checkBox_item"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/checkbox_placeholder"
android:textAppearance="@style/normal" />

View File

@@ -0,0 +1,27 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2017 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.
-->
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/item"
android:layout_width="match_parent"
android:layout_height="@dimen/listItem"
android:gravity="center_vertical"
android:paddingLeft="@dimen/fullMargin"
android:paddingRight="@dimen/fullMargin"
android:text="@string/dialog_intent_flag_placeholder"
android:textAppearance="@style/normal"
android:textSize="@dimen/regularText">
</TextView>

View File

@@ -0,0 +1,79 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2017 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.
-->
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/build_intent_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/smallMargin"
android:layout_marginLeft="@dimen/smallMargin"
android:layout_marginRight="@dimen/smallMargin"
android:layout_marginStart="@dimen/smallMargin"
android:layout_marginTop="@dimen/smallMargin"
android:background="@drawable/card_background"
android:elevation="@dimen/cardElevation"
android:orientation="vertical"
android:padding="@dimen/medMargin">
<TextView
android:id="@+id/build_intent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/build_intent"
android:textAppearance="@style/title" />
<TextView
android:id="@+id/flags_hint"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/build_intent_caption" />
<LinearLayout
android:id="@+id/build_intent_flags"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingBottom="@dimen/smallMargin"
android:paddingTop="@dimen/smallMargin" />
<View
android:layout_width="match_parent"
android:layout_height="@dimen/dividerHeight"
android:layout_marginVertical="@dimen/smallMargin"
android:background="@drawable/divider" />
<TextView
android:id="@+id/textView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginVertical="@dimen/smallMargin"
android:text="@string/target_activity" />
<RadioGroup
android:id="@+id/radioGroup_launchMode"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:checkedButton="@+id/radio_launchMode_standard"
android:orientation="vertical" />
<Button
android:id="@+id/launch_button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="launchActivity"
android:text="@string/launch_activity_button" />
</LinearLayout>

View File

@@ -0,0 +1,117 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2017 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.
-->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="@dimen/smallMargin"
android:background="@drawable/card_background"
android:elevation="@dimen/cardElevation"
android:orientation="vertical"
android:paddingBottom="@dimen/medMargin"
android:paddingEnd="@dimen/fullMargin"
android:paddingLeft="@dimen/fullMargin"
android:paddingRight="@dimen/fullMargin"
android:paddingStart="@dimen/fullMargin"
android:paddingTop="@dimen/medMargin">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/medMargin"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/medMargin"
android:text="@string/current_task"
android:textAppearance="@style/medium" />
<TextView
android:id="@+id/current_task"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/current_task_placeholder"
android:textAppearance="@style/normal" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/medMargin"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/medMargin"
android:text="@string/current_activity"
android:textAppearance="@style/medium" />
<TextView
android:id="@+id/current_activity"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/current_activity_placeholder"
android:textAppearance="@style/normal" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/medMargin"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/medMargin"
android:text="@string/last_task"
android:textAppearance="@style/medium" />
<TextView
android:id="@+id/last_task"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/last_task_placeholder"
android:textAppearance="@style/normal" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/medMargin"
android:text="@string/last_activity"
android:textAppearance="@style/medium" />
<TextView
android:id="@+id/last_activity"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/last_activity_placeholder"
android:textAppearance="@style/normal" />
</LinearLayout>
</LinearLayout>

View File

@@ -0,0 +1,186 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2017 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.
-->
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/intent_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/smallMargin"
android:layout_marginLeft="@dimen/smallMargin"
android:layout_marginRight="@dimen/smallMargin"
android:layout_marginStart="@dimen/smallMargin"
android:layout_marginTop="@dimen/smallMargin"
android:background="@drawable/card_background"
android:elevation="@dimen/cardElevation"
android:orientation="vertical"
android:padding="@dimen/medMargin">
<TextView
android:id="@+id/editText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:contentDescription="@string/current_intent_label_description"
android:inputType="none"
android:maxLines="1"
android:text="@string/intent_fragment_title"
android:textAppearance="@style/title" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="@dimen/smallMargin"
android:orientation="horizontal">
<TextView
android:id="@+id/actionLabel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/smallMargin"
android:contentDescription="@string/action_label_description"
android:text="@string/action_label"
android:textAppearance="@style/medium" />
<TextView
android:id="@+id/intentAction"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/action_placeholder"
android:textAppearance="@style/normal" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="@dimen/smallMargin"
android:orientation="horizontal">
<TextView
android:id="@+id/uriLabel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/smallMargin"
android:contentDescription="@string/data_uri_label_description"
android:text="@string/data_uri_label"
android:textAppearance="@style/medium" />
<TextView
android:id="@+id/intentUri"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/data_uri_placeholder"
android:textAppearance="@style/normal" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="@dimen/smallMargin"
android:orientation="horizontal">
<TextView
android:id="@+id/typeLabel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/smallMargin"
android:contentDescription="@string/type_label_description"
android:text="@string/type_label"
android:textAppearance="@style/medium" />
<TextView
android:id="@+id/intentType"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/type_placeholder"
android:textAppearance="@style/normal" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="@dimen/smallMargin"
android:orientation="horizontal">
<TextView
android:id="@+id/packageLabel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/smallMargin"
android:contentDescription="@string/package_label_description"
android:text="@string/package_label"
android:textAppearance="@style/medium" />
<TextView
android:id="@+id/intentPackage"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/package_placeholder"
android:textAppearance="@style/normal" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="@dimen/smallMargin"
android:orientation="vertical">
<TextView
android:id="@+id/categoryLabel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/smallMargin"
android:contentDescription="@string/category_label_description"
android:text="@string/category_label"
android:textAppearance="@style/medium" />
<LinearLayout
android:id="@+id/intentCategories"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingBottom="@dimen/smallMargin"
android:paddingTop="@dimen/smallMargin" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/smallMargin"
android:orientation="vertical">
<TextView
android:id="@+id/flagsLabel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/smallMargin"
android:contentDescription="@string/flags_label_description"
android:text="@string/flags_label"
android:textAppearance="@style/medium" />
<LinearLayout
android:id="@+id/intentFlags"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingBottom="@dimen/smallMargin"
android:paddingTop="@dimen/smallMargin" />
</LinearLayout>
</LinearLayout>

View File

@@ -0,0 +1,50 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2017 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.
-->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical" android:layout_width="wrap_content"
android:layout_height="match_parent"
android:minWidth="@dimen/dialogWidth">
<ListView
android:id="@+id/flag_list"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="right"
android:orientation="horizontal"
android:paddingEnd="@dimen/smallMargin">
<Button
android:id="@+id/copy_flags_button"
style="@android:style/Widget.Material.Light.Button.Borderless.Colored"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Use flags for next launch" />
<Button
android:id="@+id/dialog_cancel"
style="@android:style/Widget.Material.Light.Button.Borderless.Colored"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/smallMargin"
android:text="@android:string/cancel" />
</LinearLayout>
</LinearLayout>

View File

@@ -0,0 +1,42 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2017 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.
-->
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/task_tree_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="@dimen/smallMargin"
android:background="@drawable/card_background"
android:elevation="@dimen/cardElevation"
android:orientation="vertical">
<TextView
android:id="@+id/task_tree_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/smallMargin"
android:layout_marginStart="@dimen/medMargin"
android:layout_marginTop="@dimen/medMargin"
android:text="@string/task_tree_title"
android:textAppearance="@style/title" />
<LinearLayout
android:id="@+id/task_tree"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:divider="@drawable/divider"
android:showDividers="middle"/>
</LinearLayout>

View File

@@ -0,0 +1,27 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2017 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.
-->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="@dimen/smallMargin">
<TextView
android:id="@+id/header_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/intent_section_title"
android:textAppearance="@style/subsection" />
</LinearLayout>

View File

@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2017 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.
-->
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/text1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="@string/placeholder" />

View File

@@ -0,0 +1,58 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2017 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.
-->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:gravity="center_vertical|left"
android:layout_height="@dimen/listItem" >
<TextView
android:id="@+id/task_label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/fullMargin"
android:layout_weight="0"
android:text="@string/placeholder"
android:textAppearance="@style/medium"
android:textSize="@dimen/regularText" />
<TextView
android:id="@+id/task_id"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0"
android:text="@string/placeholder"
android:textAppearance="@style/medium"
android:textSize="@dimen/regularText" />
<TextView
android:id="@+id/num_activities"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/medMargin"
android:layout_marginStart="@dimen/medMargin"
android:layout_weight="1"
android:text="@string/placeholder"
android:textSize="@dimen/smallText" />
<ImageView
android:id="@+id/group_indicator"
android:layout_width="@dimen/listControl"
android:layout_height="@dimen/listControl"
android:layout_marginEnd="@dimen/fullMargin"
android:src="@drawable/expand_more_mtrl" />
</LinearLayout>

View File

@@ -0,0 +1,60 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2017 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.
-->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:id="@+id/group_item"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" />
<LinearLayout
android:id="@+id/child_item"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:visibility="gone"
android:paddingBottom="@dimen/medMargin" />
<LinearLayout
android:id="@+id/move_task_to_front_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="end"
android:orientation="horizontal"
android:paddingBottom="@dimen/medMargin"
android:paddingEnd="@dimen/smallMargin"
android:paddingStart="@dimen/smallMargin"
android:visibility="gone" >
<Button
android:id="@+id/kill_task_button"
style="@style/flatButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0"
android:text="@string/kill_task_button" />
<Button
android:id="@+id/move_task_to_front_button"
style="@style/flatButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0"
android:text="@string/move_to_front" />
</LinearLayout>
</LinearLayout>

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

View File

@@ -0,0 +1,43 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2017 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.
-->
<resources>
<color name="colorPrimary">#3F51B5</color>
<color name="colorPrimaryDark">#303F9F</color>
<color name="colorAccent">#FF4081</color>
<!-- Material design colours from
https://material.io/guidelines/style/color.html#color-color-palette -->
<color name="md_red_500">#F44336</color>
<color name="md_pink_500">#E91E63</color>
<color name="md_purple_500">#9C27B0</color>
<color name="md_deep_purple_500">#673AB7</color>
<color name="md_indigo_500">#3F51B5</color>
<color name="md_blue_500">#2196F3</color>
<color name="md_light_blue_500">#03A9F4</color>
<color name="md_cyan_500">#00BCD4</color>
<color name="md_teal_500">#009688</color>
<color name="md_green_500">#4CAF50</color>
<color name="md_light_green_500">#8BC34A</color>
<color name="md_lime_500">#CDDC39</color>
<color name="md_grey_500">#9E9E9E</color>
<color name="md_amber_500">#FFC107</color>
<color name="md_yellow_500">#FFEB3B</color>
<color name="md_orange_500">#FF9800</color>
<color name="md_deep_orange_500">#FF5722</color>
<color name="md_brown_500">#795548</color>
<color name="md_blue_grey_500">#607D8B</color>
<color name="defaultTint">@color/md_teal_500</color>
<color name="labelText">@android:color/white</color>
</resources>

View File

@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<dimen name="dialogWidth">@android:dimen/dialog_min_width_major</dimen>
<dimen name="smallMargin">8dp</dimen>
<dimen name="medMargin">16dp</dimen>
<dimen name="fullMargin">24dp</dimen>
<dimen name="blockMargin">32dp</dimen>
<dimen name="cardElevation">2dp</dimen>
<dimen name="titleText">20sp</dimen>
<dimen name="regularText">16sp</dimen>
<dimen name="smallText">12sp</dimen>
<dimen name="listItem">48dp</dimen>
<dimen name="listIcon">48dp</dimen>
<dimen name="listControl">24dp</dimen>
<dimen name="listLabelTextBox">24dp</dimen>
<dimen name="dividerHeight">1dp</dimen>
</resources>

View File

@@ -0,0 +1,65 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2017 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.
-->
<resources>
<string name="app_name">Intent Playground</string>
<string name="task_id">com.example.android.intentplayground.taskId</string>
<string name="activity_index">com.example.android.intentplayground.activityIndex</string>
<string name="activity_name">CompName</string>
<string name="activity_label">#1</string>
<string name="intent_button_description">This button triggers the intent list dialog for this activity</string>
<string name="build_intent">Build Intent</string>
<string name="build_intent_caption">Select flags with which the intent for the launched activity will be built:</string>
<string name="target_activity">Select the target activity:</string>
<string name="launch_activity_button">Launch activity</string>
<string name="activity_name_placeholder">Activity Name</string>
<string name="intent_button_tooltip">View Intent flags</string>
<string name="activity_radio_description">Activity description</string>
<string name="checkbox_placeholder">CheckBox</string>
<string name="dialog_intent_flag_placeholder">intent flag</string>
<string name="current_task">Current Task</string>
<string name="current_task_placeholder">None</string>
<string name="current_activity">Current Activity</string>
<string name="current_activity_placeholder">None</string>
<string name="last_task">Last Task</string>
<string name="last_task_placeholder">None</string>
<string name="last_activity">Last Activity</string>
<string name="last_activity_placeholder">None</string>
<string name="current_intent_label_description">Intent passed to current activity</string>
<string name="intent_fragment_title">Current Intent</string>
<string name="action_label_description">Label for the action of the current intent</string>
<string name="action_label">Action</string>
<string name="action_placeholder">which action?</string>
<string name="data_uri_label_description">Label for the action of the current intent</string>
<string name="data_uri_label">Data URI</string>
<string name="data_uri_placeholder">://</string>
<string name="type_label_description">Label for the action of the current intent</string>
<string name="type_label">Type</string>
<string name="type_placeholder">which action?</string>
<string name="package_label_description">Label for the action of the current intent</string>
<string name="package_label">Package</string>
<string name="package_placeholder">which action?</string>
<string name="category_label_description">Label for the action of the current intent</string>
<string name="category_label">Categories</string>
<string name="flags_label_description">Label for the action of the current intent</string>
<string name="flags_label">Flags</string>
<string name="task_tree_title">Hierarchy</string>
<string name="intent_section_title">Title</string>
<string name="placeholder">placeholder</string>
<string name="kill_task_button">remove</string>
<string name="move_to_front">Move to front</string>
<string name="current_task_hierarchy_title">Current Hierarchy</string>
<string name="expected_task_hierarchy_title">Expected Hierarchy</string>
</resources>

View File

@@ -0,0 +1,29 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2017 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.
-->
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="@android:style/Theme.Material.Light">
<item name="android:colorPrimary">@color/colorPrimary</item>
<item name="android:colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="android:colorAccent">@color/colorAccent</item>
</style>
<style name="flatButton" parent="@android:style/Widget.Material.Light.Button.Borderless.Colored" />
<style name="title" parent="@android:style/TextAppearance.Material.Title" />
<style name="normal" parent="@android:style/TextAppearance.Material.Body1" />
<style name="medium" parent="@android:style/TextAppearance.Material.Body2" />
<style name="caption" parent="@android:style/TextAppearance.Material.Caption" />
<style name="subsection" parent="@android:style/TextAppearance.Material.Medium" />
</resources>

View File

@@ -0,0 +1,126 @@
/*
* Copyright (C) 2017 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.example.android.intentplayground;
import android.app.Activity;
import android.app.ActivityManager;
import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.content.ComponentName;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
import android.widget.CheckBox;
import android.widget.LinearLayout;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
/**
* All of the other activities extend BaseActivity, the shared functionality is implemented here
*/
public abstract class BaseActivity extends Activity {
public final static String LAUNCH_FORWARD = "com.example.android.launchForward";
public final static String BUILDER_FRAGMENT = "com.example.android.builderFragment";
protected ComponentName mActivityToLaunch;
protected List<ActivityManager.AppTask> mTasks;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if (BuildConfig.DEBUG) Log.d(this.getLocalClassName(), "onCreate()");
Intent intent = getIntent();
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction transaction = fragmentManager.beginTransaction();
transaction.add(R.id.fragment_container, new CurrentTaskFragment());
TreeFragment currentTaskFrag = new TreeFragment();
Bundle args = new Bundle();
args.putString(TreeFragment.FRAGMENT_TITLE,
getString(R.string.current_task_hierarchy_title));
currentTaskFrag.setArguments(args);
transaction.add(R.id.fragment_container, currentTaskFrag);
if (intent.hasExtra(TestBase.EXPECTED_HIERARCHY)) {
// That means this activity was launched as a test show the result fragment
TreeFragment expectedView = new TreeFragment();
Bundle expectedArgs = new Bundle();
expectedArgs.putParcelable(TreeFragment.TREE_NODE,
intent.getParcelableExtra(TestBase.EXPECTED_HIERARCHY));
expectedArgs.putString(TreeFragment.FRAGMENT_TITLE,
getString(R.string.expected_task_hierarchy_title));
expectedView.setArguments(expectedArgs);
transaction.add(R.id.fragment_container, expectedView);
}
transaction.add(R.id.fragment_container, new IntentFragment());
transaction.add(R.id.fragment_container, new IntentBuilderFragment(), BUILDER_FRAGMENT);
transaction.commit();
if (intent.hasExtra(LAUNCH_FORWARD)) {
ArrayList<Intent> intents = intent.getParcelableArrayListExtra(LAUNCH_FORWARD);
if (!intents.isEmpty()) {
Intent nextIntent = intents.remove(0);
nextIntent.putParcelableArrayListExtra(LAUNCH_FORWARD, intents);
if (BuildConfig.DEBUG) {
Log.d(this.getLocalClassName(),
LAUNCH_FORWARD + " " + nextIntent.getComponent().toString());
}
startActivity(nextIntent);
}
}
}
/**
* Launches activity with the selected options
*/
public void launchActivity(View view) {
Intent customIntent = new Intent();
LinearLayout flagBuilder = findViewById(R.id.build_intent_flags);
// Gather flags from flag builder checkbox list
childrenOfGroup(flagBuilder, CheckBox.class)
.forEach(checkbox -> {
int flagVal = FlagUtils.value(checkbox.getText().toString());
if (checkbox.isChecked()) customIntent.addFlags(flagVal);
else customIntent.removeFlags(flagVal);
});
customIntent.setComponent(mActivityToLaunch);
startActivity(customIntent);
}
/**
* Convenience method to retrieve children of a certain type from a {@link ViewGroup}
* @param group the ViewGroup to retrieve children from
*/
protected static <T> List<T> childrenOfGroup(ViewGroup group, Class<T> viewType) {
List<T> list = new LinkedList<>();
for (int i = 0; i < group.getChildCount(); i++) {
View v = group.getChildAt(i);
if (viewType.isAssignableFrom(v.getClass())) list.add(viewType.cast(v));
}
return list;
}
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
setIntent(intent);
}
}

View File

@@ -0,0 +1,22 @@
/*
* Copyright (C) 2017 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.example.android.intentplayground;
/**
* An activity with clearTaskOnLaunch flag set in AndroidManifest.xml
*/
public class ClearTaskOnLaunchActivity extends BaseActivity {}

View File

@@ -0,0 +1,22 @@
/*
* Copyright (C) 2017 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.example.android.intentplayground;
/**
* An activity with documentLaunch="always" set in AndroidManifest.xml
*/
public class DocumentLaunchAlwaysActivity extends BaseActivity {}

View File

@@ -0,0 +1,22 @@
/*
* Copyright (C) 2017 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.example.android.intentplayground;
/**
* An activity with documentLaunch="intoExisting" set in AndroidManifest.xml
*/
public class DocumentLaunchIntoActivity extends BaseActivity {}

View File

@@ -0,0 +1,22 @@
/*
* Copyright (C) 2017 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.example.android.intentplayground;
/**
* An activity with documentLaunch="never" set in AndroidManifest.xml
*/
public class DocumentLaunchNeverActivity extends BaseActivity {}

View File

@@ -0,0 +1,64 @@
/*
* Copyright (C) 2017 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.example.android.intentplayground;
import android.content.ComponentName;
import android.content.Intent;
import android.os.Bundle;
/**
* A singleInstance activity that is responsible for a launching a bootstrap stack of activities
*/
public class LauncherActivity extends BaseActivity {
private TestBase mTester;
public static final String TAG = "LauncherActivity";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Node mRoot = new Node(new ComponentName(this, LauncherActivity.class));
// Describe initial setup of tasks
// create singleTask, singleInstance, and two documents in separate tasks
mRoot.addChild( new Node(new ComponentName(this, SingleTaskActivity.class)))
.addChild( new Node(new ComponentName(this, DocumentLaunchAlwaysActivity.class)))
.addChild( new Node(new ComponentName(this, DocumentLaunchIntoActivity.class)));
// Create three tasks with three activities each, with affinity set
Node taskAffinity1 = new Node(new ComponentName(this, TaskAffinity1Activity.class));
taskAffinity1
.addChild(new Node(new ComponentName(this, TaskAffinity1Activity.class)))
.addChild(new Node(new ComponentName(this, TaskAffinity1Activity.class)));
Node taskAffinity2 = new Node(new ComponentName(this, ClearTaskOnLaunchActivity.class));
taskAffinity2
.addChild(new Node(new ComponentName(this, TaskAffinity2Activity.class)))
.addChild(new Node(new ComponentName(this, TaskAffinity2Activity.class)));
Node taskAffinity3 = new Node(new ComponentName(this, TaskAffinity3Activity.class));
taskAffinity3
.addChild(new Node(new ComponentName(this, TaskAffinity3Activity.class)))
.addChild(new Node(new ComponentName(this, TaskAffinity3Activity.class)));
mRoot.addChild(taskAffinity1).addChild(taskAffinity2).addChild(taskAffinity3);
mTester = new TestBase(this, mRoot);
mTester.setupActivities(TestBase.LaunchStyle.TASK_STACK_BUILDER);
}
/**
* Launches activity with the selected options
*/
public void launchActivity(Intent customIntent) {
customIntent.putExtra(TestBase.EXPECTED_HIERARCHY, mTester.computeExpected(customIntent));
startActivity(customIntent);
}
}

View File

@@ -0,0 +1,22 @@
/*
* Copyright (C) 2017 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.example.android.intentplayground;
/**
* An activity with noHistory="true" set in AndroidManifest.xml
*/
public class NoHistoryActivity extends BaseActivity {}

View File

@@ -0,0 +1,76 @@
/** TODO: http://go/java-style#javadoc */
package com.example.android.intentplayground;
import android.app.Fragment;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.os.Parcel;
import android.os.Parcelable;
import android.view.View;
import java.util.List;
import java.util.Map;
class TestBase {
static final String EXPECTED_HIERARCHY = "";
enum LaunchStyle { TASK_STACK_BUILDER, COMMAND_LINE, LAUNCH_FORWARD }
TestBase(Context context, Node hierarchy) {}
void setupActivities(LaunchStyle style) {}
Node computeExpected(Intent intent) { return null; }
static Node describeTaskHierarchy(Context context) { return null; }
}
class TreeFragment extends Fragment {
static final String TREE_NODE = "";
static final String FRAGMENT_TITLE = "";
}
class CurrentTaskFragment extends Fragment {}
class IntentFragment extends Fragment {}
class IntentBuilderFragment extends Fragment implements View.OnClickListener {
ComponentName mActivityToLaunch;
void selectLaunchMode(View view) {}
public void onClick(View view) {}
void clearFlags() {}
void selectFlags(List<String> flags) {}
}
class BuildConfig {
static final boolean DEBUG = true;
}
class Node implements Parcelable, Comparable<Node> {
ComponentName name;
boolean isTaskNode;
int taskId;
static final String TAG = "";
public static final Creator<Node> CREATOR = new Creator<Node>() {
@Override
public Node createFromParcel(Parcel in) {
return new Node(in);
}
@Override
public Node[] newArray(int size) {
return new Node[size];
}
};;
List<Node> children;
Node(ComponentName data) {}
Node(int taskId) {}
Node(Node other) {}
Node(Parcel in) {}
Node addChild(Node child) { return null; }
boolean equals(Node other) { return false; }
public int compareTo(Node o) {return 0;}
@Override
public void writeToParcel(Parcel dest, int flags) {}
@Override
public int describeContents() { return 0; }
}
class FlagUtils {
static List<String> discoverFlags(Intent intent) { return null; }
static List<String> intentFlags() { return null; }
static Map<String, List<String>> intentFlagsByCategory() { return null; }
static int value(String flagName) { return 0; }
static List<String> discoverActivityFlags() { return null; }
static String camelify(String snake) { return null; }
}

View File

@@ -0,0 +1,22 @@
/*
* Copyright (C) 2017 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.example.android.intentplayground;
/**
* An activity with launchMode="singleInstance" set in AndroidManifest.xml
*/
public class SingleInstanceActivity extends BaseActivity {}

View File

@@ -0,0 +1,22 @@
/*
* Copyright (C) 2017 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.example.android.intentplayground;
/**
* An activity with launchMode="singleTask" set in AndroidManifest.xml
*/
public class SingleTaskActivity extends BaseActivity {}

View File

@@ -0,0 +1,22 @@
/*
* Copyright (C) 2017 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.example.android.intentplayground;
/**
* An activity with launchMode="singleTop" set in AndroidManifest.xml
*/
public class SingleTopActivity extends BaseActivity {}

View File

@@ -0,0 +1,22 @@
/*
* Copyright (C) 2017 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.example.android.intentplayground;
/**
* An activity with taskAffinity=".t1" set in AndroidManifest.xml
*/
public class TaskAffinity1Activity extends BaseActivity {}

View File

@@ -0,0 +1,22 @@
/*
* Copyright (C) 2017 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.example.android.intentplayground;
/**
* An activity with taskAffinity=".t2" set in AndroidManifest.xml
*/
public class TaskAffinity2Activity extends BaseActivity {}

View File

@@ -0,0 +1,22 @@
/*
* Copyright (C) 2017 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.example.android.intentplayground;
/**
* An activity with taskAffinity=".t3" set in AndroidManifest.xml
*/
public class TaskAffinity3Activity extends BaseActivity {}

View File

@@ -1,4 +1,4 @@
Pkg.UserSrc=false
Pkg.Revision=${PLATFORM_SDK_VERSION}.0.1
#Pkg.Revision=26.0.0 rc1
Pkg.Revision=${PLATFORM_SDK_VERSION}.0.0
#Pkg.Revision=27.0.0

View File

@@ -1,3 +1,3 @@
Pkg.UserSrc=false
#Pkg.Revision=${PLATFORM_SDK_VERSION}.0.0
Pkg.Revision=27.0.0
Pkg.Revision=${PLATFORM_SDK_VERSION}.0.0
#Pkg.Revision=26.0.0 rc1

View File

@@ -2,7 +2,7 @@ Pkg.Desc=Android SDK Platform ${PLATFORM_VERSION}
Pkg.UserSrc=false
Platform.Version=${PLATFORM_VERSION}
Platform.CodeName=
Pkg.Revision=2
Pkg.Revision=1
AndroidVersion.ApiLevel=${PLATFORM_SDK_VERSION}
AndroidVersion.CodeName=${PLATFORM_VERSION_CODENAME}
Layoutlib.Api=15

View File

@@ -1,6 +1,7 @@
GrallocSync = on
GLDMA = on
LogcatPipe = on
GLAsyncSwap = on
GLESDynamicVersion = on
GLDMA = on
EncryptUserData = on
SystemAsRoot = on

View File

@@ -143,6 +143,12 @@ See test_defs.xsd for more information.
coverage_target="framework"
continuous="true" />
<test name="android-common-ex"
build_path="frameworks/ex/common/tests"
package="com.android.common.tests"
coverage_target="framework"
continuous="true" />
<test name="ex-variablespeed"
build_path="frameworks/ex/variablespeed/tests"
package="com.android.ex.variablespeed.tests"

View File

@@ -5,6 +5,7 @@ import re
BUFFER_BEGIN = re.compile("^--------- beginning of (.*)$")
BUFFER_SWITCH = re.compile("^--------- switch to (.*)$")
HEADER = re.compile("^\\[ (\\d\\d-\\d\\d \\d\\d:\\d\\d:\\d\\d.\\d\\d\\d) +(.+?): *(\\d+): *(\\d+) *([EWIDV])/(.*?) *\\]$")
HEADER_TYPE2 = re.compile("^(\\d\\d-\\d\\d \\d\\d:\\d\\d:\\d\\d.\\d\\d\\d) *(\\d+) *(\\d+) *([EWIDV]) ([^ :]*?): (.*?)$")
CHATTY_IDENTICAL = re.compile("^.* identical (\\d+) lines$")
STATE_BEGIN = 0
@@ -135,6 +136,25 @@ def ParseLogcatInner(f, processes, duration=None):
state = STATE_HEADER
continue
m = HEADER_TYPE2.match(line)
if m:
if logLine:
yield logLine
logLine = LogLine(
buf=buf,
timestamp=m.group(1),
uid="0",
pid=m.group(2),
tid=m.group(3),
level=m.group(4),
tag=m.group(5),
text=m.group(6)
)
previous = logLine
logLine.process = processes.FindPid(logLine.pid, logLine.uid)
state = STATE_BEGIN
continue
if not len(line):
if state == STATE_BLANK:
if logLine:

View File

@@ -0,0 +1,576 @@
Path,Tag,Comments
/system/${LIB}/android.frameworks.displayservice@1.0.so,VNDK,
/system/${LIB}/android.frameworks.schedulerservice@1.0.so,VNDK,
/system/${LIB}/android.frameworks.sensorservice@1.0.so,VNDK,
/system/${LIB}/android.frameworks.vr.composer@1.0.so,VNDK,
/system/${LIB}/android.hardware.audio.common@2.0-util.so,VNDK,
/system/${LIB}/android.hardware.audio.common@2.0.so,VNDK,
/system/${LIB}/android.hardware.audio.effect@2.0.so,VNDK,
/system/${LIB}/android.hardware.audio@2.0.so,VNDK,
/system/${LIB}/android.hardware.automotive.evs@1.0.so,VNDK,
/system/${LIB}/android.hardware.automotive.vehicle@2.0.so,VNDK,
/system/${LIB}/android.hardware.biometrics.fingerprint@2.1.so,VNDK,
/system/${LIB}/android.hardware.bluetooth@1.0.so,VNDK,
/system/${LIB}/android.hardware.boot@1.0.so,VNDK,
/system/${LIB}/android.hardware.broadcastradio@1.0.so,VNDK,
/system/${LIB}/android.hardware.broadcastradio@1.1.so,VNDK,
/system/${LIB}/android.hardware.camera.common@1.0.so,VNDK,
/system/${LIB}/android.hardware.camera.device@1.0.so,VNDK,
/system/${LIB}/android.hardware.camera.device@3.2.so,VNDK,
/system/${LIB}/android.hardware.camera.device@3.3.so,VNDK,
/system/${LIB}/android.hardware.camera.metadata@3.2.so,VNDK,
/system/${LIB}/android.hardware.camera.provider@2.4.so,VNDK,
/system/${LIB}/android.hardware.cas.native@1.0.so,VNDK,
/system/${LIB}/android.hardware.cas@1.0.so,VNDK,
/system/${LIB}/android.hardware.configstore-utils.so,VNDK,
/system/${LIB}/android.hardware.configstore@1.0.so,VNDK,
/system/${LIB}/android.hardware.contexthub@1.0.so,VNDK,
/system/${LIB}/android.hardware.drm@1.0.so,VNDK,
/system/${LIB}/android.hardware.dumpstate@1.0.so,VNDK,
/system/${LIB}/android.hardware.gatekeeper@1.0.so,VNDK,
/system/${LIB}/android.hardware.gnss@1.0.so,VNDK,
/system/${LIB}/android.hardware.graphics.allocator@2.0.so,VNDK-SP,
/system/${LIB}/android.hardware.graphics.bufferqueue@1.0.so,VNDK,
/system/${LIB}/android.hardware.graphics.common@1.0.so,VNDK-SP,
/system/${LIB}/android.hardware.graphics.composer@2.1.so,VNDK,
/system/${LIB}/android.hardware.graphics.mapper@2.0.so,VNDK-SP,
/system/${LIB}/android.hardware.health@1.0.so,VNDK,
/system/${LIB}/android.hardware.ir@1.0.so,VNDK,
/system/${LIB}/android.hardware.keymaster@3.0.so,VNDK,
/system/${LIB}/android.hardware.light@2.0.so,VNDK,
/system/${LIB}/android.hardware.media.omx@1.0.so,VNDK,
/system/${LIB}/android.hardware.media@1.0.so,VNDK,
/system/${LIB}/android.hardware.memtrack@1.0.so,VNDK,
/system/${LIB}/android.hardware.neuralnetworks@1.0.so,VNDK,
/system/${LIB}/android.hardware.nfc@1.0.so,VNDK,
/system/${LIB}/android.hardware.oemlock@1.0.so,VNDK,
/system/${LIB}/android.hardware.power@1.0.so,VNDK,
/system/${LIB}/android.hardware.power@1.1.so,VNDK,
/system/${LIB}/android.hardware.radio.deprecated@1.0.so,VNDK,
/system/${LIB}/android.hardware.radio@1.0.so,VNDK,
/system/${LIB}/android.hardware.radio@1.1.so,VNDK,
/system/${LIB}/android.hardware.renderscript@1.0.so,VNDK-SP,
/system/${LIB}/android.hardware.sensors@1.0.so,VNDK,
/system/${LIB}/android.hardware.soundtrigger@2.0.so,VNDK,
/system/${LIB}/android.hardware.tests.libhwbinder@1.0.so,VNDK,
/system/${LIB}/android.hardware.tetheroffload.config@1.0.so,VNDK,
/system/${LIB}/android.hardware.tetheroffload.control@1.0.so,VNDK,
/system/${LIB}/android.hardware.thermal@1.0.so,VNDK,
/system/${LIB}/android.hardware.thermal@1.1.so,VNDK,
/system/${LIB}/android.hardware.tv.cec@1.0.so,VNDK,
/system/${LIB}/android.hardware.tv.input@1.0.so,VNDK,
/system/${LIB}/android.hardware.usb@1.0.so,VNDK,
/system/${LIB}/android.hardware.usb@1.1.so,VNDK,
/system/${LIB}/android.hardware.vibrator@1.0.so,VNDK,
/system/${LIB}/android.hardware.vibrator@1.1.so,VNDK,
/system/${LIB}/android.hardware.vr@1.0.so,VNDK,
/system/${LIB}/android.hardware.weaver@1.0.so,VNDK,
/system/${LIB}/android.hardware.wifi.offload@1.0.so,VNDK,
/system/${LIB}/android.hardware.wifi.supplicant@1.0.so,VNDK,
/system/${LIB}/android.hardware.wifi@1.0.so,VNDK,
/system/${LIB}/android.hardware.wifi@1.1.so,VNDK,
/system/${LIB}/android.hidl.allocator@1.0.so,VNDK,
/system/${LIB}/android.hidl.memory@1.0-impl.so,VNDK-SP-Indirect-Private,
/system/${LIB}/android.hidl.memory@1.0.so,VNDK-SP,
/system/${LIB}/android.hidl.token@1.0-utils.so,VNDK,
/system/${LIB}/android.hidl.token@1.0.so,VNDK,
/system/${LIB}/android.system.net.netd@1.0.so,VNDK,
/system/${LIB}/android.system.wifi.keystore@1.0.so,VNDK,
/system/${LIB}/drm/libfwdlockengine.so,FWK-ONLY,
/system/${LIB}/hw/audio.a2dp.default.so,FWK-ONLY,
/system/${LIB}/hw/bluetooth.default.so,FWK-ONLY,
/system/${LIB}/hw/keystore.default.so,FWK-ONLY,
/system/${LIB}/ld-android.so,LL-NDK-Indirect,
/system/${LIB}/libEGL.so,SP-NDK,
/system/${LIB}/libETC1.so,FWK-ONLY,
/system/${LIB}/libFFTEm.so,FWK-ONLY,
/system/${LIB}/libGLESv1_CM.so,SP-NDK,
/system/${LIB}/libGLESv2.so,SP-NDK,
/system/${LIB}/libGLESv3.so,SP-NDK,
/system/${LIB}/libLLVM.so,FWK-ONLY,
/system/${LIB}/libOpenMAXAL.so,FWK-ONLY,
/system/${LIB}/libOpenSLES.so,FWK-ONLY,
/system/${LIB}/libRS.so,LL-NDK,
/system/${LIB}/libRSCpuRef.so,VNDK-SP,
/system/${LIB}/libRSDriver.so,VNDK-SP,
/system/${LIB}/libRS_internal.so,VNDK-SP,
/system/${LIB}/libRScpp.so,FWK-ONLY,
/system/${LIB}/libWnnEngDic.so,FWK-ONLY,
/system/${LIB}/libWnnJpnDic.so,FWK-ONLY,
/system/${LIB}/libaaudio.so,FWK-ONLY,
/system/${LIB}/libadf.so,VNDK,
/system/${LIB}/libandroid.so,FWK-ONLY,
/system/${LIB}/libandroid_net.so,LL-NDK,
/system/${LIB}/libandroid_runtime.so,FWK-ONLY,
/system/${LIB}/libandroid_servers.so,FWK-ONLY,
/system/${LIB}/libandroidfw.so,FWK-ONLY,
/system/${LIB}/libappfuse.so,FWK-ONLY,
/system/${LIB}/libart-compiler.so,FWK-ONLY,
/system/${LIB}/libart-dexlayout.so,FWK-ONLY,
/system/${LIB}/libart-disassembler.so,FWK-ONLY,
/system/${LIB}/libart.so,FWK-ONLY,
/system/${LIB}/libaudioclient.so,FWK-ONLY,
/system/${LIB}/libaudioeffect_jni.so,FWK-ONLY,
/system/${LIB}/libaudioflinger.so,FWK-ONLY,
/system/${LIB}/libaudiohal.so,FWK-ONLY,
/system/${LIB}/libaudiomanager.so,FWK-ONLY,
/system/${LIB}/libaudiopolicyenginedefault.so,FWK-ONLY,
/system/${LIB}/libaudiopolicymanager.so,FWK-ONLY,
/system/${LIB}/libaudiopolicymanagerdefault.so,FWK-ONLY,
/system/${LIB}/libaudiopolicyservice.so,FWK-ONLY,
/system/${LIB}/libaudioprocessing.so,FWK-ONLY,
/system/${LIB}/libaudioroute.so,VNDK,
/system/${LIB}/libaudiospdif.so,FWK-ONLY,
/system/${LIB}/libaudioutils.so,VNDK,
/system/${LIB}/libavservices_minijail.so,FWK-ONLY,"Vendor module should link libavservices_minijail_vendor.so"
/system/${LIB}/libbacktrace.so,VNDK-SP-Indirect,
/system/${LIB}/libbase.so,VNDK-SP,
/system/${LIB}/libbatteryservice.so,FWK-ONLY,
/system/${LIB}/libbcc.so,FWK-ONLY,
/system/${LIB}/libbcinfo.so,VNDK-SP,
/system/${LIB}/libbinder.so,VNDK,
/system/${LIB}/libbinderwrapper.so,FWK-ONLY,
/system/${LIB}/libblas.so,VNDK-SP-Indirect-Private,
/system/${LIB}/libbluetooth_jni.so,FWK-ONLY,
/system/${LIB}/libbrillo-binder.so,FWK-ONLY,
/system/${LIB}/libbrillo-stream.so,FWK-ONLY,
/system/${LIB}/libbrillo.so,FWK-ONLY,
/system/${LIB}/libc++.so,VNDK-SP,
/system/${LIB}/libc.so,LL-NDK,
/system/${LIB}/libc_malloc_debug.so,LL-NDK-Indirect,
/system/${LIB}/libcamera2ndk.so,FWK-ONLY,
/system/${LIB}/libcamera_client.so,FWK-ONLY,
/system/${LIB}/libcamera_metadata.so,VNDK,
/system/${LIB}/libcameraservice.so,FWK-ONLY,
/system/${LIB}/libcap.so,VNDK,
/system/${LIB}/libchrome.so,FWK-ONLY,
/system/${LIB}/libclang_rt.ubsan_standalone-aarch64-android.so,VNDK,
/system/${LIB}/libclang_rt.ubsan_standalone-arm-android.so,VNDK,
/system/${LIB}/libclang_rt.ubsan_standalone-i686-android.so,VNDK,
/system/${LIB}/libclang_rt.ubsan_standalone-mips-android.so,VNDK,
/system/${LIB}/libclang_rt.ubsan_standalone-mips64-android.so,VNDK,
/system/${LIB}/libclang_rt.ubsan_standalone-x86_64-android.so,VNDK,
/system/${LIB}/libcompiler_rt.so,VNDK-SP-Indirect-Private,
/system/${LIB}/libcrypto.so,VNDK,
/system/${LIB}/libcrypto_utils.so,VNDK,
/system/${LIB}/libcups.so,FWK-ONLY,
/system/${LIB}/libcurl.so,VNDK,
/system/${LIB}/libcutils.so,VNDK-SP,
/system/${LIB}/libdebuggerd_client.so,FWK-ONLY,
/system/${LIB}/libdefcontainer_jni.so,FWK-ONLY,
/system/${LIB}/libdiskconfig.so,VNDK,
/system/${LIB}/libdl.so,LL-NDK,
/system/${LIB}/libdng_sdk.so,FWK-ONLY,
/system/${LIB}/libdrmframework.so,FWK-ONLY,
/system/${LIB}/libdrmframework_jni.so,FWK-ONLY,
/system/${LIB}/libdumpstateaidl.so,FWK-ONLY,
/system/${LIB}/libdumpstateutil.so,VNDK,
/system/${LIB}/libevent.so,VNDK,
/system/${LIB}/libexif.so,VNDK,
/system/${LIB}/libexpat.so,VNDK,
/system/${LIB}/libext2_blkid.so,FWK-ONLY,
/system/${LIB}/libext2_com_err.so,FWK-ONLY,
/system/${LIB}/libext2_e2p.so,FWK-ONLY,
/system/${LIB}/libext2_quota.so,FWK-ONLY,
/system/${LIB}/libext2_uuid.so,FWK-ONLY,
/system/${LIB}/libext2fs.so,FWK-ONLY,
/system/${LIB}/libext4_utils.so,FWK-ONLY,
/system/${LIB}/libf2fs_sparseblock.so,FWK-ONLY,
/system/${LIB}/libfilterfw.so,FWK-ONLY,
/system/${LIB}/libfilterpack_imageproc.so,FWK-ONLY,
/system/${LIB}/libfmq.so,VNDK,
/system/${LIB}/libframesequence.so,FWK-ONLY,
/system/${LIB}/libft2.so,FWK-ONLY-RS,
/system/${LIB}/libgatekeeper.so,VNDK,
/system/${LIB}/libgiftranscode.so,FWK-ONLY,
/system/${LIB}/libgui.so,VNDK,
/system/${LIB}/libhardware.so,VNDK-SP,
/system/${LIB}/libhardware_legacy.so,VNDK,
/system/${LIB}/libharfbuzz_ng.so,FWK-ONLY,
/system/${LIB}/libhidcommand_jni.so,FWK-ONLY,
/system/${LIB}/libhidl-gen-utils.so,FWK-ONLY,
/system/${LIB}/libhidlbase.so,VNDK-SP,
/system/${LIB}/libhidlmemory.so,VNDK-SP,
/system/${LIB}/libhidltransport.so,VNDK-SP,
/system/${LIB}/libhwbinder.so,VNDK-SP,
/system/${LIB}/libhwui.so,FWK-ONLY,
/system/${LIB}/libicui18n.so,FWK-ONLY,
/system/${LIB}/libicuuc.so,FWK-ONLY,
/system/${LIB}/libimg_utils.so,FWK-ONLY,
/system/${LIB}/libincident.so,FWK-ONLY,
/system/${LIB}/libinput.so,FWK-ONLY,
/system/${LIB}/libinputflinger.so,FWK-ONLY,
/system/${LIB}/libinputservice.so,FWK-ONLY,
/system/${LIB}/libion.so,VNDK-SP,
/system/${LIB}/libiperf.so,FWK-ONLY,
/system/${LIB}/libiprouteutil.so,FWK-ONLY,
/system/${LIB}/libjavacore.so,FWK-ONLY,
/system/${LIB}/libjavacrypto.so,FWK-ONLY,
/system/${LIB}/libjni_eglfence.so,FWK-ONLY,
/system/${LIB}/libjni_filtershow_filters.so,FWK-ONLY,
/system/${LIB}/libjni_jpegstream.so,FWK-ONLY,
/system/${LIB}/libjni_jpegutil.so,FWK-ONLY,
/system/${LIB}/libjni_latinime.so,FWK-ONLY,
/system/${LIB}/libjni_pacprocessor.so,FWK-ONLY,
/system/${LIB}/libjni_tinyplanet.so,FWK-ONLY,
/system/${LIB}/libjnigraphics.so,FWK-ONLY,
/system/${LIB}/libjpeg.so,VNDK,
/system/${LIB}/libkeymaster_messages.so,VNDK,
/system/${LIB}/libkeymaster_portable.so,VNDK,
/system/${LIB}/libkeymaster_staging.so,VNDK,
/system/${LIB}/libkeystore-engine.so,FWK-ONLY,
/system/${LIB}/libkeystore_binder.so,FWK-ONLY,
/system/${LIB}/libldacBT_abr.so,VNDK,
/system/${LIB}/libldacBT_enc.so,VNDK,
/system/${LIB}/liblog.so,LL-NDK,
/system/${LIB}/liblogcat.so,FWK-ONLY,
/system/${LIB}/liblogwrap.so,FWK-ONLY,
/system/${LIB}/liblz4.so,VNDK,
/system/${LIB}/liblzma.so,VNDK-SP-Indirect,
/system/${LIB}/libm.so,LL-NDK,
/system/${LIB}/libmdnssd.so,FWK-ONLY,
/system/${LIB}/libmedia.so,FWK-ONLY,
/system/${LIB}/libmedia_helper.so,VNDK,
/system/${LIB}/libmedia_jni.so,FWK-ONLY,
/system/${LIB}/libmedia_omx.so,VNDK,
/system/${LIB}/libmediadrm.so,FWK-ONLY,
/system/${LIB}/libmediaextractorservice.so,FWK-ONLY,
/system/${LIB}/libmedialogservice.so,FWK-ONLY,
/system/${LIB}/libmediametrics.so,FWK-ONLY,
/system/${LIB}/libmediandk.so,FWK-ONLY-RS,
/system/${LIB}/libmediautils.so,FWK-ONLY,
/system/${LIB}/libmemtrack.so,VNDK,
/system/${LIB}/libmemunreachable.so,FWK-ONLY,
/system/${LIB}/libmetricslogger.so,FWK-ONLY,
/system/${LIB}/libmidi.so,FWK-ONLY,
/system/${LIB}/libminijail.so,FWK-ONLY,"Vendor module should link libminijail_vendor.so"
/system/${LIB}/libminikin.so,FWK-ONLY,
/system/${LIB}/libmtp.so,FWK-ONLY,
/system/${LIB}/libnativebridge.so,FWK-ONLY,
/system/${LIB}/libnativehelper.so,FWK-ONLY,
/system/${LIB}/libnativeloader.so,FWK-ONLY,
/system/${LIB}/libnativewindow.so,SP-NDK,
/system/${LIB}/libnbaio.so,FWK-ONLY,"Vendor module should link libnbaio_mono.so"
/system/${LIB}/libnetd_client.so,LL-NDK-Indirect,
/system/${LIB}/libnetdaidl.so,FWK-ONLY,
/system/${LIB}/libnetlink.so,FWK-ONLY,
/system/${LIB}/libnetutils.so,VNDK,
/system/${LIB}/libnl.so,VNDK,
/system/${LIB}/libopenjdk.so,FWK-ONLY,
/system/${LIB}/libopenjdkjvm.so,FWK-ONLY,
/system/${LIB}/libopenjdkjvmti.so,FWK-ONLY,
/system/${LIB}/libopus.so,VNDK,
/system/${LIB}/libpac.so,FWK-ONLY,
/system/${LIB}/libpackagelistparser.so,FWK-ONLY,
/system/${LIB}/libpagemap.so,VNDK,
/system/${LIB}/libpcap.so,FWK-ONLY,
/system/${LIB}/libpcre2.so,VNDK,
/system/${LIB}/libpcrecpp.so,FWK-ONLY,
/system/${LIB}/libpdfium.so,FWK-ONLY,
/system/${LIB}/libpiex.so,VNDK,
/system/${LIB}/libpixelflinger.so,FWK-ONLY,
/system/${LIB}/libpng.so,VNDK,
/system/${LIB}/libpower.so,VNDK,
/system/${LIB}/libpowermanager.so,FWK-ONLY,
/system/${LIB}/libprintspooler_jni.so,FWK-ONLY,
/system/${LIB}/libprocessgroup.so,FWK-ONLY,
/system/${LIB}/libprocinfo.so,VNDK,
/system/${LIB}/libprotobuf-cpp-full.so,VNDK,
/system/${LIB}/libprotobuf-cpp-lite.so,VNDK,
/system/${LIB}/libradio_metadata.so,VNDK,
/system/${LIB}/librs_jni.so,FWK-ONLY,
/system/${LIB}/librtp_jni.so,FWK-ONLY,
/system/${LIB}/libschedulerservicehidl.so,FWK-ONLY,
/system/${LIB}/libselinux.so,FWK-ONLY,
/system/${LIB}/libsensor.so,FWK-ONLY,
/system/${LIB}/libsensorservice.so,FWK-ONLY,
/system/${LIB}/libsensorservicehidl.so,FWK-ONLY,
/system/${LIB}/libservices.so,FWK-ONLY,
/system/${LIB}/libserviceutility.so,FWK-ONLY,
/system/${LIB}/libsigchain.so,FWK-ONLY,
/system/${LIB}/libskia.so,FWK-ONLY,
/system/${LIB}/libsoftkeymaster.so,FWK-ONLY,
/system/${LIB}/libsoftkeymasterdevice.so,VNDK,
/system/${LIB}/libsonic.so,FWK-ONLY,
/system/${LIB}/libsonivox.so,FWK-ONLY,
/system/${LIB}/libsoundpool.so,FWK-ONLY,
/system/${LIB}/libsoundtrigger.so,FWK-ONLY,
/system/${LIB}/libsoundtriggerservice.so,FWK-ONLY,
/system/${LIB}/libsparse.so,FWK-ONLY,
/system/${LIB}/libspeexresampler.so,VNDK,
/system/${LIB}/libsqlite.so,VNDK,
/system/${LIB}/libssl.so,VNDK,
/system/${LIB}/libstagefright.so,FWK-ONLY,
/system/${LIB}/libstagefright_amrnb_common.so,VNDK,
/system/${LIB}/libstagefright_enc_common.so,VNDK,
/system/${LIB}/libstagefright_flacdec.so,VNDK,
/system/${LIB}/libstagefright_foundation.so,VNDK,
/system/${LIB}/libstagefright_http_support.so,FWK-ONLY,
/system/${LIB}/libstagefright_omx.so,VNDK,
/system/${LIB}/libstagefright_omx_utils.so,VNDK,
/system/${LIB}/libstagefright_soft_aacdec.so,VNDK,
/system/${LIB}/libstagefright_soft_aacenc.so,VNDK,
/system/${LIB}/libstagefright_soft_amrdec.so,VNDK,
/system/${LIB}/libstagefright_soft_amrnbenc.so,VNDK,
/system/${LIB}/libstagefright_soft_amrwbenc.so,VNDK,
/system/${LIB}/libstagefright_soft_avcdec.so,VNDK,
/system/${LIB}/libstagefright_soft_avcenc.so,VNDK,
/system/${LIB}/libstagefright_soft_flacdec.so,VNDK,
/system/${LIB}/libstagefright_soft_flacenc.so,VNDK,
/system/${LIB}/libstagefright_soft_g711dec.so,VNDK,
/system/${LIB}/libstagefright_soft_gsmdec.so,VNDK,
/system/${LIB}/libstagefright_soft_hevcdec.so,VNDK,
/system/${LIB}/libstagefright_soft_mp3dec.so,VNDK,
/system/${LIB}/libstagefright_soft_mpeg2dec.so,VNDK,
/system/${LIB}/libstagefright_soft_mpeg4dec.so,VNDK,
/system/${LIB}/libstagefright_soft_mpeg4enc.so,VNDK,
/system/${LIB}/libstagefright_soft_opusdec.so,VNDK,
/system/${LIB}/libstagefright_soft_rawdec.so,VNDK,
/system/${LIB}/libstagefright_soft_vorbisdec.so,VNDK,
/system/${LIB}/libstagefright_soft_vpxdec.so,VNDK,
/system/${LIB}/libstagefright_soft_vpxenc.so,VNDK,
/system/${LIB}/libstagefright_xmlparser.so,VNDK,
/system/${LIB}/libstdc++.so,FWK-ONLY,
/system/${LIB}/libsurfaceflinger.so,FWK-ONLY,
/system/${LIB}/libsurfaceflinger_ddmconnection.so,FWK-ONLY,
/system/${LIB}/libsuspend.so,VNDK,
/system/${LIB}/libsync.so,SP-NDK,
/system/${LIB}/libsysutils.so,VNDK,
/system/${LIB}/libtextclassifier.so,FWK-ONLY,
/system/${LIB}/libtinyalsa.so,VNDK,
/system/${LIB}/libtinyxml2.so,VNDK,
/system/${LIB}/libui.so,VNDK,
/system/${LIB}/libunwind.so,VNDK-SP-Indirect,
/system/${LIB}/libunwindstack.so,VNDK-SP-Indirect,
/system/${LIB}/libusbhost.so,VNDK,
/system/${LIB}/libutils.so,VNDK-SP,
/system/${LIB}/libvintf.so,FWK-ONLY,
/system/${LIB}/libvixl-arm.so,VNDK,
/system/${LIB}/libvixl-arm64.so,VNDK,
/system/${LIB}/libvndksupport.so,LL-NDK,
/system/${LIB}/libvorbisidec.so,VNDK,
/system/${LIB}/libvulkan.so,SP-NDK,
/system/${LIB}/libwebviewchromium_loader.so,FWK-ONLY,
/system/${LIB}/libwebviewchromium_plat_support.so,FWK-ONLY,
/system/${LIB}/libwfds.so,FWK-ONLY,
/system/${LIB}/libwifi-service.so,FWK-ONLY,
/system/${LIB}/libwifi-system-iface.so,VNDK,
/system/${LIB}/libwifi-system.so,FWK-ONLY,
/system/${LIB}/libwifikeystorehal.so,FWK-ONLY,
/system/${LIB}/libwilhelm.so,FWK-ONLY,
/system/${LIB}/libwnndict.so,FWK-ONLY,
/system/${LIB}/libxml2.so,VNDK,
/system/${LIB}/libyuv.so,VNDK,
/system/${LIB}/libz.so,VNDK-SP,
/system/${LIB}/libziparchive.so,VNDK,
/system/${LIB}/tests.vendor@1.0.so,VNDK,
/system/${LIB}/tests.vendor@1.1.so,VNDK,
/system/${LIB}/vndk-sp/android.hardware.graphics.allocator@2.0.so,VNDK-SP,
/system/${LIB}/vndk-sp/android.hardware.graphics.common@1.0.so,VNDK-SP,
/system/${LIB}/vndk-sp/android.hardware.graphics.mapper@2.0.so,VNDK-SP,
/system/${LIB}/vndk-sp/android.hardware.renderscript@1.0.so,VNDK-SP,
/system/${LIB}/vndk-sp/android.hidl.memory@1.0-impl.so,VNDK-SP-Indirect-Private,
/system/${LIB}/vndk-sp/android.hidl.memory@1.0.so,VNDK-SP,
/system/${LIB}/vndk-sp/libRSCpuRef.so,VNDK-SP,
/system/${LIB}/vndk-sp/libRSDriver.so,VNDK-SP,
/system/${LIB}/vndk-sp/libRS_internal.so,VNDK-SP,
/system/${LIB}/vndk-sp/libbacktrace.so,VNDK-SP-Indirect,
/system/${LIB}/vndk-sp/libbase.so,VNDK-SP,
/system/${LIB}/vndk-sp/libbcinfo.so,VNDK-SP,
/system/${LIB}/vndk-sp/libblas.so,VNDK-SP-Indirect-Private,
/system/${LIB}/vndk-sp/libc++.so,VNDK-SP,
/system/${LIB}/vndk-sp/libcompiler_rt.so,VNDK-SP-Indirect-Private,
/system/${LIB}/vndk-sp/libcutils.so,VNDK-SP,
/system/${LIB}/vndk-sp/libhardware.so,VNDK-SP,
/system/${LIB}/vndk-sp/libhidlbase.so,VNDK-SP,
/system/${LIB}/vndk-sp/libhidlmemory.so,VNDK-SP,
/system/${LIB}/vndk-sp/libhidltransport.so,VNDK-SP,
/system/${LIB}/vndk-sp/libhwbinder.so,VNDK-SP,
/system/${LIB}/vndk-sp/libion.so,VNDK-SP,
/system/${LIB}/vndk-sp/liblzma.so,VNDK-SP-Indirect,
/system/${LIB}/vndk-sp/libunwind.so,VNDK-SP-Indirect,
/system/${LIB}/vndk-sp/libunwindstack.so,VNDK-SP-Indirect,
/system/${LIB}/vndk-sp/libutils.so,VNDK-SP,
/system/${LIB}/vndk-sp/libz.so,VNDK-SP,
/system/${LIB}/vndk/android.frameworks.displayservice@1.0.so,VNDK,
/system/${LIB}/vndk/android.frameworks.schedulerservice@1.0.so,VNDK,
/system/${LIB}/vndk/android.frameworks.sensorservice@1.0.so,VNDK,
/system/${LIB}/vndk/android.frameworks.vr.composer@1.0.so,VNDK,
/system/${LIB}/vndk/android.hardware.audio.common@2.0-util.so,VNDK,
/system/${LIB}/vndk/android.hardware.audio.common@2.0.so,VNDK,
/system/${LIB}/vndk/android.hardware.audio.effect@2.0.so,VNDK,
/system/${LIB}/vndk/android.hardware.audio@2.0.so,VNDK,
/system/${LIB}/vndk/android.hardware.automotive.evs@1.0.so,VNDK,
/system/${LIB}/vndk/android.hardware.automotive.vehicle@2.0.so,VNDK,
/system/${LIB}/vndk/android.hardware.biometrics.fingerprint@2.1.so,VNDK,
/system/${LIB}/vndk/android.hardware.bluetooth@1.0.so,VNDK,
/system/${LIB}/vndk/android.hardware.boot@1.0.so,VNDK,
/system/${LIB}/vndk/android.hardware.broadcastradio@1.0.so,VNDK,
/system/${LIB}/vndk/android.hardware.broadcastradio@1.1.so,VNDK,
/system/${LIB}/vndk/android.hardware.camera.common@1.0.so,VNDK,
/system/${LIB}/vndk/android.hardware.camera.device@1.0.so,VNDK,
/system/${LIB}/vndk/android.hardware.camera.device@3.2.so,VNDK,
/system/${LIB}/vndk/android.hardware.camera.device@3.3.so,VNDK,
/system/${LIB}/vndk/android.hardware.camera.metadata@3.2.so,VNDK,
/system/${LIB}/vndk/android.hardware.camera.provider@2.4.so,VNDK,
/system/${LIB}/vndk/android.hardware.cas.native@1.0.so,VNDK,
/system/${LIB}/vndk/android.hardware.cas@1.0.so,VNDK,
/system/${LIB}/vndk/android.hardware.configstore-utils.so,VNDK,
/system/${LIB}/vndk/android.hardware.configstore@1.0.so,VNDK,
/system/${LIB}/vndk/android.hardware.contexthub@1.0.so,VNDK,
/system/${LIB}/vndk/android.hardware.drm@1.0.so,VNDK,
/system/${LIB}/vndk/android.hardware.dumpstate@1.0.so,VNDK,
/system/${LIB}/vndk/android.hardware.gatekeeper@1.0.so,VNDK,
/system/${LIB}/vndk/android.hardware.gnss@1.0.so,VNDK,
/system/${LIB}/vndk/android.hardware.graphics.bufferqueue@1.0.so,VNDK,
/system/${LIB}/vndk/android.hardware.graphics.composer@2.1.so,VNDK,
/system/${LIB}/vndk/android.hardware.health@1.0.so,VNDK,
/system/${LIB}/vndk/android.hardware.ir@1.0.so,VNDK,
/system/${LIB}/vndk/android.hardware.keymaster@3.0.so,VNDK,
/system/${LIB}/vndk/android.hardware.light@2.0.so,VNDK,
/system/${LIB}/vndk/android.hardware.media.omx@1.0.so,VNDK,
/system/${LIB}/vndk/android.hardware.media@1.0.so,VNDK,
/system/${LIB}/vndk/android.hardware.memtrack@1.0.so,VNDK,
/system/${LIB}/vndk/android.hardware.neuralnetworks@1.0.so,VNDK,
/system/${LIB}/vndk/android.hardware.nfc@1.0.so,VNDK,
/system/${LIB}/vndk/android.hardware.oemlock@1.0.so,VNDK,
/system/${LIB}/vndk/android.hardware.power@1.0.so,VNDK,
/system/${LIB}/vndk/android.hardware.power@1.1.so,VNDK,
/system/${LIB}/vndk/android.hardware.radio.deprecated@1.0.so,VNDK,
/system/${LIB}/vndk/android.hardware.radio@1.0.so,VNDK,
/system/${LIB}/vndk/android.hardware.radio@1.1.so,VNDK,
/system/${LIB}/vndk/android.hardware.sensors@1.0.so,VNDK,
/system/${LIB}/vndk/android.hardware.soundtrigger@2.0.so,VNDK,
/system/${LIB}/vndk/android.hardware.tests.libhwbinder@1.0.so,VNDK,
/system/${LIB}/vndk/android.hardware.tetheroffload.config@1.0.so,VNDK,
/system/${LIB}/vndk/android.hardware.tetheroffload.control@1.0.so,VNDK,
/system/${LIB}/vndk/android.hardware.thermal@1.0.so,VNDK,
/system/${LIB}/vndk/android.hardware.thermal@1.1.so,VNDK,
/system/${LIB}/vndk/android.hardware.tv.cec@1.0.so,VNDK,
/system/${LIB}/vndk/android.hardware.tv.input@1.0.so,VNDK,
/system/${LIB}/vndk/android.hardware.usb@1.0.so,VNDK,
/system/${LIB}/vndk/android.hardware.usb@1.1.so,VNDK,
/system/${LIB}/vndk/android.hardware.vibrator@1.0.so,VNDK,
/system/${LIB}/vndk/android.hardware.vibrator@1.1.so,VNDK,
/system/${LIB}/vndk/android.hardware.vr@1.0.so,VNDK,
/system/${LIB}/vndk/android.hardware.weaver@1.0.so,VNDK,
/system/${LIB}/vndk/android.hardware.wifi.offload@1.0.so,VNDK,
/system/${LIB}/vndk/android.hardware.wifi.supplicant@1.0.so,VNDK,
/system/${LIB}/vndk/android.hardware.wifi@1.0.so,VNDK,
/system/${LIB}/vndk/android.hardware.wifi@1.1.so,VNDK,
/system/${LIB}/vndk/android.hidl.allocator@1.0.so,VNDK,
/system/${LIB}/vndk/android.hidl.token@1.0-utils.so,VNDK,
/system/${LIB}/vndk/android.hidl.token@1.0.so,VNDK,
/system/${LIB}/vndk/android.system.net.netd@1.0.so,VNDK,
/system/${LIB}/vndk/android.system.wifi.keystore@1.0.so,VNDK,
/system/${LIB}/vndk/libadf.so,VNDK,
/system/${LIB}/vndk/libaudioroute.so,VNDK,
/system/${LIB}/vndk/libaudioutils.so,VNDK,
/system/${LIB}/vndk/libbinder.so,VNDK,
/system/${LIB}/vndk/libcamera_metadata.so,VNDK,
/system/${LIB}/vndk/libcap.so,VNDK,
/system/${LIB}/vndk/libclang_rt.ubsan_standalone-aarch64-android.so,VNDK,
/system/${LIB}/vndk/libclang_rt.ubsan_standalone-arm-android.so,VNDK,
/system/${LIB}/vndk/libclang_rt.ubsan_standalone-i686-android.so,VNDK,
/system/${LIB}/vndk/libclang_rt.ubsan_standalone-mips-android.so,VNDK,
/system/${LIB}/vndk/libclang_rt.ubsan_standalone-mips64-android.so,VNDK,
/system/${LIB}/vndk/libclang_rt.ubsan_standalone-x86_64-android.so,VNDK,
/system/${LIB}/vndk/libcrypto.so,VNDK,
/system/${LIB}/vndk/libcrypto_utils.so,VNDK,
/system/${LIB}/vndk/libcurl.so,VNDK,
/system/${LIB}/vndk/libdiskconfig.so,VNDK,
/system/${LIB}/vndk/libdumpstateutil.so,VNDK,
/system/${LIB}/vndk/libevent.so,VNDK,
/system/${LIB}/vndk/libexif.so,VNDK,
/system/${LIB}/vndk/libexpat.so,VNDK,
/system/${LIB}/vndk/libfmq.so,VNDK,
/system/${LIB}/vndk/libgatekeeper.so,VNDK,
/system/${LIB}/vndk/libgui.so,VNDK,
/system/${LIB}/vndk/libhardware_legacy.so,VNDK,
/system/${LIB}/vndk/libjpeg.so,VNDK,
/system/${LIB}/vndk/libkeymaster_messages.so,VNDK,
/system/${LIB}/vndk/libkeymaster_portable.so,VNDK,
/system/${LIB}/vndk/libkeymaster_staging.so,VNDK,
/system/${LIB}/vndk/libldacBT_abr.so,VNDK,
/system/${LIB}/vndk/libldacBT_enc.so,VNDK,
/system/${LIB}/vndk/liblz4.so,VNDK,
/system/${LIB}/vndk/libmedia_helper.so,VNDK,
/system/${LIB}/vndk/libmedia_omx.so,VNDK,
/system/${LIB}/vndk/libmemtrack.so,VNDK,
/system/${LIB}/vndk/libnetutils.so,VNDK,
/system/${LIB}/vndk/libnl.so,VNDK,
/system/${LIB}/vndk/libopus.so,VNDK,
/system/${LIB}/vndk/libpagemap.so,VNDK,
/system/${LIB}/vndk/libpcre2.so,VNDK,
/system/${LIB}/vndk/libpiex.so,VNDK,
/system/${LIB}/vndk/libpng.so,VNDK,
/system/${LIB}/vndk/libpower.so,VNDK,
/system/${LIB}/vndk/libprocinfo.so,VNDK,
/system/${LIB}/vndk/libprotobuf-cpp-full.so,VNDK,
/system/${LIB}/vndk/libprotobuf-cpp-lite.so,VNDK,
/system/${LIB}/vndk/libradio_metadata.so,VNDK,
/system/${LIB}/vndk/libsoftkeymasterdevice.so,VNDK,
/system/${LIB}/vndk/libspeexresampler.so,VNDK,
/system/${LIB}/vndk/libsqlite.so,VNDK,
/system/${LIB}/vndk/libssl.so,VNDK,
/system/${LIB}/vndk/libstagefright_amrnb_common.so,VNDK,
/system/${LIB}/vndk/libstagefright_enc_common.so,VNDK,
/system/${LIB}/vndk/libstagefright_flacdec.so,VNDK,
/system/${LIB}/vndk/libstagefright_foundation.so,VNDK,
/system/${LIB}/vndk/libstagefright_omx.so,VNDK,
/system/${LIB}/vndk/libstagefright_omx_utils.so,VNDK,
/system/${LIB}/vndk/libstagefright_soft_aacdec.so,VNDK,
/system/${LIB}/vndk/libstagefright_soft_aacenc.so,VNDK,
/system/${LIB}/vndk/libstagefright_soft_amrdec.so,VNDK,
/system/${LIB}/vndk/libstagefright_soft_amrnbenc.so,VNDK,
/system/${LIB}/vndk/libstagefright_soft_amrwbenc.so,VNDK,
/system/${LIB}/vndk/libstagefright_soft_avcdec.so,VNDK,
/system/${LIB}/vndk/libstagefright_soft_avcenc.so,VNDK,
/system/${LIB}/vndk/libstagefright_soft_flacdec.so,VNDK,
/system/${LIB}/vndk/libstagefright_soft_flacenc.so,VNDK,
/system/${LIB}/vndk/libstagefright_soft_g711dec.so,VNDK,
/system/${LIB}/vndk/libstagefright_soft_gsmdec.so,VNDK,
/system/${LIB}/vndk/libstagefright_soft_hevcdec.so,VNDK,
/system/${LIB}/vndk/libstagefright_soft_mp3dec.so,VNDK,
/system/${LIB}/vndk/libstagefright_soft_mpeg2dec.so,VNDK,
/system/${LIB}/vndk/libstagefright_soft_mpeg4dec.so,VNDK,
/system/${LIB}/vndk/libstagefright_soft_mpeg4enc.so,VNDK,
/system/${LIB}/vndk/libstagefright_soft_opusdec.so,VNDK,
/system/${LIB}/vndk/libstagefright_soft_rawdec.so,VNDK,
/system/${LIB}/vndk/libstagefright_soft_vorbisdec.so,VNDK,
/system/${LIB}/vndk/libstagefright_soft_vpxdec.so,VNDK,
/system/${LIB}/vndk/libstagefright_soft_vpxenc.so,VNDK,
/system/${LIB}/vndk/libstagefright_xmlparser.so,VNDK,
/system/${LIB}/vndk/libsuspend.so,VNDK,
/system/${LIB}/vndk/libsysutils.so,VNDK,
/system/${LIB}/vndk/libtinyalsa.so,VNDK,
/system/${LIB}/vndk/libtinyxml2.so,VNDK,
/system/${LIB}/vndk/libui.so,VNDK,
/system/${LIB}/vndk/libusbhost.so,VNDK,
/system/${LIB}/vndk/libvixl-arm.so,VNDK,
/system/${LIB}/vndk/libvixl-arm64.so,VNDK,
/system/${LIB}/vndk/libvorbisidec.so,VNDK,
/system/${LIB}/vndk/libwifi-system-iface.so,VNDK,
/system/${LIB}/vndk/libxml2.so,VNDK,
/system/${LIB}/vndk/libyuv.so,VNDK,
/system/${LIB}/vndk/libziparchive.so,VNDK,
/system/${LIB}/vndk/tests.vendor@1.0.so,VNDK,
/system/${LIB}/vndk/tests.vendor@1.1.so,VNDK,
/vendor/${LIB}/libavservices_minijail_vendor.so,VND-ONLY,Framework module should link libavservices_minijail.so
/vendor/${LIB}/libcld80211.so,VND-ONLY,
/vendor/${LIB}/libeffects.so,VND-ONLY,
/vendor/${LIB}/libhwc2on1adapter.so,VND-ONLY,
/vendor/${LIB}/libminijail_vendor.so,VND-ONLY,Framework module should link libminijail.so
/vendor/${LIB}/libnbaio_mono.so,VND-ONLY,
/vendor/${LIB}/libreference-ril.so,VND-ONLY,
/vendor/${LIB}/libril.so,VND-ONLY,
/vendor/${LIB}/librilutils.so,VND-ONLY,
/vendor/${LIB}/libtinycompress.so,VND-ONLY,
/vendor/${LIB}/libwebrtc_audio_preprocessing.so,VND-ONLY,
/vendor/${LIB}/soundfx/libaudiopreprocessing.so,VND-ONLY,
/vendor/${LIB}/soundfx/libbundlewrapper.so,VND-ONLY,
/vendor/${LIB}/soundfx/libdownmix.so,VND-ONLY,
/vendor/${LIB}/soundfx/libeffectproxy.so,VND-ONLY,
/vendor/${LIB}/soundfx/libldnhncr.so,VND-ONLY,
/vendor/${LIB}/soundfx/libreverbwrapper.so,VND-ONLY,
/vendor/${LIB}/soundfx/libvisualizer.so,VND-ONLY,
1 Path Tag Comments
2 /system/${LIB}/android.frameworks.displayservice@1.0.so VNDK
3 /system/${LIB}/android.frameworks.schedulerservice@1.0.so VNDK
4 /system/${LIB}/android.frameworks.sensorservice@1.0.so VNDK
5 /system/${LIB}/android.frameworks.vr.composer@1.0.so VNDK
6 /system/${LIB}/android.hardware.audio.common@2.0-util.so VNDK
7 /system/${LIB}/android.hardware.audio.common@2.0.so VNDK
8 /system/${LIB}/android.hardware.audio.effect@2.0.so VNDK
9 /system/${LIB}/android.hardware.audio@2.0.so VNDK
10 /system/${LIB}/android.hardware.automotive.evs@1.0.so VNDK
11 /system/${LIB}/android.hardware.automotive.vehicle@2.0.so VNDK
12 /system/${LIB}/android.hardware.biometrics.fingerprint@2.1.so VNDK
13 /system/${LIB}/android.hardware.bluetooth@1.0.so VNDK
14 /system/${LIB}/android.hardware.boot@1.0.so VNDK
15 /system/${LIB}/android.hardware.broadcastradio@1.0.so VNDK
16 /system/${LIB}/android.hardware.broadcastradio@1.1.so VNDK
17 /system/${LIB}/android.hardware.camera.common@1.0.so VNDK
18 /system/${LIB}/android.hardware.camera.device@1.0.so VNDK
19 /system/${LIB}/android.hardware.camera.device@3.2.so VNDK
20 /system/${LIB}/android.hardware.camera.device@3.3.so VNDK
21 /system/${LIB}/android.hardware.camera.metadata@3.2.so VNDK
22 /system/${LIB}/android.hardware.camera.provider@2.4.so VNDK
23 /system/${LIB}/android.hardware.cas.native@1.0.so VNDK
24 /system/${LIB}/android.hardware.cas@1.0.so VNDK
25 /system/${LIB}/android.hardware.configstore-utils.so VNDK
26 /system/${LIB}/android.hardware.configstore@1.0.so VNDK
27 /system/${LIB}/android.hardware.contexthub@1.0.so VNDK
28 /system/${LIB}/android.hardware.drm@1.0.so VNDK
29 /system/${LIB}/android.hardware.dumpstate@1.0.so VNDK
30 /system/${LIB}/android.hardware.gatekeeper@1.0.so VNDK
31 /system/${LIB}/android.hardware.gnss@1.0.so VNDK
32 /system/${LIB}/android.hardware.graphics.allocator@2.0.so VNDK-SP
33 /system/${LIB}/android.hardware.graphics.bufferqueue@1.0.so VNDK
34 /system/${LIB}/android.hardware.graphics.common@1.0.so VNDK-SP
35 /system/${LIB}/android.hardware.graphics.composer@2.1.so VNDK
36 /system/${LIB}/android.hardware.graphics.mapper@2.0.so VNDK-SP
37 /system/${LIB}/android.hardware.health@1.0.so VNDK
38 /system/${LIB}/android.hardware.ir@1.0.so VNDK
39 /system/${LIB}/android.hardware.keymaster@3.0.so VNDK
40 /system/${LIB}/android.hardware.light@2.0.so VNDK
41 /system/${LIB}/android.hardware.media.omx@1.0.so VNDK
42 /system/${LIB}/android.hardware.media@1.0.so VNDK
43 /system/${LIB}/android.hardware.memtrack@1.0.so VNDK
44 /system/${LIB}/android.hardware.neuralnetworks@1.0.so VNDK
45 /system/${LIB}/android.hardware.nfc@1.0.so VNDK
46 /system/${LIB}/android.hardware.oemlock@1.0.so VNDK
47 /system/${LIB}/android.hardware.power@1.0.so VNDK
48 /system/${LIB}/android.hardware.power@1.1.so VNDK
49 /system/${LIB}/android.hardware.radio.deprecated@1.0.so VNDK
50 /system/${LIB}/android.hardware.radio@1.0.so VNDK
51 /system/${LIB}/android.hardware.radio@1.1.so VNDK
52 /system/${LIB}/android.hardware.renderscript@1.0.so VNDK-SP
53 /system/${LIB}/android.hardware.sensors@1.0.so VNDK
54 /system/${LIB}/android.hardware.soundtrigger@2.0.so VNDK
55 /system/${LIB}/android.hardware.tests.libhwbinder@1.0.so VNDK
56 /system/${LIB}/android.hardware.tetheroffload.config@1.0.so VNDK
57 /system/${LIB}/android.hardware.tetheroffload.control@1.0.so VNDK
58 /system/${LIB}/android.hardware.thermal@1.0.so VNDK
59 /system/${LIB}/android.hardware.thermal@1.1.so VNDK
60 /system/${LIB}/android.hardware.tv.cec@1.0.so VNDK
61 /system/${LIB}/android.hardware.tv.input@1.0.so VNDK
62 /system/${LIB}/android.hardware.usb@1.0.so VNDK
63 /system/${LIB}/android.hardware.usb@1.1.so VNDK
64 /system/${LIB}/android.hardware.vibrator@1.0.so VNDK
65 /system/${LIB}/android.hardware.vibrator@1.1.so VNDK
66 /system/${LIB}/android.hardware.vr@1.0.so VNDK
67 /system/${LIB}/android.hardware.weaver@1.0.so VNDK
68 /system/${LIB}/android.hardware.wifi.offload@1.0.so VNDK
69 /system/${LIB}/android.hardware.wifi.supplicant@1.0.so VNDK
70 /system/${LIB}/android.hardware.wifi@1.0.so VNDK
71 /system/${LIB}/android.hardware.wifi@1.1.so VNDK
72 /system/${LIB}/android.hidl.allocator@1.0.so VNDK
73 /system/${LIB}/android.hidl.memory@1.0-impl.so VNDK-SP-Indirect-Private
74 /system/${LIB}/android.hidl.memory@1.0.so VNDK-SP
75 /system/${LIB}/android.hidl.token@1.0-utils.so VNDK
76 /system/${LIB}/android.hidl.token@1.0.so VNDK
77 /system/${LIB}/android.system.net.netd@1.0.so VNDK
78 /system/${LIB}/android.system.wifi.keystore@1.0.so VNDK
79 /system/${LIB}/drm/libfwdlockengine.so FWK-ONLY
80 /system/${LIB}/hw/audio.a2dp.default.so FWK-ONLY
81 /system/${LIB}/hw/bluetooth.default.so FWK-ONLY
82 /system/${LIB}/hw/keystore.default.so FWK-ONLY
83 /system/${LIB}/ld-android.so LL-NDK-Indirect
84 /system/${LIB}/libEGL.so SP-NDK
85 /system/${LIB}/libETC1.so FWK-ONLY
86 /system/${LIB}/libFFTEm.so FWK-ONLY
87 /system/${LIB}/libGLESv1_CM.so SP-NDK
88 /system/${LIB}/libGLESv2.so SP-NDK
89 /system/${LIB}/libGLESv3.so SP-NDK
90 /system/${LIB}/libLLVM.so FWK-ONLY
91 /system/${LIB}/libOpenMAXAL.so FWK-ONLY
92 /system/${LIB}/libOpenSLES.so FWK-ONLY
93 /system/${LIB}/libRS.so LL-NDK
94 /system/${LIB}/libRSCpuRef.so VNDK-SP
95 /system/${LIB}/libRSDriver.so VNDK-SP
96 /system/${LIB}/libRS_internal.so VNDK-SP
97 /system/${LIB}/libRScpp.so FWK-ONLY
98 /system/${LIB}/libWnnEngDic.so FWK-ONLY
99 /system/${LIB}/libWnnJpnDic.so FWK-ONLY
100 /system/${LIB}/libaaudio.so FWK-ONLY
101 /system/${LIB}/libadf.so VNDK
102 /system/${LIB}/libandroid.so FWK-ONLY
103 /system/${LIB}/libandroid_net.so LL-NDK
104 /system/${LIB}/libandroid_runtime.so FWK-ONLY
105 /system/${LIB}/libandroid_servers.so FWK-ONLY
106 /system/${LIB}/libandroidfw.so FWK-ONLY
107 /system/${LIB}/libappfuse.so FWK-ONLY
108 /system/${LIB}/libart-compiler.so FWK-ONLY
109 /system/${LIB}/libart-dexlayout.so FWK-ONLY
110 /system/${LIB}/libart-disassembler.so FWK-ONLY
111 /system/${LIB}/libart.so FWK-ONLY
112 /system/${LIB}/libaudioclient.so FWK-ONLY
113 /system/${LIB}/libaudioeffect_jni.so FWK-ONLY
114 /system/${LIB}/libaudioflinger.so FWK-ONLY
115 /system/${LIB}/libaudiohal.so FWK-ONLY
116 /system/${LIB}/libaudiomanager.so FWK-ONLY
117 /system/${LIB}/libaudiopolicyenginedefault.so FWK-ONLY
118 /system/${LIB}/libaudiopolicymanager.so FWK-ONLY
119 /system/${LIB}/libaudiopolicymanagerdefault.so FWK-ONLY
120 /system/${LIB}/libaudiopolicyservice.so FWK-ONLY
121 /system/${LIB}/libaudioprocessing.so FWK-ONLY
122 /system/${LIB}/libaudioroute.so VNDK
123 /system/${LIB}/libaudiospdif.so FWK-ONLY
124 /system/${LIB}/libaudioutils.so VNDK
125 /system/${LIB}/libavservices_minijail.so FWK-ONLY Vendor module should link libavservices_minijail_vendor.so
126 /system/${LIB}/libbacktrace.so VNDK-SP-Indirect
127 /system/${LIB}/libbase.so VNDK-SP
128 /system/${LIB}/libbatteryservice.so FWK-ONLY
129 /system/${LIB}/libbcc.so FWK-ONLY
130 /system/${LIB}/libbcinfo.so VNDK-SP
131 /system/${LIB}/libbinder.so VNDK
132 /system/${LIB}/libbinderwrapper.so FWK-ONLY
133 /system/${LIB}/libblas.so VNDK-SP-Indirect-Private
134 /system/${LIB}/libbluetooth_jni.so FWK-ONLY
135 /system/${LIB}/libbrillo-binder.so FWK-ONLY
136 /system/${LIB}/libbrillo-stream.so FWK-ONLY
137 /system/${LIB}/libbrillo.so FWK-ONLY
138 /system/${LIB}/libc++.so VNDK-SP
139 /system/${LIB}/libc.so LL-NDK
140 /system/${LIB}/libc_malloc_debug.so LL-NDK-Indirect
141 /system/${LIB}/libcamera2ndk.so FWK-ONLY
142 /system/${LIB}/libcamera_client.so FWK-ONLY
143 /system/${LIB}/libcamera_metadata.so VNDK
144 /system/${LIB}/libcameraservice.so FWK-ONLY
145 /system/${LIB}/libcap.so VNDK
146 /system/${LIB}/libchrome.so FWK-ONLY
147 /system/${LIB}/libclang_rt.ubsan_standalone-aarch64-android.so VNDK
148 /system/${LIB}/libclang_rt.ubsan_standalone-arm-android.so VNDK
149 /system/${LIB}/libclang_rt.ubsan_standalone-i686-android.so VNDK
150 /system/${LIB}/libclang_rt.ubsan_standalone-mips-android.so VNDK
151 /system/${LIB}/libclang_rt.ubsan_standalone-mips64-android.so VNDK
152 /system/${LIB}/libclang_rt.ubsan_standalone-x86_64-android.so VNDK
153 /system/${LIB}/libcompiler_rt.so VNDK-SP-Indirect-Private
154 /system/${LIB}/libcrypto.so VNDK
155 /system/${LIB}/libcrypto_utils.so VNDK
156 /system/${LIB}/libcups.so FWK-ONLY
157 /system/${LIB}/libcurl.so VNDK
158 /system/${LIB}/libcutils.so VNDK-SP
159 /system/${LIB}/libdebuggerd_client.so FWK-ONLY
160 /system/${LIB}/libdefcontainer_jni.so FWK-ONLY
161 /system/${LIB}/libdiskconfig.so VNDK
162 /system/${LIB}/libdl.so LL-NDK
163 /system/${LIB}/libdng_sdk.so FWK-ONLY
164 /system/${LIB}/libdrmframework.so FWK-ONLY
165 /system/${LIB}/libdrmframework_jni.so FWK-ONLY
166 /system/${LIB}/libdumpstateaidl.so FWK-ONLY
167 /system/${LIB}/libdumpstateutil.so VNDK
168 /system/${LIB}/libevent.so VNDK
169 /system/${LIB}/libexif.so VNDK
170 /system/${LIB}/libexpat.so VNDK
171 /system/${LIB}/libext2_blkid.so FWK-ONLY
172 /system/${LIB}/libext2_com_err.so FWK-ONLY
173 /system/${LIB}/libext2_e2p.so FWK-ONLY
174 /system/${LIB}/libext2_quota.so FWK-ONLY
175 /system/${LIB}/libext2_uuid.so FWK-ONLY
176 /system/${LIB}/libext2fs.so FWK-ONLY
177 /system/${LIB}/libext4_utils.so FWK-ONLY
178 /system/${LIB}/libf2fs_sparseblock.so FWK-ONLY
179 /system/${LIB}/libfilterfw.so FWK-ONLY
180 /system/${LIB}/libfilterpack_imageproc.so FWK-ONLY
181 /system/${LIB}/libfmq.so VNDK
182 /system/${LIB}/libframesequence.so FWK-ONLY
183 /system/${LIB}/libft2.so FWK-ONLY-RS
184 /system/${LIB}/libgatekeeper.so VNDK
185 /system/${LIB}/libgiftranscode.so FWK-ONLY
186 /system/${LIB}/libgui.so VNDK
187 /system/${LIB}/libhardware.so VNDK-SP
188 /system/${LIB}/libhardware_legacy.so VNDK
189 /system/${LIB}/libharfbuzz_ng.so FWK-ONLY
190 /system/${LIB}/libhidcommand_jni.so FWK-ONLY
191 /system/${LIB}/libhidl-gen-utils.so FWK-ONLY
192 /system/${LIB}/libhidlbase.so VNDK-SP
193 /system/${LIB}/libhidlmemory.so VNDK-SP
194 /system/${LIB}/libhidltransport.so VNDK-SP
195 /system/${LIB}/libhwbinder.so VNDK-SP
196 /system/${LIB}/libhwui.so FWK-ONLY
197 /system/${LIB}/libicui18n.so FWK-ONLY
198 /system/${LIB}/libicuuc.so FWK-ONLY
199 /system/${LIB}/libimg_utils.so FWK-ONLY
200 /system/${LIB}/libincident.so FWK-ONLY
201 /system/${LIB}/libinput.so FWK-ONLY
202 /system/${LIB}/libinputflinger.so FWK-ONLY
203 /system/${LIB}/libinputservice.so FWK-ONLY
204 /system/${LIB}/libion.so VNDK-SP
205 /system/${LIB}/libiperf.so FWK-ONLY
206 /system/${LIB}/libiprouteutil.so FWK-ONLY
207 /system/${LIB}/libjavacore.so FWK-ONLY
208 /system/${LIB}/libjavacrypto.so FWK-ONLY
209 /system/${LIB}/libjni_eglfence.so FWK-ONLY
210 /system/${LIB}/libjni_filtershow_filters.so FWK-ONLY
211 /system/${LIB}/libjni_jpegstream.so FWK-ONLY
212 /system/${LIB}/libjni_jpegutil.so FWK-ONLY
213 /system/${LIB}/libjni_latinime.so FWK-ONLY
214 /system/${LIB}/libjni_pacprocessor.so FWK-ONLY
215 /system/${LIB}/libjni_tinyplanet.so FWK-ONLY
216 /system/${LIB}/libjnigraphics.so FWK-ONLY
217 /system/${LIB}/libjpeg.so VNDK
218 /system/${LIB}/libkeymaster_messages.so VNDK
219 /system/${LIB}/libkeymaster_portable.so VNDK
220 /system/${LIB}/libkeymaster_staging.so VNDK
221 /system/${LIB}/libkeystore-engine.so FWK-ONLY
222 /system/${LIB}/libkeystore_binder.so FWK-ONLY
223 /system/${LIB}/libldacBT_abr.so VNDK
224 /system/${LIB}/libldacBT_enc.so VNDK
225 /system/${LIB}/liblog.so LL-NDK
226 /system/${LIB}/liblogcat.so FWK-ONLY
227 /system/${LIB}/liblogwrap.so FWK-ONLY
228 /system/${LIB}/liblz4.so VNDK
229 /system/${LIB}/liblzma.so VNDK-SP-Indirect
230 /system/${LIB}/libm.so LL-NDK
231 /system/${LIB}/libmdnssd.so FWK-ONLY
232 /system/${LIB}/libmedia.so FWK-ONLY
233 /system/${LIB}/libmedia_helper.so VNDK
234 /system/${LIB}/libmedia_jni.so FWK-ONLY
235 /system/${LIB}/libmedia_omx.so VNDK
236 /system/${LIB}/libmediadrm.so FWK-ONLY
237 /system/${LIB}/libmediaextractorservice.so FWK-ONLY
238 /system/${LIB}/libmedialogservice.so FWK-ONLY
239 /system/${LIB}/libmediametrics.so FWK-ONLY
240 /system/${LIB}/libmediandk.so FWK-ONLY-RS
241 /system/${LIB}/libmediautils.so FWK-ONLY
242 /system/${LIB}/libmemtrack.so VNDK
243 /system/${LIB}/libmemunreachable.so FWK-ONLY
244 /system/${LIB}/libmetricslogger.so FWK-ONLY
245 /system/${LIB}/libmidi.so FWK-ONLY
246 /system/${LIB}/libminijail.so FWK-ONLY Vendor module should link libminijail_vendor.so
247 /system/${LIB}/libminikin.so FWK-ONLY
248 /system/${LIB}/libmtp.so FWK-ONLY
249 /system/${LIB}/libnativebridge.so FWK-ONLY
250 /system/${LIB}/libnativehelper.so FWK-ONLY
251 /system/${LIB}/libnativeloader.so FWK-ONLY
252 /system/${LIB}/libnativewindow.so SP-NDK
253 /system/${LIB}/libnbaio.so FWK-ONLY Vendor module should link libnbaio_mono.so
254 /system/${LIB}/libnetd_client.so LL-NDK-Indirect
255 /system/${LIB}/libnetdaidl.so FWK-ONLY
256 /system/${LIB}/libnetlink.so FWK-ONLY
257 /system/${LIB}/libnetutils.so VNDK
258 /system/${LIB}/libnl.so VNDK
259 /system/${LIB}/libopenjdk.so FWK-ONLY
260 /system/${LIB}/libopenjdkjvm.so FWK-ONLY
261 /system/${LIB}/libopenjdkjvmti.so FWK-ONLY
262 /system/${LIB}/libopus.so VNDK
263 /system/${LIB}/libpac.so FWK-ONLY
264 /system/${LIB}/libpackagelistparser.so FWK-ONLY
265 /system/${LIB}/libpagemap.so VNDK
266 /system/${LIB}/libpcap.so FWK-ONLY
267 /system/${LIB}/libpcre2.so VNDK
268 /system/${LIB}/libpcrecpp.so FWK-ONLY
269 /system/${LIB}/libpdfium.so FWK-ONLY
270 /system/${LIB}/libpiex.so VNDK
271 /system/${LIB}/libpixelflinger.so FWK-ONLY
272 /system/${LIB}/libpng.so VNDK
273 /system/${LIB}/libpower.so VNDK
274 /system/${LIB}/libpowermanager.so FWK-ONLY
275 /system/${LIB}/libprintspooler_jni.so FWK-ONLY
276 /system/${LIB}/libprocessgroup.so FWK-ONLY
277 /system/${LIB}/libprocinfo.so VNDK
278 /system/${LIB}/libprotobuf-cpp-full.so VNDK
279 /system/${LIB}/libprotobuf-cpp-lite.so VNDK
280 /system/${LIB}/libradio_metadata.so VNDK
281 /system/${LIB}/librs_jni.so FWK-ONLY
282 /system/${LIB}/librtp_jni.so FWK-ONLY
283 /system/${LIB}/libschedulerservicehidl.so FWK-ONLY
284 /system/${LIB}/libselinux.so FWK-ONLY
285 /system/${LIB}/libsensor.so FWK-ONLY
286 /system/${LIB}/libsensorservice.so FWK-ONLY
287 /system/${LIB}/libsensorservicehidl.so FWK-ONLY
288 /system/${LIB}/libservices.so FWK-ONLY
289 /system/${LIB}/libserviceutility.so FWK-ONLY
290 /system/${LIB}/libsigchain.so FWK-ONLY
291 /system/${LIB}/libskia.so FWK-ONLY
292 /system/${LIB}/libsoftkeymaster.so FWK-ONLY
293 /system/${LIB}/libsoftkeymasterdevice.so VNDK
294 /system/${LIB}/libsonic.so FWK-ONLY
295 /system/${LIB}/libsonivox.so FWK-ONLY
296 /system/${LIB}/libsoundpool.so FWK-ONLY
297 /system/${LIB}/libsoundtrigger.so FWK-ONLY
298 /system/${LIB}/libsoundtriggerservice.so FWK-ONLY
299 /system/${LIB}/libsparse.so FWK-ONLY
300 /system/${LIB}/libspeexresampler.so VNDK
301 /system/${LIB}/libsqlite.so VNDK
302 /system/${LIB}/libssl.so VNDK
303 /system/${LIB}/libstagefright.so FWK-ONLY
304 /system/${LIB}/libstagefright_amrnb_common.so VNDK
305 /system/${LIB}/libstagefright_enc_common.so VNDK
306 /system/${LIB}/libstagefright_flacdec.so VNDK
307 /system/${LIB}/libstagefright_foundation.so VNDK
308 /system/${LIB}/libstagefright_http_support.so FWK-ONLY
309 /system/${LIB}/libstagefright_omx.so VNDK
310 /system/${LIB}/libstagefright_omx_utils.so VNDK
311 /system/${LIB}/libstagefright_soft_aacdec.so VNDK
312 /system/${LIB}/libstagefright_soft_aacenc.so VNDK
313 /system/${LIB}/libstagefright_soft_amrdec.so VNDK
314 /system/${LIB}/libstagefright_soft_amrnbenc.so VNDK
315 /system/${LIB}/libstagefright_soft_amrwbenc.so VNDK
316 /system/${LIB}/libstagefright_soft_avcdec.so VNDK
317 /system/${LIB}/libstagefright_soft_avcenc.so VNDK
318 /system/${LIB}/libstagefright_soft_flacdec.so VNDK
319 /system/${LIB}/libstagefright_soft_flacenc.so VNDK
320 /system/${LIB}/libstagefright_soft_g711dec.so VNDK
321 /system/${LIB}/libstagefright_soft_gsmdec.so VNDK
322 /system/${LIB}/libstagefright_soft_hevcdec.so VNDK
323 /system/${LIB}/libstagefright_soft_mp3dec.so VNDK
324 /system/${LIB}/libstagefright_soft_mpeg2dec.so VNDK
325 /system/${LIB}/libstagefright_soft_mpeg4dec.so VNDK
326 /system/${LIB}/libstagefright_soft_mpeg4enc.so VNDK
327 /system/${LIB}/libstagefright_soft_opusdec.so VNDK
328 /system/${LIB}/libstagefright_soft_rawdec.so VNDK
329 /system/${LIB}/libstagefright_soft_vorbisdec.so VNDK
330 /system/${LIB}/libstagefright_soft_vpxdec.so VNDK
331 /system/${LIB}/libstagefright_soft_vpxenc.so VNDK
332 /system/${LIB}/libstagefright_xmlparser.so VNDK
333 /system/${LIB}/libstdc++.so FWK-ONLY
334 /system/${LIB}/libsurfaceflinger.so FWK-ONLY
335 /system/${LIB}/libsurfaceflinger_ddmconnection.so FWK-ONLY
336 /system/${LIB}/libsuspend.so VNDK
337 /system/${LIB}/libsync.so SP-NDK
338 /system/${LIB}/libsysutils.so VNDK
339 /system/${LIB}/libtextclassifier.so FWK-ONLY
340 /system/${LIB}/libtinyalsa.so VNDK
341 /system/${LIB}/libtinyxml2.so VNDK
342 /system/${LIB}/libui.so VNDK
343 /system/${LIB}/libunwind.so VNDK-SP-Indirect
344 /system/${LIB}/libunwindstack.so VNDK-SP-Indirect
345 /system/${LIB}/libusbhost.so VNDK
346 /system/${LIB}/libutils.so VNDK-SP
347 /system/${LIB}/libvintf.so FWK-ONLY
348 /system/${LIB}/libvixl-arm.so VNDK
349 /system/${LIB}/libvixl-arm64.so VNDK
350 /system/${LIB}/libvndksupport.so LL-NDK
351 /system/${LIB}/libvorbisidec.so VNDK
352 /system/${LIB}/libvulkan.so SP-NDK
353 /system/${LIB}/libwebviewchromium_loader.so FWK-ONLY
354 /system/${LIB}/libwebviewchromium_plat_support.so FWK-ONLY
355 /system/${LIB}/libwfds.so FWK-ONLY
356 /system/${LIB}/libwifi-service.so FWK-ONLY
357 /system/${LIB}/libwifi-system-iface.so VNDK
358 /system/${LIB}/libwifi-system.so FWK-ONLY
359 /system/${LIB}/libwifikeystorehal.so FWK-ONLY
360 /system/${LIB}/libwilhelm.so FWK-ONLY
361 /system/${LIB}/libwnndict.so FWK-ONLY
362 /system/${LIB}/libxml2.so VNDK
363 /system/${LIB}/libyuv.so VNDK
364 /system/${LIB}/libz.so VNDK-SP
365 /system/${LIB}/libziparchive.so VNDK
366 /system/${LIB}/tests.vendor@1.0.so VNDK
367 /system/${LIB}/tests.vendor@1.1.so VNDK
368 /system/${LIB}/vndk-sp/android.hardware.graphics.allocator@2.0.so VNDK-SP
369 /system/${LIB}/vndk-sp/android.hardware.graphics.common@1.0.so VNDK-SP
370 /system/${LIB}/vndk-sp/android.hardware.graphics.mapper@2.0.so VNDK-SP
371 /system/${LIB}/vndk-sp/android.hardware.renderscript@1.0.so VNDK-SP
372 /system/${LIB}/vndk-sp/android.hidl.memory@1.0-impl.so VNDK-SP-Indirect-Private
373 /system/${LIB}/vndk-sp/android.hidl.memory@1.0.so VNDK-SP
374 /system/${LIB}/vndk-sp/libRSCpuRef.so VNDK-SP
375 /system/${LIB}/vndk-sp/libRSDriver.so VNDK-SP
376 /system/${LIB}/vndk-sp/libRS_internal.so VNDK-SP
377 /system/${LIB}/vndk-sp/libbacktrace.so VNDK-SP-Indirect
378 /system/${LIB}/vndk-sp/libbase.so VNDK-SP
379 /system/${LIB}/vndk-sp/libbcinfo.so VNDK-SP
380 /system/${LIB}/vndk-sp/libblas.so VNDK-SP-Indirect-Private
381 /system/${LIB}/vndk-sp/libc++.so VNDK-SP
382 /system/${LIB}/vndk-sp/libcompiler_rt.so VNDK-SP-Indirect-Private
383 /system/${LIB}/vndk-sp/libcutils.so VNDK-SP
384 /system/${LIB}/vndk-sp/libhardware.so VNDK-SP
385 /system/${LIB}/vndk-sp/libhidlbase.so VNDK-SP
386 /system/${LIB}/vndk-sp/libhidlmemory.so VNDK-SP
387 /system/${LIB}/vndk-sp/libhidltransport.so VNDK-SP
388 /system/${LIB}/vndk-sp/libhwbinder.so VNDK-SP
389 /system/${LIB}/vndk-sp/libion.so VNDK-SP
390 /system/${LIB}/vndk-sp/liblzma.so VNDK-SP-Indirect
391 /system/${LIB}/vndk-sp/libunwind.so VNDK-SP-Indirect
392 /system/${LIB}/vndk-sp/libunwindstack.so VNDK-SP-Indirect
393 /system/${LIB}/vndk-sp/libutils.so VNDK-SP
394 /system/${LIB}/vndk-sp/libz.so VNDK-SP
395 /system/${LIB}/vndk/android.frameworks.displayservice@1.0.so VNDK
396 /system/${LIB}/vndk/android.frameworks.schedulerservice@1.0.so VNDK
397 /system/${LIB}/vndk/android.frameworks.sensorservice@1.0.so VNDK
398 /system/${LIB}/vndk/android.frameworks.vr.composer@1.0.so VNDK
399 /system/${LIB}/vndk/android.hardware.audio.common@2.0-util.so VNDK
400 /system/${LIB}/vndk/android.hardware.audio.common@2.0.so VNDK
401 /system/${LIB}/vndk/android.hardware.audio.effect@2.0.so VNDK
402 /system/${LIB}/vndk/android.hardware.audio@2.0.so VNDK
403 /system/${LIB}/vndk/android.hardware.automotive.evs@1.0.so VNDK
404 /system/${LIB}/vndk/android.hardware.automotive.vehicle@2.0.so VNDK
405 /system/${LIB}/vndk/android.hardware.biometrics.fingerprint@2.1.so VNDK
406 /system/${LIB}/vndk/android.hardware.bluetooth@1.0.so VNDK
407 /system/${LIB}/vndk/android.hardware.boot@1.0.so VNDK
408 /system/${LIB}/vndk/android.hardware.broadcastradio@1.0.so VNDK
409 /system/${LIB}/vndk/android.hardware.broadcastradio@1.1.so VNDK
410 /system/${LIB}/vndk/android.hardware.camera.common@1.0.so VNDK
411 /system/${LIB}/vndk/android.hardware.camera.device@1.0.so VNDK
412 /system/${LIB}/vndk/android.hardware.camera.device@3.2.so VNDK
413 /system/${LIB}/vndk/android.hardware.camera.device@3.3.so VNDK
414 /system/${LIB}/vndk/android.hardware.camera.metadata@3.2.so VNDK
415 /system/${LIB}/vndk/android.hardware.camera.provider@2.4.so VNDK
416 /system/${LIB}/vndk/android.hardware.cas.native@1.0.so VNDK
417 /system/${LIB}/vndk/android.hardware.cas@1.0.so VNDK
418 /system/${LIB}/vndk/android.hardware.configstore-utils.so VNDK
419 /system/${LIB}/vndk/android.hardware.configstore@1.0.so VNDK
420 /system/${LIB}/vndk/android.hardware.contexthub@1.0.so VNDK
421 /system/${LIB}/vndk/android.hardware.drm@1.0.so VNDK
422 /system/${LIB}/vndk/android.hardware.dumpstate@1.0.so VNDK
423 /system/${LIB}/vndk/android.hardware.gatekeeper@1.0.so VNDK
424 /system/${LIB}/vndk/android.hardware.gnss@1.0.so VNDK
425 /system/${LIB}/vndk/android.hardware.graphics.bufferqueue@1.0.so VNDK
426 /system/${LIB}/vndk/android.hardware.graphics.composer@2.1.so VNDK
427 /system/${LIB}/vndk/android.hardware.health@1.0.so VNDK
428 /system/${LIB}/vndk/android.hardware.ir@1.0.so VNDK
429 /system/${LIB}/vndk/android.hardware.keymaster@3.0.so VNDK
430 /system/${LIB}/vndk/android.hardware.light@2.0.so VNDK
431 /system/${LIB}/vndk/android.hardware.media.omx@1.0.so VNDK
432 /system/${LIB}/vndk/android.hardware.media@1.0.so VNDK
433 /system/${LIB}/vndk/android.hardware.memtrack@1.0.so VNDK
434 /system/${LIB}/vndk/android.hardware.neuralnetworks@1.0.so VNDK
435 /system/${LIB}/vndk/android.hardware.nfc@1.0.so VNDK
436 /system/${LIB}/vndk/android.hardware.oemlock@1.0.so VNDK
437 /system/${LIB}/vndk/android.hardware.power@1.0.so VNDK
438 /system/${LIB}/vndk/android.hardware.power@1.1.so VNDK
439 /system/${LIB}/vndk/android.hardware.radio.deprecated@1.0.so VNDK
440 /system/${LIB}/vndk/android.hardware.radio@1.0.so VNDK
441 /system/${LIB}/vndk/android.hardware.radio@1.1.so VNDK
442 /system/${LIB}/vndk/android.hardware.sensors@1.0.so VNDK
443 /system/${LIB}/vndk/android.hardware.soundtrigger@2.0.so VNDK
444 /system/${LIB}/vndk/android.hardware.tests.libhwbinder@1.0.so VNDK
445 /system/${LIB}/vndk/android.hardware.tetheroffload.config@1.0.so VNDK
446 /system/${LIB}/vndk/android.hardware.tetheroffload.control@1.0.so VNDK
447 /system/${LIB}/vndk/android.hardware.thermal@1.0.so VNDK
448 /system/${LIB}/vndk/android.hardware.thermal@1.1.so VNDK
449 /system/${LIB}/vndk/android.hardware.tv.cec@1.0.so VNDK
450 /system/${LIB}/vndk/android.hardware.tv.input@1.0.so VNDK
451 /system/${LIB}/vndk/android.hardware.usb@1.0.so VNDK
452 /system/${LIB}/vndk/android.hardware.usb@1.1.so VNDK
453 /system/${LIB}/vndk/android.hardware.vibrator@1.0.so VNDK
454 /system/${LIB}/vndk/android.hardware.vibrator@1.1.so VNDK
455 /system/${LIB}/vndk/android.hardware.vr@1.0.so VNDK
456 /system/${LIB}/vndk/android.hardware.weaver@1.0.so VNDK
457 /system/${LIB}/vndk/android.hardware.wifi.offload@1.0.so VNDK
458 /system/${LIB}/vndk/android.hardware.wifi.supplicant@1.0.so VNDK
459 /system/${LIB}/vndk/android.hardware.wifi@1.0.so VNDK
460 /system/${LIB}/vndk/android.hardware.wifi@1.1.so VNDK
461 /system/${LIB}/vndk/android.hidl.allocator@1.0.so VNDK
462 /system/${LIB}/vndk/android.hidl.token@1.0-utils.so VNDK
463 /system/${LIB}/vndk/android.hidl.token@1.0.so VNDK
464 /system/${LIB}/vndk/android.system.net.netd@1.0.so VNDK
465 /system/${LIB}/vndk/android.system.wifi.keystore@1.0.so VNDK
466 /system/${LIB}/vndk/libadf.so VNDK
467 /system/${LIB}/vndk/libaudioroute.so VNDK
468 /system/${LIB}/vndk/libaudioutils.so VNDK
469 /system/${LIB}/vndk/libbinder.so VNDK
470 /system/${LIB}/vndk/libcamera_metadata.so VNDK
471 /system/${LIB}/vndk/libcap.so VNDK
472 /system/${LIB}/vndk/libclang_rt.ubsan_standalone-aarch64-android.so VNDK
473 /system/${LIB}/vndk/libclang_rt.ubsan_standalone-arm-android.so VNDK
474 /system/${LIB}/vndk/libclang_rt.ubsan_standalone-i686-android.so VNDK
475 /system/${LIB}/vndk/libclang_rt.ubsan_standalone-mips-android.so VNDK
476 /system/${LIB}/vndk/libclang_rt.ubsan_standalone-mips64-android.so VNDK
477 /system/${LIB}/vndk/libclang_rt.ubsan_standalone-x86_64-android.so VNDK
478 /system/${LIB}/vndk/libcrypto.so VNDK
479 /system/${LIB}/vndk/libcrypto_utils.so VNDK
480 /system/${LIB}/vndk/libcurl.so VNDK
481 /system/${LIB}/vndk/libdiskconfig.so VNDK
482 /system/${LIB}/vndk/libdumpstateutil.so VNDK
483 /system/${LIB}/vndk/libevent.so VNDK
484 /system/${LIB}/vndk/libexif.so VNDK
485 /system/${LIB}/vndk/libexpat.so VNDK
486 /system/${LIB}/vndk/libfmq.so VNDK
487 /system/${LIB}/vndk/libgatekeeper.so VNDK
488 /system/${LIB}/vndk/libgui.so VNDK
489 /system/${LIB}/vndk/libhardware_legacy.so VNDK
490 /system/${LIB}/vndk/libjpeg.so VNDK
491 /system/${LIB}/vndk/libkeymaster_messages.so VNDK
492 /system/${LIB}/vndk/libkeymaster_portable.so VNDK
493 /system/${LIB}/vndk/libkeymaster_staging.so VNDK
494 /system/${LIB}/vndk/libldacBT_abr.so VNDK
495 /system/${LIB}/vndk/libldacBT_enc.so VNDK
496 /system/${LIB}/vndk/liblz4.so VNDK
497 /system/${LIB}/vndk/libmedia_helper.so VNDK
498 /system/${LIB}/vndk/libmedia_omx.so VNDK
499 /system/${LIB}/vndk/libmemtrack.so VNDK
500 /system/${LIB}/vndk/libnetutils.so VNDK
501 /system/${LIB}/vndk/libnl.so VNDK
502 /system/${LIB}/vndk/libopus.so VNDK
503 /system/${LIB}/vndk/libpagemap.so VNDK
504 /system/${LIB}/vndk/libpcre2.so VNDK
505 /system/${LIB}/vndk/libpiex.so VNDK
506 /system/${LIB}/vndk/libpng.so VNDK
507 /system/${LIB}/vndk/libpower.so VNDK
508 /system/${LIB}/vndk/libprocinfo.so VNDK
509 /system/${LIB}/vndk/libprotobuf-cpp-full.so VNDK
510 /system/${LIB}/vndk/libprotobuf-cpp-lite.so VNDK
511 /system/${LIB}/vndk/libradio_metadata.so VNDK
512 /system/${LIB}/vndk/libsoftkeymasterdevice.so VNDK
513 /system/${LIB}/vndk/libspeexresampler.so VNDK
514 /system/${LIB}/vndk/libsqlite.so VNDK
515 /system/${LIB}/vndk/libssl.so VNDK
516 /system/${LIB}/vndk/libstagefright_amrnb_common.so VNDK
517 /system/${LIB}/vndk/libstagefright_enc_common.so VNDK
518 /system/${LIB}/vndk/libstagefright_flacdec.so VNDK
519 /system/${LIB}/vndk/libstagefright_foundation.so VNDK
520 /system/${LIB}/vndk/libstagefright_omx.so VNDK
521 /system/${LIB}/vndk/libstagefright_omx_utils.so VNDK
522 /system/${LIB}/vndk/libstagefright_soft_aacdec.so VNDK
523 /system/${LIB}/vndk/libstagefright_soft_aacenc.so VNDK
524 /system/${LIB}/vndk/libstagefright_soft_amrdec.so VNDK
525 /system/${LIB}/vndk/libstagefright_soft_amrnbenc.so VNDK
526 /system/${LIB}/vndk/libstagefright_soft_amrwbenc.so VNDK
527 /system/${LIB}/vndk/libstagefright_soft_avcdec.so VNDK
528 /system/${LIB}/vndk/libstagefright_soft_avcenc.so VNDK
529 /system/${LIB}/vndk/libstagefright_soft_flacdec.so VNDK
530 /system/${LIB}/vndk/libstagefright_soft_flacenc.so VNDK
531 /system/${LIB}/vndk/libstagefright_soft_g711dec.so VNDK
532 /system/${LIB}/vndk/libstagefright_soft_gsmdec.so VNDK
533 /system/${LIB}/vndk/libstagefright_soft_hevcdec.so VNDK
534 /system/${LIB}/vndk/libstagefright_soft_mp3dec.so VNDK
535 /system/${LIB}/vndk/libstagefright_soft_mpeg2dec.so VNDK
536 /system/${LIB}/vndk/libstagefright_soft_mpeg4dec.so VNDK
537 /system/${LIB}/vndk/libstagefright_soft_mpeg4enc.so VNDK
538 /system/${LIB}/vndk/libstagefright_soft_opusdec.so VNDK
539 /system/${LIB}/vndk/libstagefright_soft_rawdec.so VNDK
540 /system/${LIB}/vndk/libstagefright_soft_vorbisdec.so VNDK
541 /system/${LIB}/vndk/libstagefright_soft_vpxdec.so VNDK
542 /system/${LIB}/vndk/libstagefright_soft_vpxenc.so VNDK
543 /system/${LIB}/vndk/libstagefright_xmlparser.so VNDK
544 /system/${LIB}/vndk/libsuspend.so VNDK
545 /system/${LIB}/vndk/libsysutils.so VNDK
546 /system/${LIB}/vndk/libtinyalsa.so VNDK
547 /system/${LIB}/vndk/libtinyxml2.so VNDK
548 /system/${LIB}/vndk/libui.so VNDK
549 /system/${LIB}/vndk/libusbhost.so VNDK
550 /system/${LIB}/vndk/libvixl-arm.so VNDK
551 /system/${LIB}/vndk/libvixl-arm64.so VNDK
552 /system/${LIB}/vndk/libvorbisidec.so VNDK
553 /system/${LIB}/vndk/libwifi-system-iface.so VNDK
554 /system/${LIB}/vndk/libxml2.so VNDK
555 /system/${LIB}/vndk/libyuv.so VNDK
556 /system/${LIB}/vndk/libziparchive.so VNDK
557 /system/${LIB}/vndk/tests.vendor@1.0.so VNDK
558 /system/${LIB}/vndk/tests.vendor@1.1.so VNDK
559 /vendor/${LIB}/libavservices_minijail_vendor.so VND-ONLY Framework module should link libavservices_minijail.so
560 /vendor/${LIB}/libcld80211.so VND-ONLY
561 /vendor/${LIB}/libeffects.so VND-ONLY
562 /vendor/${LIB}/libhwc2on1adapter.so VND-ONLY
563 /vendor/${LIB}/libminijail_vendor.so VND-ONLY Framework module should link libminijail.so
564 /vendor/${LIB}/libnbaio_mono.so VND-ONLY
565 /vendor/${LIB}/libreference-ril.so VND-ONLY
566 /vendor/${LIB}/libril.so VND-ONLY
567 /vendor/${LIB}/librilutils.so VND-ONLY
568 /vendor/${LIB}/libtinycompress.so VND-ONLY
569 /vendor/${LIB}/libwebrtc_audio_preprocessing.so VND-ONLY
570 /vendor/${LIB}/soundfx/libaudiopreprocessing.so VND-ONLY
571 /vendor/${LIB}/soundfx/libbundlewrapper.so VND-ONLY
572 /vendor/${LIB}/soundfx/libdownmix.so VND-ONLY
573 /vendor/${LIB}/soundfx/libeffectproxy.so VND-ONLY
574 /vendor/${LIB}/soundfx/libldnhncr.so VND-ONLY
575 /vendor/${LIB}/soundfx/libreverbwrapper.so VND-ONLY
576 /vendor/${LIB}/soundfx/libvisualizer.so VND-ONLY